Third-Party Calendar Options for your Drupal Website

 

There are several options for using calendars in your Drupal websites. We have a built in calendar for Drupal that is already set up and ready to use, but some departments use third-party options and embed them into their Drupal website for more flexibility.

Built-in Drupal Calendar Option

  1. The built-in Drupal calendar is the simplest option and is populated by creating an Event in Drupal.
    Overview of the Event content type
    Instructions on How to Create an Event

Third-Party Calendar Options

The third-party calendar options are through Google, Outlook and 25Live calendars. All of these calendars involve embedding external calendars. You can see detailed instructions for embedding these calendars into Drupal:
Embedding External Content into your Drupal Website

  1. NOTE: You can also link to an external calendar: UGA School of Music Performance Calendar. This is fairly straightforward, but involves maintaining a separate site.

Option 1: Google Calendar

Google Calendar embeds are the simplest of the external calendar options. In this example, the department has embedded multiple Google Calendars into a single calendar interface.

Embedded Google Calendar

Embed a Single Google Calendar

  1. Google has documentation on how to embed a single calendar here:
    Add a Google Calendar to your Website

  2. You’ll paste the Google calendar embed code into your page using Source view. Click on Source (at the far right of the Edit screen) to show the source code. You may want to refer to these instructions for additional help on embeds:
    Embedding External Content into your Drupal Website

Embed Multiple Calendars (you have permissions to share all calendars)

If you are the owner or have permissions to share the Google calendars, you can embed multiple calendars by following the steps below.
Add a Google Calendar to your Website

NOTE: Instead of selecting one calendar, you’ll select all of the calendars you want to embed.

  1. After you select the calendars, copy the HTML in the box on the top of the page to insert into your website. You may want to refer to these instructions for embedding the code into your Drupal website:
    Embedding External Content into your Drupal Website

NOTE: It will automatically add the code for all of the calendars

  1. You’ll paste the Google calendar embed code into your page using Source view. Click on Source (at the far right of the Edit screen) to show the source code. You may want to refer to these instructions for additional help on embeds:
    Embedding External Content into your Drupal Website

Embed Multiple Google Calendars (you don’t have ownership or permissions)

  1. To add several Google calendars where you don’t have ownership, you will need to add embed codes from each calendar. You can generate the embed code by following these instructions:
    Add a Google Calendar to your Website
    You may want to refer to these instructions for embedding the code:
    Embedding External Content into your Drupal Website

  2. To add multiple calendars, you will add the embed code from the additional calendars like this:
    Add &src=NEWCODE to the string of the original Google calendar embed code OR
    To add multiple embeds you can add them before or after another &src=ANOTHERSTRING, i.e., before another & code).
    Here’s a shortened sample:

    <iframe src="........&amp;src=blah1&amp;src=blah2....." width="250" height="600" frameborder="0">

     

    You will add &amp;src=NEWCODE into this:

    <iframe src="........&src=blah1&amp;src=NEWCODE&amp;src=blah2....." width="250" height="600" frameborder="0">

     

    Here’s what a sample Google Calendar with multiple calendars embedded will look like:

    <iframe src="https://calendar.google.com/calendar/embed?height=600&amp;wkst=2&amp;bgcolor=%23A79B8E&amp;ctz=America%2FNew_York&amp;src=bWF0aHVnYUBnbWFpbC5jb20&amp;src=NmpsbWw3bmNxMjJwaWdvNzE1dDlsZjZqbmdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=bzVhcmNkY2xvNm43ZW5ncDZyOHEzMTZzaThAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=aTFsZXFrcTZyZWV0bmY0cTNrNXNpbmg1ODhAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=bHJ0NzludTBoYWNrcmcwMWtsdDJxaW1paTRAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=YTlyOWdzcWsyZDVyOXVkcGIxZWNtNnI5aDBAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=MW9va2gzanF0bGE0OHJ2NXJlanF0Ym00ZDRAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=ZTRvOHBtM3Z0bDAxaXZ2MDI5NTc3ZDVtOGdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=bThta29scm85YmpoczhlMzAwdjdubW50ODRAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=b3JzMm91b3Y1ZjM3Z29xcjZyYWkzMmJvczBAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=aHNmb3BvdGtmbG4wbjBmbjZicnNsb3QzbzhAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=ZG5sYzZ1b25mMzRrdjQ4OG52bjVvbDVxNGdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=dDg2djFnZ2plajVidG1xcDJiOW11MjAzZWtAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=c3M0cHM4aDAzdjYyZjF2aHVmNDBjMmo4N29AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=Z2s4a2xmamg3aTlwdGhydjFjcDhjOGJqOGNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&amp;src=dWdhYW5hbHlzaXNAZ21haWwuY29t&amp;src=dWdhbnVtYmVydGhlb3J5QGdtYWlsLmNvbQ&amp;src=60346d2d711332b09e393b25ed8245684a7b118fbadaee099ee6a723b176020e@group.calendar.google.com&amp;color=%23E67C73&amp;color=%23616161&amp;color=%23EF6C00&amp;color=%23B39DDB&amp;color=%23E67C73&amp;color=%23616161&amp;color=%23E4C441&amp;color=%23F09300&amp;color=%23F6BF26&amp;color=%234285F4&amp;color=%23F4511E&amp;color=%239E69AF&amp;color=%23F09300&amp;color=%23D50000&amp;color=%23D50000&amp;color=%23F6BF26&amp;color=%23E67C73&amp;showTitle=0&amp;mode=WEEK" width="250" height="600" frameborder="0">

     

    Here is a color-coded sample of the code. The red section is the code you will be adding. The ampersands (which get changed into &amp; ) and the src=LONGSTRING strings. You have to insert the new code between the end of a previous src=LONGSTRING and the beginning of an &amp; (with no spaces):

    Combining multiple Google calendars (without ownership) into a single embedded calendar is complicated; please contact the Web Services Team if you need assistance.

Option 2: Outlook Calendar

Here is a sample Outlook Calendar embedded on a Drupal page:

Step 1: View Shared Calendar

  1. In the web client, go to the calendar you want to embed.
    Select > View > Calendar Settings > Shared Calendars:

Step 2: Publish a Calendar

  1. In the Publish a Calendar section, select which calendar you want to publish (you can only publish one calendar at a time).

    Select ‘Permissions’ for which parts of the events you want to be shown:

  2. Click on ‘Publish’
    The page will expand to include the HTML and ICS links.
    You will copy the HTML link.

Step 3: Embed Calendar in your Drupal Page

Login to your Drupal website and open or create the page where you would like to embed your Outlook calendar. You may want to refer to these instructions:
Embedding External Content into your Drupal Website

Once you are in the Edit screen of your Drupal page, click on Source (at the far right of the editing options).


Paste the following HTML code:

  1. Replace the REPLACEME text in the src attribute with the HTML link you copied. Your embed code will look like:

Save the page to view the embed.

Option 3: 25Live Calendar

The final option is embedding a 25Live Calendar.
Here is an example:https://mibo.franklin.uga.edu/reserve-rooms

There are some issues with 25Live embedding:

It currently triggers a popup tab of a Duo authentication window, which can be distracting for users. It also takes some time to get the embed code as it is obtained from outside of Franklin College.

Step 1: Obtain Embed Code

The embed code is currently only generated by Campus Reservations and a request can be made by emailing reserve@uga.edu. It may take some extra time to get the embed code and the Web Services Team is unable to help with this part of the process.
When completed, they will email you an embed code that looks similar to this sample:

Step 2: Embed the HTML Code

You may want to refer to these instructions:
Embedding External Content into your Drupal Website

Click on ‘Source’ in your Drupal page
Paste the following HTML code:

Replace the REPLACEME text in the src attribute with only the https code from the snipped in Step 1 (you’re provided with more information than you need in Step 1).

Please note: Your code will be different from the sample shown here:

 

VERY IMPORTANT: Change the /search at the end of that URL to /dash

 

Your final embed code should look like this:

Step 3: Save

Save the page to view the embed.

  1. Note: The Drupal editor will change the ampersands in the URL ( & ) into html encoded entities ( &amp; ); this is okay. If you need to edit the embed codes, you can leave the &amp; separators.

 

 

 Related articles

Embedding external content in Your Drupal Site