Around two weeks ago, I wrote a post about Drupal CMS: History, Marketshare, Features, Module, and Uses. Now, with a strong understanding of how Drupal web developers use Drupal features, I am left with to discuss Content Models in Drupal.
Content modeling is a process where you identify your organization’s requirements, then develop a taxonomy or a classification system to meet those requirements, and consider where the metadata should be allowed.
"The content model usually specifies how the information is organized."
Here are a few lessons CMS Website Services, a top company of Drupal web development in USA have learned over the past years while building Drupal-powered sites and apps. And I am going to elaborate on each one by one briefly.
A widespread mistake Drupal developers do is using a content type to represent photos, videos, etc. that are associated with the other pieces of content. This begins with the poor support for media management available within the system.
Developers give direct access to a file directory on the server for the site administrators to upload and manage images, video, that was less than elegant.
The alternative was to create a new content type for photos, videos, etc., then use node reference fields and let users add those assets to a node. The downside to this is you now have hundreds and thousands of individual nodes that represent a field on a content type.
With the introduction of different entities in Drupal and the release of Media modules, media management in Drupal became better. We use the Media module because it removes all clusters of nodes representing assets within the content administration and creates a friendly interface to view, edit, and delete media files.
Taxonomy vocabularies categorize content, but not represent content. It seems like a no-brainer! However, we have come across several websites in Drupal web development company in USA that use taxonomy to create content types.
A good thumb rule is that if your vocabulary terms aren’t repeatedly used across multiple content pieces, or if the metadata association with your vocabulary terms is what you hope for the readers to engage, it is probably a content type.
Unless you create a hierarchy to your content, content types mustn’t be used to organize content. Vocabularies of taxonomy are fieldable if you want to associate metadata with vocabulary terms.
We, mostly try to leverage taxonomies over content types to make the workflow for content editors and Drupal website developer in Raleigh, USA.
Drupal creates custom multiple tables in your database for every field which you create on a content type. The database quickly bloats, and queries content and begin to impact the performance.
Drupal allows reusing fields that have been already created in the system on multiple content types. For example, if you add a thumbnail image to an Event content types and Blog Post, then reusing the same field for each is easy. This saves you some performance hits and time while building out your content types.
You may fall into the trap of creating a content type for everything at your website. We have seen sites with twenty content types, representing the same type of content.
Think very broadly when you are creating content types. You will not need two blog content types such as one for your rapid response blog vs. one for the policy blog.
Even if these two types of posts slightly differ in data models, you can leverage conditional fields or taxonomies to categorize such type of content to give fields upon requirements to produce content to the editor across your website.
Fields on the content types shouldn’t be used to manage content presented to the end users. I have seen fields which assign classes to content fields, nodes to regions of a page, and even order nodes within a listing.
There may be some cases where doing this might make sense, but it is more appropriate to leverage the tools within Drupal development to manage the presentation of content, such as Panels, Nodequeue, Views, etc.
These are some of the common pitfalls which must be avoided while developing content models in Drupal development. If you have some Drupal Project in your mind then, hire our Drupal web developers.