UniCal

Categories

Component ID

2648414

Component name

UniCal

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body

Synopsis

UniCal stands for either Universal Calendar, or University Calendar. Dealers choice. It is an Angular.js based events calendar application based on the headless/decoupled drupal approach, and the COPE principle.

This app/module is designed and maintained by idfive, in partnership with Howard University. It serves a sortable list/calendar of events that can be embedded as a page in a third party CLIENT site(s) as either a native drupal module, or simply via JS/HTML embed code. The UniCal system consists of two modules:

  • UniCal (unical): This module provides both the API, files, content types, and magic that provides everything.
  • UniCal Client (unical_client): This module allows you to embed a calendar in any drupal site, anywhere, that will read via REST to the install where a UniCal site exists.

The idea here is that any enterprise/organization utilizing UniCal, will most likely need a "clean" drupal install to act as the MASTER, for serving events via REST to be consumed elsewhere. This module "may" be deployed on existing installs, but extensive testing against pre-existing modules/config will need to be done. READ: We haven't tested against your specific existing install, nor will we.

It would be helpful to know a few basic principles we refer to:

  • MASTER: Generally, we mean the drupal install that is running the UniCal module. The install that serves the REST endpoint, and where you input content.
  • CLIENT: Either the same install, or any other, where you will be running the front end code. Either on the MASTER install by looking at the SITE node page, or by using either UniCal client module, or embedding the SITE JS wherever you darn well please.
  • SITE: Essentially, a SITE is what ends up being one of your (possibly many) calendars. You create it in the MASTER install, then reference the site ID via the CLIENT, and thats what gives you all your nifty pre-filters/etc.

So essentially you:

  • Create a SITE on MASTER install. In doing this, you can choose which types of events will appear/etc, by choosing to pre-filter by taxonomy. Maybe you want to make a "arts" SITE, that serves only events tagged with "art department" in one of your taxonomies.
  • Use the UniCal Client Module, or provided JS/HTML to render that SITE you just made on any CLIENT server you choose, as long as it can connect to the MASTER for the REST call.
  • Repeat. Make as many SITES as you want. SITES for the athletics dept, SITES for the english dept. The more the merrier. The strength of the SITE approach is that you can customize which events/taxonomies get used, and are available.

Requirements

Roadmap

This module will continue to be developed, and updated as needs allow.

Known problems

  • File upload from the angular application form fails when user is logged in as authenticated user
  • Various repeating date bugs

Help wanted!

Currently seeking contributors/maintainers.