Skip to main content
Getting Started Installation & Setup Server requirements Hosting SSO Setting up your calendar How LWC Works Deployment Using your CMS Adding groups and users Group settings User settings Importing Importing events Linked calendars One-time imports Custom imports Creating shared assets Event types Tags Locations Images and Files Using LWC Getting oriented Logging in The LWC toolbar Changing user settings Events list Event display Bulk event management Filtering events Creating events The basics Event details RSVP Sharing and Privacy Canceling events Working with images and files Images Files Add your other calendars The basics Events stay in sync Customize linked events Other details Community Features Sharing events between groups Marking events as "shared" Suggesting events Finding shared events Sharing and privacy settings Public event submissions The submit form More things to consider Bulletins and internal communications Who can send Bulletins? Customizing group calendars All About Widgets Widget basics What's a widget? Why would you use one? The default events widget Deployment Customization Creating new widgets The basics Widget customization options Custom widget formatting The format argument Widgets in your CMS Advanced widgetology For Developers

Getting Started

This section covers topics related to installation and configuration, hosting, and initial setup (adding groups and users, importing events, and more).

Installation & Setup

The LiveWhale support team handles the installation of your calendar application.  If we’re hosting your calendar, this usually all happens behind the scenes; if you’re hosting the calendar on site, it may be an automatic process handled by us or your IT staff may need to get involved.

Server requirements

The server requirements for the LiveWhale platform are located here. They are generally straightforward, with configurations that are common for LAMP environments.

If you’re configuring a server for use with LiveWhale, we strongly suggest you use our LiveWhale Readiness Test script to quickly determine if you have all the required settings and configurations in place.


We provide cloud hosting services for LiveWhale Calendar. For customers of the enterprise product, we offer a dedicated server with load balancing and guaranteed 99.9% uptime; for our Calendar One customers we use is a shared (but highly robust) environment specifically tuned for LiveWhale Calendar. 

We partner with two industry-leading firms, Rackspace and Amazon AWS, to deliver fast, secure, powerful cloud hosting.

SSO integration

Most of our LiveWhale Calendar customers have single sign on solutions that can be easily integrated with LWC as part of the setup process. Case studies include Shibboleth, CAS, SAML, Active Directory, LDAP, and Google Apps.  

If you use a SSO that’s not on this list, we’ll be happy to work with you on a custom integration.

Setting up your calendar

LiveWhale Calendar is really easy to get up and running. Of course, your actual time to market will depend on other factors: any customizations you’d like, the time you’ll need to train users and populate the calendar with events, and any time needed for server setup and configuration.

But in general, once there’s a server in place getting LWC running takes just a few minutes.

How LiveWhale Calendar works

LiveWhale Calendar is a PHP/MySQL application, that runs on its own dedicated server.  The public-facing calendars and event lists that are seen by your audience are of two types: calendars and widgets.


Calendars are full, interactive calendar interfaces that run on webpages.  Although calendars can be configured in all sorts of ways in LWC, a typical calendar has these basic components:

This is just a standard model for how most calendars are laid out in LWC. You can display any or all of these components separately, and place them anywhere on the page you like.

Main page area

  • View selector (Today, Day, Week, Month, All)
  • Header (large date header, forward and back buttons, and a jump menu)
  • Calendar (primary calendar event display) 

Sidebar page area

  • Mini-month-view calendar
  • Search box
  • Group switcher menu
  • “Show only” list of event types
  • Tag selector

Your primary public-facing calendar(s) can reside on the LiveWhale Calendar server, or can live on your site in your content management system, with calendar data populated from the calendar server seamlessly.


Widgets are usually the same thing as “event lists.” You can create widgets with a wide variety of options:

  • Listing events by tag, group, event type, or any other criteria;
  • Excluding certain tags, groups, etc.;
  • Specific date ranges;
  • Showing or hiding images, at any size your specify;
  • Displaying a map with pins for geolocated events;
  • With specific HTML markup for event content, custom date formats, etc. to match your site’s formatting needs exactly

The widgets you create are saved for use on the web, and can be deployed with a short snippet of HTML; these snippets of code are used to generate markup for event lists.  

A LiveWhale Calendar widget looks like this:

<div class="lwcw" data-options="id=7&format=html"></div> <script type="text/javascript" id="lw_lwcw" src=""></script>

The Javascript file mentioned here (lwcw.js) can be installed on your server or be loaded remotely from the calendar server as shown here. This widget will return the output of your widget with id=7, on any page where it’s placed.

Deployment options

The calendar can be deployed via PHP or Javascript. A PHP deployment is used when your public-facing calendar lives on the same server as the calendar (or, in certain cases, when your CMS runs PHP and your server has a friendly configuration, it can run as cross-domain PHP).  The Javascript deployment has the advantage of running in any CMS environment, and is almost as fast and robust as the PHP method. 

If you’re using a CMS that’s not PHP based and you’d like to have full control over the calendar interface through your existing CMS and/or technology stack, the Javascript implementation is for you. If not, the PHP method is probably best. We can help you determine the right deployment style as part of the rollout process.

LiveWhale Calendar and your CMS

We have customers using a wide range of content management systems, and the process for integrating and deploying LiveWhale Calendar obviously differs based on the CMS you use.  We have a document on integrating LiveWhale Calendar with WordPress, and we’re currently working with our clients in other CMS products to develop more documents like it.

Adding groups and users

In LiveWhale Calendar terminology, groups are often the same thing as calendars. A group in LWC is any unit that has a calendar and manages events.  

Every LWC user has a single “native” group. But users can also be assigned editing and administrative privileges for other groups.

Often several users will be in the same group; sometimes groups have no users (this is often the case for temporary event-based calendar groups created for specific reasons, like a Commencement group created to contain a wide variety of commencement events).

Group settings

Content and screenshot TBA.

User settings

Content and screenshot TBA.

Importing groups and users

You can import your groups and users all at once by creating a CSV file with specific formatting, and passing that file to us for back end importing. We can provide the formatting requirements and a starter spreadsheet.

Importing events

Bringing events into LiveWhale Calendar from other sources (usually via Linked Calendars) is an important function that you’ll use a lot. But importing can be especially useful in the calendar rollout process, when many of our customers have lots of existing events that they need to get into the system.

Linked calendars (subscriptions)

A “linked calendar” is an ongoing subscription to another calendar feed.  A group can add any number of third-party calendar feeds; these linked events show up in the Events List alongside events created directly in LiveWhale Calendar.

  • Linked calendars stay in sync, refreshed every 30 minutes (but can also be refreshed manually).
  • Syncing is performed with the event title, date, time, location, and description. The description field can be overridden with a custom description.
  • All other fields on a linked calendar event are identical to native events. You can add images, event types, tags, map locations, and more to your linked calendar events; visitors to your calendar won’t notice any difference.
One-time imports

If you want to bring a lot of events into a LiveWhale Calendar group at once, but don’t want to maintain an ongoing subscription, you can use a special “Import From Feed” option. By plugging in the URL of an ICAL feed, you’ll see a list of events and can bring them into your events list from there. (This feature isn’t linked from the LWC interface to eliminate confusion with Linked Calendars, a similar but more widely used feature. The Import From Feed page lives at /livewhale/?events_import on your main LWC server; we can send a link for your specific calendar anytime.

Custom imports

If you have events that need to be imported from another service or application and can’t be brought in using either of the above methods, please let our team know; we can usually craft a custom import script for you to get your events into the system.

Creating shared assets

As part of the calendar setup process, you’ll want to create shared assets that are available to all calendar users.  The types of shared assets available in LiveWhale are event types, tags, locations, images, and files.

Event types

Event types are intended for broad categories of events; with limited (and custom) exceptions, every calendar user sees the same set of event types when creating events.  Most LWC installations have between 10 and 20 event types.


Tags are descriptive keywords used to provide more context for events, and to help organize them on the front end calendar or in widgets. Users can add any tags they choose when creating events; the tags created within a group are saved for reuse (and appear as auto-complete options when typing out a tag, to reduce duplicated or overly similar tags, and in a “Show All Tags” overlay).

Admins can also create global tags. These tags are saved and available to all groups, and show up as auto-complete options (or in the “Show All Tags” when clicked) for everyone. These can be useful for short-term events such as homecoming, when you’d like to encourage campus users to use a specific tag— or for institutional priorities that you’d like to create events widgets for on the front end.


Any event in LiveWhale Calendar can be placed on a map. There are a variety of great uses for maps on events, from simple wayfinding to more advanced storytelling and communications. (Imagine a map of Europe showing study abroad application deadlines, or a map of the US with dates for admissions counselors’ travels.)

Like tags, locations are saved and shared within groups. (Unlike tags, saving is optional and not automatic.) But admins can create global locations that show up as pre-loaded options for event creators.  Most LWC customers add common event venues, meeting rooms, and other reservable spaces as global locations.

Images and Files

Just like tags and locations, digital assets are created and shared at the group level. Images are of course pictures— usually photos, or sometimes logos or other graphics— used to accompany events. Files can be PDFs, Word documents, or any other file type; when attached to an event as related content, a link to download that file is generated.

Unlike the above content types, any user can mark his or her images and files as shared, by clicking the globe icon on the manager page. (This is used the same way to mark events as shared.)  Shared images and files appear as options for other users to add to the events they create.

A very common use for shared images is for your marketing and communications team to upload a collection of great campus photographs that can accompany campus events. This can be a good way to encourage users to add photos to their events even if they don’t have any good photos on hand.