Page History
...
Status | |||
---|---|---|---|
|
|
...
|
...
tracked
...
in
...
...
.
...
Status |
---|
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
...
Detection
AggregationState
has achannel
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
Caching
- the channel is part of the cache key
Rendering
- the default RenderableVariationResolver uses the current channel name
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
Content Delivery
- urls to
/website/*
map to the physical workspacewebsite
/*
maps to the virtual workspacemagnolia
- 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
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
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