Page History
Wiki Markup |
---|
{rate} {status:inprogress|4.5}Implementation tracked in [MAGNOLIA-3895@jira]. {status} h3. Rationale * the same content should be delivered differently (different HTML, format, ...) ** a channel can be: a device, location, medium * content can be excluded or made exclusive to one channel h3. Detection * {{AggregationState}} has a {{channel}} property (a string) * the _multi channel_ filter sets this value by using a {{ChannelResolver}}\*\* the STKChannelResolver uses the configured channels (see configuration) * default value is Channel.ALL * a {{channel}} parameter can be passed to oversteer the mechanism *Device* * device detection filter only detects the device ** setups DeviceCapability (set as a context attribute, use IoC to get the object) * this information is used by the {{ChannelResolver}} invoked by the multi channel filter h3. Caching * the channel is part of the cache key h3. Rendering * the default RenderableVariationResolver uses the current channel name h3. Content Structure * content can be marked for specific channels (multiple channels) * in the STK we provide a tab used by all the page properties dialogs ** channels are read from site.channels ** the some tab can be used by components if needed * the channels are stored in the multivalue property {{channels}} * if no such channel property exists the content is available in all channels h3. Content Delivery * urls to {{/website/\*}} map to the physical workspace {{website}} * {{/\*}} maps to the virtual workspace {{magnolia}} * the virtual workspace ** uses the channel property of the aggregation state and the content to exclude/include content ** mainly a content filter * implemented by a filtering session wrapper * the virtual workspace is registered on startup h3. Configuration * the channels are configured in site/channelConfigurations (ordered map) * each channel has a _resolver_ (an interface) * used by the global ChannelResolver * first match wins h3. AdminCentral * open /website/\* url * make it configurable *Alternative: request parameter* * pass the channel request parameter {{mgnlChannel=\[ALL|mobile|tablet|etc.\]}} in the URL * should we do that for the site name * use the new named and pimped selectors |
Overview
Content Tools