Is it possible to implement a "default" channel for pages NOT defined in a given channel?

Consider the next scenario:

you have 3 different channels, let’s call them “A”, “B”, “C”, where you publish static content pages.

You create a page with the following URL

http://mysite.com/channelA/mystaticPage
http://mysite.com/channelB/mystaticPage
http://mysite.com/channelC/mystaticPage

So, you have to create the page in the Experience Manager and copy it to the other channels. If you need more and more channels, you have to copy these pages to those new channels each time.

Is there any way in which one could have a default channel, so that if I have to create a static page that needs to be available in all channels (let’s call it “myotherstaticpage”), I can create it once in the default channel and, instead of copying to all channels, the CMS is capable of recognize that

http://mysite.com/channelX/myotherstaticpage

is not explicitly defined, but turns out

http://mysite.com/defaultChannel/myotherstaticpage

DOES EXIST, so the CMS renders http://mysite.com/defaultChannel/myotherstaticpage as http://mysite.com/channelX/myotherstaticpage, but keeping the original url (http://mysite.com/channelX/myotherstaticpage)

I see at least two cases where this could be useful, those being:

  • the scenario described above (prevent copying the same page to as many channels as you have in your environment, so create once, render in all channels)
  • copy the page to another channel only when you have channel specific content to be rendered (e.g. different wording (copyright) for one channel and not for the rest)

Kind Regards

Hi,
This sounds more like shared content tree than a fallback mechanism on channel/pages level… Anyway for neither there’s an out-of-the-box solution. It depends really on your exact use case is which direction you can take for this.

HTH
Jeroen

1 Like

After some research we found that you can make channels “inherit” from other channels. That means that if you create a page and link it to a sitemap entry on the “parent” channel, the “children” channels will inherit that page.

Here’s further documentation:

Particularly, points 4 and 5.

The best part of all is that if you need one of those “inherited” pages to look or behave differently in one or more of the “children” channels, you can simply copy it to that channel and adjust it to your needs, as long as it shares the same sitemap route and names internally.

Additionally, having this setup, the server startup times reduces significantly, as it doesn’t have to build the entire “structural tree” for each “children” channel during bootstrap.