Information for Developers

PlanIt Purple provides a variety of ways to export data to external systems, including iCal, JSON, and XML feeds. Web Communications recommends caching event data outside PlanIt Purple, syncing it no more frequently than every hour and no more than every 4-6 hours if using Cascade.

If you are using the Cascade Web Content Management System, an XML feed is the easiest way to include PlanIt Purple events in your site. There are two ways to create a feed:

  1. Click the "Add/Manage Events" button from the PlanIt Purple homepage, sign in, then click "Add a Feed."
  2. Construct a URL of the following format: http://planitpurple.northwestern.edu/xmlfeed?cal=33&days=30

The following are valid querystring parameters for the second method:

Parameter Description
cal Required. Can be a comma-separated list of multiple group IDs.
days Required. Can be 0 for unlimited.
max Optional. An integer value specifying the maxiumum number of events to be included.
archive Optional. Valid values are 0 for the default setting of not displaying past events or 1 for including past events.
start Optional. Must be a valid date in the format mm-dd-yyyy. Specifies a start date to filter out events before a certain point.
end Optional. Must be a valid date in the format mm-dd-yyyy. Specifies an end date to filter out events after a certain point.
token Required alphanumeric access code for private groups (displayed on the Edit Group page). Can be comma-separated if there are multiple values for cal using an empty string for non-private groups.

XML feeds contain the following elements:

  • planitpurple: root element (always present)
  • event: can be none or multiple depending on upcoming events for your group
    • title: event title
    • date: human readable date in format Month, D, YYY
    • time: human readable start and end time in format HH:MI A.M. - HH:MI P.M. or empty if an all-day event
    • isodate: with attribute format="YYYY-MM-DD HH24:MI"
    • location: specifies campus (Evanston, Chicago, Off-Campus, or No Location)
    • locationurl: a link to the event building on the online campus map site
    • address: the address of the event broken down into the following elements
      • building_name
      • address_1
      • address_2
      • city
      • state
      • zip
    • contact: the event's primary contact broken down into the following elements
      • name
      • email
      • phone
    • group: the group which posted the event broken down into the following elements
      • name
      • url
      • id
    • shared_groups: a comma-separated list of groups from the current feed which include this shared event
    • image_sm: URL for a 250 x 250 pixel image for the event
    • image_sm_alt: alt text describing the above image
    • image_med: URL for a 530 x 398 pixel image for the event (only be populated by Arts Circle enabled groups)
    • image_med_alt: alt text describing the above image
    • image_hero: URL for a 1440 x 400 pixel image for the event(only be populated by Arts Circle enabled groups)
    • image_hero_alt: alt text describing the above image
    • externalurl: the event's external URL (empty if not populated)
    • registration_link: URL for event registration with a label attribute (current options are "Register" or "Buy Tickets"; empty if not populated)
    • ppurl: the event's PlanIt Purple URL
    • event_category_id: an integer representing the event category, as follows
      • 1. Academic
      • 2. Fine Arts
      • 3. Athletics
      • 4. Social
      • 5. Lectures & Meetings
      • 6. Religious
      • 7. Other
      • 8. Training
      • 9. Fitness & Recreation
      • 10. Multicultural & Diversity
      • 11. Global & Civic Engagement
    • category-name: one of the names listed above
    • last_modified: human readable date of last modification in format Month, D, YYYY; defaults to creation date if there have been no edits
    • cost: plaintext event costs
    • audience: one or more elements containing one of the following strings: Student, Faculty/Staff, Public, Post Docs/Docs, Graduate Students
    • cosponsors: contains one or more cosponsor elements containing a group name
    • advanced-property: none or multiple pairs of name and value elements as configured on the Edit Group page; contact Web Communications for this to be enabled
    • description: plaintext event description
    • description_html: HTML event description escaped in CDATA
    • recurring: either a unique ID specifying the event series or a 0 if the event is not recurring
    • series_url: URL for the event series view in PlanIt Purple; only appears if event is recurring
    • cancelled: empty element which appears if the event has been cancelled

For examples of XSLT formats that can handle these fields, please contact Web Communications.

Updated May 16, 2016