Is it intended that CMS's object definitions to be different from normal object's ?

Hello, we have observed that, for example, if we define a normal object called ‘TestObject’, with a ‘nonLocalizedTxt’ text field and a ‘localizedTxt’ text field, these two fields would be created as columns in the following tables:

  • O_[companyid]_TestObject.nonLocalizedTxt
  • O_[companyid]_TestObject_l.localizedTxt

However, if we create a CMS content definition called ‘TestContent’ with with a ‘nonLocalizedTxt’ text field and a ‘localizedTxt’ text field, the columns are created as follows:

  • O_[companyid]_TestContent_l.localizedTxt
  • O_[companyid]_TestContent_x.nonLocalizedTxt

We believe that in the original Object definition tables, _x is used to create Custom Field like columns of system objects which could not be modified by users. But for CMS objects they are used to store non-localized fields. Is this change a intended behavior? Thanks.

Thanks for opening this thread, we just checked here and the tables are generated in the same way. In which version are you? Can you please check the latest version and share your result with us?

Thank you for the response. We are playing around 2026q1.0-lts. After some more tests we found that when a new CMS content structure was created, non-localized fields were indeed appended to the O_[companyid]_[object name] table. However, if we added some new non-localized fields after the strcuture was created, the O_[companyid]_[object name]_x table was modified. Localized fields stayed in the same way that regardless of we were creating or modifying the structure, they were appended to the O_[companyid]_[object name]_l table.

Yeah, after checking the normal object definition we've found if we modify the existing definition, non-localized fields are indeed added to the _x table. Although it might be a bit confusing, the CMS content structure does work in the same way as the origin object definition. Thank you!