The following is a running, unprioritized list of changes and enhancements that have been suggested for the Calendar-WS web services interface to CalAgenda.
To request new features, please see Reporting bugs.
New functionality
Accept authentication tokens
Accept authentication and authorization status from other software, such as portals.
Manage designate rights.
Offer some way to manage designate rights, other than through the desktop client GUIs.
Provide resource discovery.
Offer some way to manage resource discovery, such as identifying available user and resource calendars.
Offer an alternative, simpler interface.
Offer a simplified, REST-like interface, such as via HTTP ‘GET’ or ‘POST’ requests, in addition to offering a SOAP/WSDL interface.
Modify events.
Add the ability to modify events in place. (Currently this can be accomplished by deleting the event and adding a new event, but only if the event doesn’t have attendees or other attributes that cannot currently be set by the Calendar-WS interface.)
Add the capability to invite or remove attendees, as well as ‘superuser’ access:
The service offers only the first two of the four methods below for granting access to calendars:
- You can use it to access any user’s calendar, with their password.
- You can use it to access any user or resource calendar to which you have designate access.
- You can’t currently invite potential attendees, or delete attendees. Adding a mechanism to invite or remove attendees is a likely requirement of some customers.
- You can’t currently act as a ‘superuser’ (“sysop”) to access any user’s calendar. Setting up this type of access, with the appropriate constraints on which calendars such a user can act upon, is a likely requirement of some customers.
Allow read-only access to calendars without requiring designate rights
Allow reading of calendar events on subscribers’ calendars, without requiring that designate rights to those calendars first be set up. This would be similar to the level of access provided to other subscribers’ calendars when using the Oracle Calendar native clients.
Offer hCalendar as a results format
Offer hCalendar, a microformat based on iCalendar, as the primary results format or an alternative results format for events data. (This will require working with customers, since this change will alter the results format.)
Enhancements to existing functionality
getEventsByRange(): add find by string
getEventsByRange() currently doesn’t offer any capability to retrieve only those events whose titles, descriptions, or locations match a user-defined search string, within the date/time range requested. This convenience functionality has been a customer request, and thus we might consider offering functionality of that type.
addEvent(): prevent addition of conflicting events
addEvent() currently adds an event unconditionally, even if the event overlaps other event(s).
One exception: addEvent() is auto-blocked from adding events on any resource calendars where double-booking isn’t permitted.
Although addEvent() does return a list of potentially conflicting events, so that an application can take the appropriate action, if any, it doesn’t prevent conflicting events from being created in the first place.
We may wish to offer addEvent() functionality which optionally prevents conflicting events from being created. This could be implemented through an additional parameter, or a variant method.
addEvent(): create recurring and repeating events.
addEvent() doesn’t currently create recurring or repeating events.
We may wish to offer a ‘cron-like’ interface for specifying simple recurrence rules when creating meetings.
addEvent(): allow creation of Day Events and Daily Notes.
addEvent() currently adds events as meetings, and cannot add Day Events or Daily Notes. The ability to do so has been requested by several customers.
deleteEvent: delete selected instances of an event.
deleteEvent() currently deletes all instances of an event.
This could be refined, per the capabilities of the Oracle Calendar SDK, to allow specifying a single instance, all instances prior to a specified instance, or all instances after a specified instance.
Changes (non-enhancement) to existing functionality
Add namespace prefixes to several attributes in the results returned
Add prefixes for the appropriate namespace(s) to several attributes in the results returned from the remote procedure calls in the Calendar-WS interface. Due to an inadvertent coding omission, these attributes are currently in the default namespace, rather than the namespace of their corresponding elements. (This will require working with customers, since this change will alter the results format.)
New documentation
Provide schema for the results returned
Provide schema (in XML Schema and/or RELAX NG) for the results returned from the remote procedure calls in the Calendar-WS interface.