Why use widgets instead of XML?
Most users need similar calendar displays. Rather than having each person build their own, Web Services provides pre-built widgets. These widgets can directly query the database for event changes and are rendered as static content, which reduces server load compared to XML, which pulls data dynamically each time a page is accessed.
Why limit XML data requests?
XML data is pulled dynamically and incurs server costs. To manage resources and ensure performance, we limit the number of simultaneous XML requests. If this limit is exceeded, the system returns an HTTP 503 error with a message.
Can events be imported into the Calendar?
No. The Calendar is intended as a marketing tool and is often used by individuals without a marketing background. For this reason, proper tagging, categorization, and attribution are crucial to event success. We do not allow bulk importing to prevent inconsistent or incomplete event data.
How can duplicate event entry be avoided?
We recommend entering events into our Calendar system and then using the XML data feeds to pull them into other systems. Since our calendar collects more metadata than most, you’ll have better control over how events appear in external displays.
XML Schema Links:
How long are deprecated schemas/URLs supported?
Unsupported schemas and URLs continue to function until a newer schema version is released. We support only one legacy version at a time and only provide technical support for the current version.
How are service changes communicated?
Changes to the Calendar XML are announced via the CCSP listserv. When updates occur, new schemas and URLs are released with version numbers, allowing users time to transition. We aim to provide a six-week window before deprecating older URLs.
Each XML response includes:
- /responseWS/deprecated: Indicates whether a newer schema is available (true if deprecated).
- /responseWS/endOfServiceDate: The date when the endpoint will return a 404 error.
How to request access to XML feeds?
To request access, fill out the Contact Us form at the bottom of any Webtools screen. Mention that you’re requesting XML Calendar access and include a service account email address. We’ll send you a secure PEAR message containing your access key, which must be appended to your XML requests.
Search Parameters Overview:
Use the "search" tab on the public calendar interface to observe how URL parameters filter events. Available parameters include:
- search
- EventType
- KEYWORDS
- startDate (defaults to current time)
- endDate
- isFilterBySelectedWidgets=true|false - Filters for events marked as widget-eligible. Default is false.
These parameters can be appended to queries like:
https://xml.calendars.illinois.edu/eventXML16/7.xml?key=...
Examples:
- https://xml.calendars.illinois.edu/eventXML16/7.xml?key=...
- https://xml.calendars.illinois.edu/eventXML16/7.xml?key=...&pageNumber=0
- https://xml.calendars.illinois.edu/eventXML16/7.xml?key=...&startDate=07%2F01%2F2020&pageNumber=0
- https://xml.calendars.illinois.edu/eventXML16/7.xml?key=...&startDate=07%2F01%2F2020&endDate=07%2F23%2F2020&pageNumber=0
Note: Slashes in dates must be HTML-escaped (e.g., 07%2F01%2F2020). Always use two digits for months and days.
Paging Through Results:
To manage load, each query returns a limited number of events. Use the pageNumber parameter (starting at 0) to navigate pages. If omitted, page 0 is assumed.
Check the /responseWS/maxPageSize value to determine the maximum number of events returned. If the number of events returned is less than maxPageSize, there are no more pages. Otherwise, increment pageNumber to retrieve the next set.