Content Modeling, Schema Creation and Best Practices in SDL Tridion

What is Content Model:
A Content Model is a depiction or presentation of various types of content and relationship among these content types. For example: Consider a Hotel. A Hotel will have Content Types for Room, Facilities, Promotions, Hotel Information, Testimonials etc. Similarly a Restaurants will have content types for Restaurant Information, Menu, Offers, Specialties, Testimonials etc.

What is Content Modeling:
Content Modeling is the process of identifying these Content Types along with establishing the relationship among them.

Content Modeling and Best Practice in SDL Tridion:
To be frank there is no best or worst practice defining the content models while working with SDL Tridion (or infact with any of the CMS system). It entirely depends on the business requirements and even for the same business requirement, two people working upon, may end up producing different content model as there may be different ways to achieve the same goal.

However, there are few guidelines which we should keep in mind while modeling the content structure in general and also while working with SDL Tridion WCM tool:

  • A good content model must fit well with in the Business Context and should be balanced in usability for both non-technical Content Authors as well as technical Developers with a somewhat inclined approach towards the non-technical Content Authors in terms of “ease of use”
  • A good content model must consider not only the use of content in known business context but also the use of content in unknown business context (the short and long term vision of content authoring, content structure and content use)
  • A good content model should be able to “clearly describe” your content
  • A good content model should be re-usable, flexible and scalable – This itself is a big topic and I may cover this in a separate blog
  • Content Model should be balanced in terms of granularity – It should not be too much abstract nor it should be detailing to a very deep level. As per SDL Tridion, it is recommended that you should not go down to more than 1 level deep (means should not have child of child). It does not mean Tridion does not allow or people are not using deeper level of Content Model, but they may need to pay the penalties in terms of small customization for few minor things as they may not work Out of the box (like accessing information at a deeper level in content in plain DWT Templates)
  • In terms of SDL Tridion Blueprinting, you should choose to create your Content Models/Schema at the top most level. This allows you to re-use them for all the publications down the hierarchy. Again this entirely depends on the business requirements – For example: if there are multiple unique products publications in the Blueprint and for each one you have individual schema and you may want to see only the specific schema while working with a specific Product, you can still choose to have schema in one publication only and keep them separated through security features (Thanks Nuno Linhares for the suggestion). But further if you come across with a requirement that each Products will have a Tridion System Admin and they also do not want to see the schema for other products, then you may either convince the Requirement Owners or choose to have sibling publication for schema. Ofcourse, you may need to pay the penalty either in terms of Redundancy or lots of rework if in future few of the schema of these products become common.
  • Embedded Fields Vs Component Link Fields in Schema – both approach have their own pros and cons and different experts have different views on them; however, in very generic scenario, you should be defining a field as embedded schema type if number of fields are not huge and the information is not going to be reused at multiple place. On the other hand you should be defining a field as component link in case you want to include a complex content structure with in your content structure and reuse these component individually. Depending on your requirements there may be other criteria as well for choosing a field as Embedded Schema type or Component Link type.
  • Plain Text Field Vs RTF Text Field in Schema – The most basic guidelines is that if you want to give your authors the liberty to format the content (Bold, Italic, Underline, Font Change, Color Change etc.) in a field in a WYSIWYG way then make the field as RTF else keep it plain text.
  • Metadata Field – In a schema, whatever is visible on the site/page and configuration values used by non-technical authors for making a visible change on the site/page should be part of the content schema and whatever information is used to describe the content or used for back end processing (code, logs, reporting etc.) should be part of the metadata
  • Numbers of Schema – There is no guideline about the number of schema whether you have 10 or 100 schema. If you are following all above guidelines and doing some brainstorming, you may end up having an optimized number of schema. Tridion won’t restrict you creating hundreds of schema, but you may need to restrict yourself while creating the schema considering the maintenance of all those schema, impacts of having so many schema etc.

Comments Welcome 🙂

Director at Content Bloom India having 15+ years of experience in Software Development Life Cycle using AGILE, Iterative and RUP approaches. Experience in following: - CMS packages: SDL Tridion, Adobe Experience Manager (AEM), Sitecore, Umbraco, Kentico, and Alfresco - Search Engines: SOLR, AWS Cloud Search, Elastic Search - .NET Technologies: .NET & .NET CE Framework, ASP.NET, ASP.NET MVC, WCF, WinForms - Mobile Development: Android Native App, Windows Mobile App - Database: MS-SQL Server, MySQL - Program Management: JIRA, MS-Project, Trello - Design Tools: MS-Visio, StarUML - Infrastructure: Linux, Windows Server, AWS Have decent knowledge about Core Java, Spring MVC Instrumental in Application Architecture, Designing (HLD & LLD), Coding and deployment .NET applications (Web, Desktop, Mobile). Experience in following domain: - Digital Media & eCommerce - Travel & Hospitality - Aviation Industry - Education - Insurance - Automation - Automobile - Railways Education: Bachelor Degree in Computer Engineering and Post Graduate Diploma in Business Administration with specialization in Marketing

Tagged with: , ,
Posted in SDL Tridion
3 comments on “Content Modeling, Schema Creation and Best Practices in SDL Tridion
  1. Well said, Pankaj. Content Modeling is often a Business Analyst activity (even if not done by a BA by title) and I’ve heard/said BAs “translate business wants into system needs.” I like your point on balancing author and technical needs for schemas.

    One part I see missing from both technicals and functionals working on schemas is described in your fourth point for a “scalable” model. It’s somewhat easy to create a model that matches today’s needs, but not many manage the fields themselves.

    I’ve written a few posts on modeling as I learn myself. One is on feature-based design (which has points on how you can evolve/scale a setup):
    http://www.createandbreak.net/2013/10/feature-driven-cms-development-part-1.html

    And the other is my own take on best practices:
    http://www.createandbreak.net/2013/11/content-modeling-best-practices.html

    I see your recommendations compliment what I and others have said, written, and argued about schema and template design. Welcome to the discussion. 🙂

  2. Salil K. Udainiya says:

    Hi Pankaj..Could you please suggest me..how to start learning with Tridion CMS..Searched lot on web..But did not get anything relevant.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: