Start page / Advanced topics / Server-side release / Language-Dependent Release (Beta)

Language-Dependent Release (Beta)

Important The beta feature "Language-Dependent Release" is currently disabled by default. To participate in the closed beta phase of this feature, please contact Crownpeak Support.

The Language-Dependent Release functionality extends the release capabilities of FirstSpirit. This feature allows you to release objects for individual languages. In projects that maintain multiple languages, for example, if the English content is ready for release while content in other languages still requires editing, you can release only the content in the English language.

The concept underlying the functionality of language-dependent release requires an understanding of both versioning and data structure.

Conceptual Foundations

Versioning

In FirstSpirit, a fundamental distinction is made between "Current" versions (working versions) and "Release" versions (reviewed and published content).

When an editor creates an element, an initial version of the element is created. If the element is modified, FirstSpirit automatically creates a new version. Also, when an object is released, a new version is created, which is marked as "Released."

Every change or release results in a new version. Each version is accordingly labeled as "Current" or "Release."

Data structure

In FirstSpirit, objects can be defined as either language-dependent or language-independent (see also Documentation on Project Languages).

  • Language-dependent objects contain different content for each language.
  • Language-independent objects use the same content across all languages.

The Language-Dependent Release feature now supports language-specific publication.

Release logic of the Language-Dependent Release functionality

The well-known versioning and publishing logic underlying FirstSpirit remains unchanged. However, "Release" versions are now marked according to the languages that have been released. This means there is no single common "Release" version containing content from all languages. When a page is generated, each language is processed individually, and the latest "Release" version marked for the corresponding language is used for rendering.

Example

This example demonstrates the behavior of the "Current" and "Release" versions within the context of the Language-Dependent Release functionality.

  • V₁: create: A new page is created. This represents the first working version (Current).
  • V₂: change: The page is modified. A new working version is created.
  • V₃: release (EN): The current content is released and published for the English language (EN). A released version is created and labeled "EN".
  • V₄: change: Further changes are made to the page. Another "Current" version is created; this is not yet a release.
  • V₅: release (DE): The German content (DE) is published. A separate released version is created and labeled "DE".

When content is generated after the release of V₅, the English content is created from the most recent "Release" version labeled "EN," which is V₃, while the German content is created from the most recent "Release" version labeled "DE," which is V₅.

Important If an element is released sequentially in two or more languages without any changes made between the releases, i.e., no new "Current" version is created, the individual "Release" versions are merged into a single "Release" version labeled with all relevant languages.
Important A concrete example is described in detail here under "Language-dependent release (Beta)."

Limitations

Important Before using language-dependent releases in existing projects, any pre-existing schema intended for language-dependent release must be saved once.

FirstSpirit logs an error if the database column necessary for language-dependent release is missing, in order to prevent incorrect release.


  • Only language-dependent media can be released in a language-dependent manner. Therefore, if a change is made to a language-independent medium in one language, the updated language-independent medium will be generated for all languages during the next content generation.
  • Language-dependent releases apply only to data. Hierarchies are currently excluded from the Language-Dependent Release functionality.
  • The display status of an item as "Modified" or "Released" is based on the latest version. For example, if a page was released in English and subsequently changed in German, the page will be shown as "Modified" in both German and English because a newer "Current" version exists. The "Modified"/"Released" status does not compare individual data fields.
  • The language-dependent release for an item can be initiated via a workflow. Only one workflow can be executed on an item at a time; for example, if the language-dependent release is initiated in English, the release in another language can only proceed after the English release completes.
  • This feature is not backward compatible with versions prior to 2025.1.

API-Methoden

The existing API methods for release have been expanded to include the Language-Dependent Release functionality.

Example:

The new method for language-dependent release is part of the existing ReleaseOperation, which is called via OperationAgent.getOperation(ReleaseOperation.TYPE). ReleaseOperation has been extended by the method languages(Language...). This allows specifying the languages for which the release should be performed. If no language is specified, the release operation applies to all languages as before.

© 2005 - 2025 Crownpeak Technology GmbH | All rights reserved. | FirstSpirit 2025.8 | Data privacy