Available Calendar Adapters

Currently available calendar adapters

Calendar adapter listing

ConfigurableHttpCalendarAdapter

This is the probably the most widely-used calendar adapter and is the only one currently configured to be added by users. The adapter reads in iCal feeds using HttpClient. It does not read calendars via the caldav protocol. This adapter caches calendar requests by URL.

The calendar's behavior is controlled by a set of injectable beans, as follows:

urlCreator

Generates the URL of the calendar feed. By default, this adapter uses the DefaultUrlCreatorImpl, which uses the value of a calendar parameter named "url" for all users.

credentialsExtractor

Returns a set of credentials for the current user. By default, uses the DefaultCredentialsExtractorImpl, which returns null.

contentProcessor

Processes the web-based resource. By default, uses the ICalendarContentProcessorImpl, which expects iCal-formatted data.

cacheKeyGenerator

Generates cache keys for each calendar request. By default, uses the DefaultCacheKeyGeneratorImpl, which caches calendars by URL across all users.

To summarize the above table, by default, the adapter expects unauthenticated, iCal-formatted feeds, and will cache these feeds by URL across all users. By modifying the injected bean list, new calendar adapter configurations may be created.

Default calendar id: httpIcalAdapter
Example iCal feeds: US Holidays
Calendar parameters:

  • url (required)

ConfigurableFileCalendarAdapter

The file processor is designed to read information from static files on the file system. For example, an adopter might elect to represent general academic year calendar information as a local file.

The calendar's behavior is controlled by a set of injectable beans, as follows:

contentProcessor

Processes the web-based resource. By default, uses the ICalendarContentProcessorImpl, which expects iCal-formatted data.

cacheKeyGenerator

Generates cache keys for each calendar request. By default, uses the DefaultCacheKeyGeneratorImpl, which caches calendars by URL across all users.

To summarize the above table, by default, the adapter expects iCal-formatted feeds, and will cache these feeds by URL across all users. By modifying the injected bean list, new calendar adapter configurations may be created.

Default calendar id: fileIcalAdapter
Calendar parameters:

  • file (required)

Rss processor

The RSS processor is designed for RSS event feeds. It assumes that each <item> element represents one calendar event, and that the <pubDate> element exists for each item and represents the event start date. This adapter has no support for event end dates. Since the pubDate format may vary between RSS feeds, an optional CalendarDefinition parameter named "dateFormat" may be used to represent the date. This parameter should contain a date format like those used by the SimpleDateFormat class. Example RSS event feeds that can be successfully read using this adapter are listed in the UC Berkeley and Rice University event calendars. This adapter doesn't cache calendar requests yet, but support should be built in in the near future.

Default calendar id: httpRssAdapter
Example feeds: UC Berkeley upcoming events (default dateFormat), Rice University events (set dateFormat to "EEE, dd MMM yyyy HH:mm z")
Calendar parameters:

  • url (required)
  • dateFormat

Exchange Calendar Adapter

The Exchange calendar adapter is designed to pull user events from Exchange Web Services. The default version bundled with uPortal has been tested against Exchange 2007. For more information on configuring the Exchange adapter, please see Calendar Portlet Exchange Integration.