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.