loading table of contents...

8.1.10. Settings for Studio

In order to use content-based settings not only for Content Application Engine usage but also for Studio, a new utility class StudioConfigurationUtil was introduced. Now you can, for example, configure paths used for the Create Content dialog (see Section 8.1.11, “Content Creation”) in CMSettings content items.

The StudioConfigurationUtil class searches for bundles located at <SITE_ROOT_FOLDER>/Options/Settings, and falls back to /Settings/Options/Settings if no site-specific configuration bundle is found there. Bundle content items can be placed anywhere below these paths, and must be of type CMSettings.

You can use the #getConfiguration(bundle, configuration, context) method, where bundle is the name of the CMSettings document, and configuration is a path to a respective struct property. Optionally, you can also specify a context. The latter can be either a Content or a Site. If you provide Content, the site this content item belongs to is resolved, otherwise, the given site is used as the lookup context. If you omit the context, the current user's preferred site is used.

The utility class is fully dependency tracked, which means that you should wrap a FunctionValueExpression around returned values and bind the UI components that depend on the setting to this expression.