JBoss.orgCommunity Documentation

Calendar application

The Calendar application of eXo Collaboration uses CalendarWebservice to provide all APIs for working with calendars, such as creating personal/group calendars, sharing calendars, managing events/tasks.

The REST API of Calendar portlet is exposed by org.exoplatform.services.cs.calendar.CalendarWebservice class.

Service name Service URL Location Description
CalendarWebservice $portalname/$restcontextname/cs/calendar

- Maven groupId: org.exoplatform.cs

- ArtifactId: exo.cs.web.webservice

Call extended services of the Calendar application.

Details:

Use the following APIs to build all functions of the Calendar application:

Name Service URL endpoint Parameters Expected Values Description
checkpermission /cs/calendar/checkPermission/{username}/{calendarId}/type}

username

calendarId

type

user id

calendar id

INVALID_TYPE = -1 / PRIVATE_TYPE = 0 / SHARED_TYPE = 1 / PUBLIC_TYPE = 2

Check the permission of a user to a calendar, aiming at defining if the user has the edit permission to the calendar or not.
event /cs/calendar/event/{username}/{eventFeedName}

username

eventFeedName

user id

string

Return a feed RSS that lists links to access a specific event.
feed /cs/calendar/feed/{username}/{feedname}/{filename}

username

feedname

filename

username

string

string

Show the content of a feed that is a list of events in the "filename" file.
publicProcess /cs/calendar/subscribe/{username}/{calendarId}/{type}

username

calendarId

type

user id

calendar id

INVALID_TYPE = -1 / PRIVATE_TYPE = 0 / SHARED_TYPE = 1 / PUBLIC_TYPE = 2

Process the public calendar when having a remote access request.
privateProcess cs/calendar/private/{username}/{calendarId}/{type}

username

calendarID

type

user id

calendar id

INVALID_TYPE = -1 / PRIVATE_TYPE = 0 / SHARED_TYPE = 1 / PUBLIC_TYPE = 2

Process the public calendar when having a remote access request. User must enter username and password to access.
getEvents /cs/calendar/events/personal/{type}/{calids}/{from}/{to}/{limit}

type

calids

from

to

limit

Event/Task

Personal calendar id

long

long

integer

Get personal events/tasks of a particular calendar by time range and limit the number of returned events/tasks by the 'limit' parameter.
upcomingEvent /cs/calendar/getissues/{currentdatetime}/{type}/{limit}

currentdatatime

type

limit

valid time format

INVALID_TYPE = -1 / PRIVATE_TYPE = 0 / SHARED_TYPE = 1 / PUBLIC_TYPE = 2

integer

The list of upcoming events in a specific calendar.
updateStatus /cs/calendar/updatestatus/{taskid}?statusid={status_id}

taskid

status_id

task id

integer with following values:

1 - Need Action

2 - In Progress

3 - Completed

4 - Canceled

Update the status of a task.
getCalendars /cs/calendar/getcalendars no param Get a list of calendars.