Identifying data structures

Build an information architecture to act as a foundation for development.

Data design process

  • Define data structure (e.g., fields, field types, etc.) for each data object (e.g., news, products).
  • Define relationships between your data objects (e.g., related articles).
  • Identify functional requirements of data objects (e.g., workflow, versioning, security).
  • Identify which data objects to use (e.g., page type, custom tables, custom modules).

Structured vs unstructured content

Structured

Structured content is basically the content model in MVC. Use structured content when you have data that can be expressed as a discrete set of fields. These fields make it easier for content editors to enter content reliably. They also allow developers to digest the content more easily and reuse it throughout the web site. 

Unstructured

Use unstructured content when the data cannot be expressed as a discrete set of fields. This kind of content is generally entered as formatted text in a rich text field either in a field on a page type or in the page tab as content of a text editing widget.

Storing data in Kentico

Kentico allows you to store data in: 

We highly recommend reading the Planning your data structure article and reviewing the comparison of data storage options to better understand the limitations.

Faculty bios requiring approval

A partner was building a college web site and needed to allow faculty members to update their own bio. The client also required that the updates be approved by the marketing team.

The partner used a custom page type for the data since there were discrete fields and they needed a workflow for the bios. They stored the pages in folders by departments and used tags to associate them with courses they were teaching. 

Manageable course catalog

A college client needed to manage a complex course catalog. They needed to relate the courses to one another as prerequisites, link them to degree programs, and associate them to semesters in which they would be offered.

As the relationships required many-to-many and one-to-many relationships, the partner building this web site decided to implement this as a custom module. This allowed them to create the necessary relationships while still making the data fairly easy to manage in the administration interface. They configured search indexes to allow students to search the courses and defined templates with wildcard URLs to handle content display.

Searchable phone directory

A college client needed to display a staff phone directory. The data came from an active directory, but they wanted to make the directory searchable by name.

The partner created a custom table to store the data, set up a scheduled task to regularly update the information, and added a smart search index for this table to provide searching capability.