Skip to content

Property values not saved when content published only in non-default languages #19814

@KevinLall-MacsAdventure

Description

Which Umbraco version are you using?

15.4.3 and 16.1.0 (confirmed affected versions)

Bug summary

When content is published ONLY in non-default languages (e.g., only in "de-DE" but not in "en-GB" if en-GB is the default language), Umbraco fails to properly save property values to the database. The content appears published in the back office and shows correct values there, but:

  1. The published property values in the database are NULL or contain stale data
  2. IPublishedContent.Value() returns empty/null values on the front-end
  3. Future content updates don't get reflected until the content is published in the default language

This only seems to affect invariant properties that are shared across cultures.

Specifics

This bug occurs specifically when:

  • Content is created and published only in non-default languages
  • OR existing content is updated and published only in non-default languages
  • The default language is not included in the publish operation

The issue does NOT occur when:

  • Content is published in the default language (even if also published in other languages)
  • Content that was previously published in the default language is updated

Workaround: Publishing the content in the default language and then immediately unpublishing it resolves the issue and allows future updates to work correctly.

Database inspection shows that the cmsContentNu table (published content cache) contains NULL values for the affected properties when content is only published in non-default languages.

Steps to reproduce

  1. Create a new content item with properties shared across cultures
  2. Add content values in a non-default language (e.g., de-DE)
  3. Publish the content ONLY in the non-default language (do not publish in default language)
  4. Check the front-end - property values will be empty/null
  5. Check the database cmsContentNu table - published values will be NULL
  6. Verify that IPublishedContent.Value() returns null for the properties

Alternative reproduction:

  1. Take existing content that is published in multiple languages
  2. Make changes to the content
  3. Publish ONLY in a non-default language
  4. Observe that the changes are not reflected on the front-end

Expected result / actual result

Expected:

  • Property values should be correctly saved to the database when content is published in any language
  • IPublishedContent.Value() should return the correct values for published content
  • Front-end should display the published content values regardless of which languages the content is published in

Actual:

  • Property values are not saved to the database (cmsContentNu table shows NULL values)
  • IPublishedContent.Value() returns null/empty values
  • Front-end displays empty content even though the back office shows the content as published with values
  • The only way to fix affected content is to publish it in the default language and then unpublish from the default language

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions