The core of the problem
A certain recurrence can be observed in the construction of dynamic content that appears on a website. They almost always include a textual body enhanced with images and possibly supporting html format, a reference photo ( displayed as a thumbnail), an author, a creation date, a checkbox to indicate whether the content can be published or is still under review.
This basic element or object corresponds to a node in Drupal. It is fundamental and can be modified according to your needs. A node will be the article of a blog, the product of an e-shop, the book of a library or the reference of a portfolio.
Static content (address, welcome message, etc.) is also organised in page type nodes... Once a new type of node has been created, for example the "book" type, we very quickly find the need to add more specific fields. To do this, we install one of the many modules available free of charge (CCK) and add an additional text field to specify the publisher of the book, for example, or an image field to display the author's photo.
Version 6 is already very mature with over 7000 existing modules. To give another example, the "views" module will also be integrated into the core in the next distribution. Views makes it possible to build the most complex SQL queries in a few moments without having to write any code. It is then very easy to present the result, to format it with pagination and to browse the elements (nodes) by ajax requests without reloading the page. Views can be used to populate pages, simple inserts or search forms.
Features to infinity... and beyond
To build an insert (block) that displays the archives of a blog, a few clicks are enough in the views module. There is also an existing "archive" view that you just need to activate. This saves a lot of time and allows the development of a site to go much further for the same budget. You can then devote yourself to more interesting tasks such as integration with social networks (although there are modules for that too ....)
- Easy Framework...We've all played with legos: One of Drupal's strengths is also that it has built the CMS architecture to be modular while preserving the integrity of the source code. It is therefore possible to interact with all the modules through small functions called hooks, created for this purpose. Drupal becomes a real framework for developers.
- Access rights and multisites: Flexibility like no other: Drupal also manages access rights in a very flexible way (by type of content - node, according to users, their roles, or communities). It allows you to easily set up the mechanisms necessary for content editing, revision, moderation or any other publication workflow. Drupal is a 100% multilingual system with modules that facilitate the work of online translators. Finally, it is possible to run multiple sites on a single installation, making it easy to update modules.
- Classification of content by tags (Taxonomy): The categorisation of content (node) is based on taxonomy (a global concept encompassing tagging, hierarchical categorisation, etc.). This applies equally to the products of an e-shop to constitute a catalogue, as to the categories of the articles of a blog and it allows to easily build a tag cloud (tagclouds).
- Easy referencing: It has all the assets for referencing (automated or manual URL rewriting, respect of xhtml standards, automatic sitemap generation, automatic meta-tags, etc.). ).
- Custom design: Designers will not be left out. A theme system gives full control over the appearance of the site. The layer of abstraction between the data and its presentation keeps it independent of each other.