# eXo Collaboration Reference Guide

## exo.cs.docs.refguide - 2.1.0-CR03

## Authors

eXo Platform (eXo Platform)

Copyright © 2010 eXo Platform

## Acknowledgements

This book is produced by the Wikbook tool. Wikbook is an open source project for converting wiki files into a set of docbook files.

## Chapter 1. Prerequisites

## Chapter 2. Applications

## 2.1. List of Portlets

### 2.1.1. List of Portlets

#### 2.1.1.1. Calendar Portlet

The Calendar Portlet is packaged in the Calendar.war file.

##### 2.1.1.1.1. Description

Calendar Portlet shows the Calendar application of eXo Collaboration, that offers a lot of features to users.

The Calendar application includes the following features:

- Create multiple personal calendars, manage calendars easily with calendar groups.

- Quickly create an event or a task using the Quick Add dialog.

- Create events and tasks in details.

- Create all-day events.

- View other attender's availability schedules.

- Create recurring events.

- Get reminders.

- View calendars by various views: day, week, month and year .

- Quickly view events day by day by navigating the mini-calendar.

- Share calendars with others.

- Import/Export calendars.

- Publish your calendars with RSS, CalDAV.

- Search events/tasks in calendars.

- Print your agenda.

##### 2.1.1.1.2. Portlet.xml

See the portlet in the project following this path: /exo.cs.eXoApplication.calendar.webapp/src/main/webapp/WEB-INF/portlet.xml

#### 2.1.1.2. Chatbar Portlet

The Chatbar Portlet is packaged in the Chatbar.war file.

##### 2.1.1.2.1. Description

The Chatbar portlet shows the Chatbar application of eXo Collaboration that can be positioned in the portal or page layout as any other, but behaves as a floating box. The bar remains floating at its location even when browser window is scrolled or resized. It has a fixed height, but expands horizontally to whatever size is available in its container. This allows to place the portlet in two layout cases :

- Large width area (typically header or footer)

- Narrow column

Chat Bar application implements all functions of Chat application with the purpose of allowing user to send and receive messages anywhere after he has logged in.

The Chat Bar is a typical toolbar with buttons that open menus. It gives access to main chat features :

- Status change and presence indicator

- Contacts

- Rooms

- Minimized conversation window

##### 2.1.1.2.2. List of portlet preferences

The Chatbar Portlet consists some preferences as in the following sample code:

    <portlet-preferences>

    			<preference>
    				<name>showMailLink</name>
    				<value>true</value> <!--true/false -->
    				<read-only>false</read-only>
    			</preference>

    			<preference>
    				<name>showCalendarLink</name>
    				<value>true</value> <!--true/false -->
    				<read-only>false</read-only>
    			</preference>

    			<preference>
    				<name>showContactLink</name>
    				<value>true</value> <!--true/false -->
    				<read-only>false</read-only>
    			</preference>

    			<preference>
    				<name>mailUrl</name>
    				<value>portal/private/intranet/mail</value> <!--String page name-->
    				<read-only>false</read-only>
    			</preference>

    			<preference>
    				<name>calendarUrl</name>
    				<value>portal/private/intranet/calendar</value> <!--String page name -->
    				<read-only>false</read-only>
    			</preference>

    			<preference>
    				<name>contactUrl</name>
    				<value>portal/private/intranet/contact</value> <!--String page name-->
    				<read-only>false</read-only>
    			</preference>

    			<preference>
    				<name>info</name>
    				<value>info</value> <!--this is only the key to get the resource bundle the full key : UIConfigForm.label.info -->
    				<read-only>true</read-only>
    			</preference>
    	</portlet-preferences>

Table 2.1.

Preference Name | Possible Values | Default | Description |
--- | --- | --- | --- | ---
showMailLink | True / Fault | True | Show the link of the Mail application. |
showCalendarLink | True / Fault | True | Show the link of the Calendar application |
showContactLink | True / Fault | True | Show the link of the Contact application |
mailUrl | Portal/private/intranet/mail |  | Link to the Mail application |
calendarUrl | Portal/private/intranet/calendar |  | Link to the Calendar application |
contactUrl | Portal/private/intranet/contact | Link to the Contact application |  |
info | Info | Info | This is only the key to get the resource bundle the full key : UIConfigForm.label.info |

##### 2.1.1.2.3. Portlet.xml

See the portlet in the project following this path: /exo.cs.eXoApplication.chatbar.webapp/src/main/webapp/WEB-INF/portlet.xml

#### 2.1.1.3. Chat Portlet

The Chat Portlet is packaged in the Chat.war file.

##### 2.1.1.3.1. Description

The Chat Portlet shows the Chat application of eXo Collaboration that allows users to enter chat rooms and communicate with online others at real time.

##### 2.1.1.3.2. Portlet.xml

See the portlet in the project following this path: /exo.cs.eXoApplication.chat.webapp/src/main/webapp/WEB-INF/portlet.xml

#### 2.1.1.4. Contact Portlet

Contact Portlet is packaged in the Contact.war file.

##### 2.1.1.4.1. Description

Contact Portlet shows the Contact application of eXo Collaboration that allows users to personalize their contact view from different view types such as List view and VCards view.

##### 2.1.1.4.2. Portlet.xml

See the portlet in the project following this path: /exo.cs.eXoApplication.contact.webapp/src/main/webapp/WEB-INF/portlet.xml

#### 2.1.1.5. Mail Portlet

The Mail Portlet is packaged in the Mail.war file.

##### 2.1.1.5.1. Description

Mail Portlet shows the Mail application of eXo Collaboration that offers a lot of feature to users such as sending, receiving or viewing their mails through Internet without actually downloading them to their computer. Users not only take advantages of eXo Mail by keeping and receiving all important messages, files and pictures forever but also by looking for and viewing their needed messages easily whenever they want. Additionally, eXo Mail is smoothly integrated with other Collaboration modules such as Address Book and Calendar.

##### 2.1.1.5.2. Portlet.xml

See the portlet in the project following this path: /exo.cs.eXoApplication.mail.webapp/src/main/webapp/WEB-INF/portlet.xml

#### 2.1.1.6. RSSreader Portlet

The RSSreader Portlet is packaged in the Rssreader.war file.

##### 2.1.1.6.1. Description

eXo Collaboration uses the RSS Reader Portlet that facilitates users to quickly get a view of their favorite feeds around the web. They will get the latest news, the last updated posts from their favorite blogs, latest emails,etc.

##### 2.1.1.6.2. Portlet.xml

See the portlet in the project following this path: /eXoApplication/content/webapp/src/main/webapp/WEB-INF/portlet.xml

## 2.2. List of Gadgets

### 2.2.1. List of Gadgets

eXo Collaboration consists three gadgets: eventslist, taskslist and messageslist. They are packaged in the csResources.war file.

#### 2.2.1.1. Eventslist

##### 2.2.1.1.1. Description

Eventslist lists the maximum number of upcoming events, that is configurable by users. For example, they can set the preference list to 5 or 10 events.

##### 2.2.1.1.2. Description of Preferences

See the prefereces of this gadget in the following sample code:

    <UserPref name="url" display_name="__MSG_baseurl__" datatype="string" value="/calendar" required="true"/>
            <UserPref name="subscribeurl" display_name="__MSG_subscribeurl__" datatype="string" value="/portal/rest/private/cs/calendar/upcoming" required="true"/>
            <UserPref name="limit" display_name="__MSG_limit__" default_value="10" datatype="string"/>
            <UserPref name="timeformat" display_name="__MSG_format__" default_value="AM/PM" datatype="enum" >

Details:

Table 2.2.

Preferences | Description
--- | ---
url | link to Calendar portlet
Subscribeurl | link to upcoming events
limit | The maximum number of upcoming events
timeformat | The time format for upcoming events

More details on the preferences of gadgets, see the link: http://code.google.com/apis/gadgets/docs/basic.html#Userprefs

##### 2.2.1.1.3. Links to used REST services

It uses upcomingEvent service in the following package: org.exoplatform.webservice.cs.calendar.CalendarWebservice.java

#### 2.2.1.2. Taskslist

Taskslist list the maximum number of upcoming tasks that is configurable by users. For example, they can set the preference list to 5 or 10 tasks.

##### 2.2.1.2.1. Description of Preferences

See the prefereces of this gadget in the following sample code:

    <UserPref name="setting" default_value="/calendar:/portal/rest/private/cs/calendar/upcoming:10:AM/PM:Default" datatype="hidden" />

Details: Setting: It collects all the configuration of upcoming tasks and add some more functions to help developers change the configuration of the default skin.

##### 2.2.1.2.2. Links to used REST services

It uses upcomingEvent service in the following package: org.exoplatform.webservice.cs.calendar.CalendarWebservice.java

#### 2.2.1.3. Messageslist:

It lists the maximum number of unread messages, that is configurable by users.

##### 2.2.1.3.1. Description of Preferences

See the prefereces of this gadget in the following sample code:

    <UserPref name="url" display_name="__MSG_baseurl__" datatype="hidden" value="/mail" required="true"/>
            <UserPref name="subscribeurl" display_name="__MSG_subscribeurl__" datatype="hidden" value="/portal/rest/private/cs/mail/unreadMail" required="true"/>
            <UserPref name="limit" display_name="__MSG_limit__" default_value="5" datatype="hidden"/>
            <UserPref name="account" display_name="__MSG_account__" default_value="" datatype="hidden"/>
            <UserPref name="folder" display_name="__MSG_folder__" default_value="" datatype="hidden"/>
            <UserPref name="tag" display_name="__MSG_tag__" default_value="" datatype="hidden"/>

Details:

Table 2.3.

Preferences | Description
--- | ---
Url | The Url of Mail Application
Subscribeurl | link to upcoming messages
Limit | The number of displayed unread messages that is set by users
Account | The mail account in Mail application
Folder | The folder consits unread messages
Tag | The tags in all unread messages

##### 2.2.1.3.2. Links to used REST services

It uses unreadMail service in the following package: org.exoplatform.webservice.cs.mail.MailWebservice.java

## Chapter 3. Configurations

## Chapter 4. Developers reference