Understanding the Differences between Top-Level and Mixed-In Calendars in 25Live Publisher

Which versions of Series25 components are you using?

These articles have been prepared for schools using 25Live Pro and 25Live Publisher.

Understanding the differences between top-level and mixed-in calendars is often a point of confusion for new users of 25Live Publisher.  This page explains the differences and when each is a more appropriate choice for more comprehensive and complex calendars.

What are Top-Level and Mixed-In Calendars?

Top-Level Calendars

A top-level calendar is a calendar that is composed of one or more sub-calendars. A sub-calendar is a calendar feed published as a sub-calendar to a top-level calendar. The key point is that to create a top-level/sub-calendar framework, the sub-calendars all have to be published as sub-calendars in the feed publication process in 25Live. A top-level calendar can either be created as an empty container or it may be its own feed of events. For example, an Athletics calendar is one of the best examples of a potential top-level/sub-calendar framework. You could publish a feed of overarching Athletics division events that cross athletic teams as the top-level calendars. Then you would publish individual sub-calendars for each of your intercollegiate athletic teams. Taken together, they represent the entirety of event scheduling for athletics and the relationship is represented by the top-level/sub-calendar framework.

Mixed-In Calendars

A mixed-in calendar is a calendar in which two or more calendars have been mixed together to create a more comprehensive calendar. So, for instance, you might have a Major Events Calendar, a Student Life Calendar, and an Athletics Calendar. Each of those calendars is hosted on its own web page in your campus website. However, you want to create a more comprehensive calendar that contains the events on all three of those calendars. Then, one option is to create a mixed-in calendar mixing the three calendar feeds together to create a more holistic calendar. You could choose to mix two of the calendars into one of the other calendars. Or, you could choose to create an empty container calendar to mix all the calendars together. Mixed-in calendar feeds are considered siblings, or equals, so on the calendar list control they will all output aligned flush left.

Did You Know?

Every calendar that you publish that is not specifically published as a sub-calendar is by default considered a top-level calendar.  As such, we know that this top-level calendar has no specific relationship to any other calendars.  We can mix them together with other calendars but they stand alone.

How do Top-Level and Mixed-In Calendars differ?

The biggest difference between a top-level calendar with sub-calendars and a simple mixed-in calendar is in presentation.  If you were to mix five calendars together in a mixed-in calendar and then look at the calendar list control, they will all print flush left as illustrated below.

Preview for calendar list

This presentation represents that the calendar contained in the mixed-in calendar are considered equals, or siblings, of each other.  Each can and often will stand alone on a separate web page on your campus's website but they have all been brought together in a mixed-in calendar to produce a more comprehensive campus calendar.

On the other hand, a top-level calendar with sub-calendars represents that the top-level calendar is the parent calendar and the sub-calendars are children of (indented under) a parent calendar.  If you look at a Calendar List Control for a Top-Level Calendar with its Sub-Calendars, you will see only the top-level calendar listed flush left while each of its sub-calendars is indented as illustrated below.

Preview for calendar list with top-level and sub-calendars

Notice that in the case of each of the sub-calendars, one for each team sport, they are indented underneath the SE Regional Athletics Calendar.  Each of those sub-calendars could be published on a page devoted to each of those team sports separately.  But, on this calendar, we are representing that each of the sub-calendar make up the athletics calendar.

Sub-calendars make the most sense when you are publishing different categories of events that will all make up an overarching top-level calendar of related events. 

How do I decide which to use?

Use a mixed-in calendar if:

Diagram: ...you want to create a comprehensive campus calendar, but you have a series of stand-alone feeds containing the events that would make up this calendar. Use a mixed-in calendar.

Use a top-level/sub-calendar construction if:

Diagram: ...you have a group of calendars that are related in some way and you want to represent that all these calendar make up a larger group calendar. Use a top-level/sub-calendar structure

Remember the Main Pitfall of Mixing Calendar Feeds Together?

When you mix-in calendars, there is always the danger of introducing, duplicate, triplicate, or worse number of events on the mixed-in container whether it be just a container for mix-ins or a top-level calendar for mix-in sub-calendars.  Remember that each of the calendars being mixed-in has to include its own unique set of events.  If any of the calendars look at the same set of events, when they are mixed together, you will start seeing the same event multiple times.

What If Besides My Best Efforts my Users Will Not Follow My Instructions Making a Mixed-in Calendar Impossible Because of Duplicated Events?

Never fear, if you really need a comprehensive calendar but some of the events have to show up on multiple stand-alone calendars making them impossible to mix together without introducing a nasty duplication issue, you may simply build a special search for your comprehensive calendar that looks at all the calendar categories, resources, event types (however you are driving your calendar) and puts them all on one calendar feed.  In this instance, it does not matter if you have multiple calendar categories on an event because the search is simply looking to see if it contains at least one.  No duplicates will be created and you could use a Filter Control to allow people to filter out events per calendar.