Migrate custom tables to modules or content types?

2025/03/18 10:14 PM

Migrating from kentico 12 MVC to Xperience by Kentico.

I have some basic customtables that have plain text fields, maybe 2 or 3 fields per table.

In some cases the data is only used behind the scenes - I assume this would migrate well to a module

In other cases the data might be a way for content editors to manage selections or available preferences to set

I am leaning towards content items for the custom tables that the editors manage since the custom modules require more effort in creating the UI, and a module for the table that just holds the behind the scenes data.

Thoughts? Opinions?


Environment

  • Kentico 12 MVC to Xperience by Kentico version: [30.2.2]
  • .NET version: [8]

Answers

2025/03/18 10:28 PM

Our guide for upgrading to Xperience by Kentico mentions the Content hub as a great alternative to custom tables from previous Kentico products, but Xperience also supports custom applications and object types to model and manage non-content data.

That's the key for me - is the data content or is it not content?

Content is typically and needs the following attributes.

  • Localized
  • Uses publishing workflows and previewing of unpublished changes
  • Benefits from visual usage tracking
  • Audited with version management
  • Prepped and deployed by marketers with content synchronization
  • Granular view/edit permission access (workspaces, web page tree permissions)

Non-content data on the other hand has the following attributes.

  • Single language
  • No preview/publishing workflow requirements
  • Might require an audit trail (depending on business requirements)
  • Managed and deployed by developers and administrators
  • Individual data items referenced directly in code
  • View and edit permissions are all or nothing

So, does your custom table data fall into the category of content or not?

I would focus much less on the additional work to build the custom application and object type - this doesn't take much more time than creating a well designed content type with all the proper explanation text and validation to help marketers. You are building this project for today and for the future so choose the path that has the long term payoff.

2025/03/18 10:29 PM
Answer

If the data in custom tables is actually content -- that is content you'd want to display on web pages or in other channels -- I like the idea of migrating them to reusable content. I listed some benefits in a recent Migration Toolkit feature idea:

https://github.com/Kentico/xperience-by-kentico-kentico-migration-tool/issues/379

To answer this question, you have to login first.