A channel is a listing, category or grouping of related stories (It is analogous to the term category in some other content management systems). Story pages can be assigned to one or more channels.
A channel is also a page type. A channel page shows a list of stories in that channel.
So when you create a new channel, two things happen:
- A new section or category, for assigning stories to, is created.
- A new channel page is created. This page shows a list of stories in that channel.
When you post a new story, you will want to assign it to one or more channels so the story is then listed on a channel page.
Additionally, you will probably want the story to be listed in various other places on your site. This is where channel widgets come in.
Routing of stories by channel widgets
A channel widget is a widget that displays a subset of stories from a channel, usually in a list form. By being able to configure which stories and which channel to display from, you can control how new stories are 'routed' throughout your site.
You could configure a channel widget A to only show the first story of the channel Sport. Then only the newest, most recent Sport story would be displayed by widget A.
On the right of that, you place another channel widget B, configured to show the second story of the channel Sport. Then the second most recent Sport story would be displayed by widget B.
Below both widgets A and B, you place another channel widget C. This one is configured to show the 3rd till 10th stories from the channel Sport, and they are shown as titles. Widget C would then display the next batch of sport stories.
(To see the 11th and later stories of Sport, the visitor would have to go to the channel page of Sport itself)
When you post a new story in the channel Sport, it will first be displayed by widget A. Then it moves to widget B on the right (once it is no longer the newest story). Then it moves below to widget C and moves downwards through widget C as more and more newer stories are added to Sport. Eventually the story disappears from the widgets altogether, and is only listed on the Sport channel page.
<All channels> and <default channel>
In addition to displaying stories M to N of a specific channel, channel widgets can be configured to show stories from <All channels> and <default channel>.
The former case is straightforward. A channel widget showing stories from <All channels> would display a list of stories from all the channels, across the entire site. One common usage of this is to show a list of global 'Recent News'.
A channel widget configured to show stories from <default channel> needs to compute what <default channel> is. This depends on the parent page P that is currently being shown.
If the parent page P is a story page, then <default channel> is the default channel of the story page. The channel widget would show stories from the same channel as the story P. This is useful for showing a list like 'Stories in this section'.
If the parent page P is a channel page, then <default channel> is the channel P itself.
Basic pages and other special-purpose pages may also have a <default channel> selected. If the parent page P is one of these, then the channel widget will show stories from the value of <default channel>, whatever that is.
If a <default channel> could not be computed, then the channel widget shows stories from all channels.
Complex routing schemes
By using multiple channel widgets placed in selected zones in a layout, with each channel widget displaying an excerpt of stories, it is possible to create arbitrarily flexible story placements.
For a complex layout, such as a frontpage where a list of stories from each major channel is to appear, it is not uncommon to have several or many channel widgets operating together.