Chapter 2. Configurations

Components in eXo Collaboration Configuration
CalendarService
HistoryImpl
XMPPMessenger
DefaultPresenceStatus
ContactService
External Component Plug-ins
Calendar Configuration
AddActionsPlugin
Chat Configuration
Contact Configuration
Content Configuration
Mail Configuration
Social Integration Configuration
eXo Chatserver Configuration
Openfire Configuration

This table shows some main components that take init-param in the applications of eXo Collaboration:


Table 2.7. 

Applications Components Description
Calendar NewUserListener It is a plug-in used to create default personal calendars
NewGroupListener It is a plug-in used to create default group calendars
NewMembershipListener It is plug-in used to share calendars to members of a specific group
ReminderPeriodJob It is a plug-in used to execute sending reminder emails to users
PopupReminderPeriodJob It is a plug-in used to open a pop-up reminder on the browser of users
AddActionsPlugin It is a plug-in that helps the systems automatically update the updated date of events / tasks in a calendar when the content of these events / tasks are changed
Chat HistoryPeriodJob It is a plug-in used to save the chat history of users
RequestFilterComponentPlugin It is used to delete the session of a user when he suddenly closes the browser or changes the session
AuthenticationLoginListener It is used to start the session and log in the chat server
AuthenticationLogoutListener It is used to end the session and log out the chat server
Contact NewUserListener It is used to create personal contact data for users
NewMembershipListener It is used to create address book for a specific group
UpdateUserProfileListener It is used to update the personal profile of a user when he changes it on the portal
Content RSSContentPlugin It is a formatter used to analyze the data from a RSS rsource
DescriptionPlugin It is a plug-in to represent the data from a RSS source
Mail AuthenticationLogoutListener It is a plug-in used to stop checking mails of a user when he logs out
Social Intergration CalendarDataInitialize It is a plug-in used to create a calendar for a group in a specific space
ContactDataInitialize It is a plug-in used to create an address book for a group in a specific space
ContactSpaceActivityPublisher It is a plug-in used to customize the activity status of a specific space when an event happens on a address book
CalendarSpaceActivityPublisher It is a plug-in used to customize the activity status of a specific space when an event happens on a calendar
PortletPreferenceRequiredPlugin It is a plug-in used to declare the application that will automatically create database

Each user can have a default personal calendar created. Use the NewUserListener to configure that. To use the plug-in in the component configuration, you must use the target-component:

The configuration is applied mainly in extension /webapp/src/main/webapp/WEB-INF/cs-extension/cs/calendar/calendar-service-configuration.xml

 
	  <component-plugin>
	    <name>calendar.new.user.event.listener</name>
	    <set-method>addListenerPlugin</set-method>
	    <type>org.exoplatform.calendar.service.impl.NewUserListener</type>
	    <description>description</description>
	    <init-params>
        <value-param>
        	<name>defaultEventCategories</name>
        	<value>Meeting,Calls,Clients,Holiday,Anniversary</value>
        </value-param>
        <value-param>
        	<name>defaultCalendarCategory</name>
        	<value>My group</value><!-- Single value-->
        </value-param>
        <value-param>
        	<name>defaultCalendar</name>
        	<value>Default</value>
        </value-param>
        <!--Params for default calendar setting-->
        <value-param>
         <name>viewType</name>
         <value>1</value>
        </value-param>
        
        <value-param>
         <name>timeInterval</name>
         <value>15</value><!-- in minutes -->
        </value-param>
        
        <value-param>
         <name>weekStartOn</name>
         <value>2</value>
        </value-param>
        
        <value-param>
         <name>dateFormat</name>
         <value>MM/dd/yyyy</value>
        </value-param>
        
        <value-param>
         <name>timeFormat</name>
         <value>HH:mm</value> <!-- HH:mm/hh:mm a -->
        </value-param>
        
        <value-param>
         <name>localeId</name>
         <value>BEL</value><
        </value-param>
        
         <value-param>
         <name>timezoneId</name>
         <value>Europe/Brussels</value><
        </value-param>
        
         <value-param>
         <name>baseUrlForRss</name>
         <value></value>
        </value-param>
        
         <value-param>
         <name>isShowWorkingTime</name>
         <value>false</value><!-- boolean true/false -->
        </value-param>
        
         <value-param>
         <name>workingTimeBegin</name>
         <value>08:00</value><!--  -->
        </value-param>
        
         <value-param>
	         <name>workingTimeEnd</name>
	         <value>18:00</value><!--  -->
        </value-param>
        
        <values-param>
	        <name>ignoredUsers</name>
	        <description>Definition users to ignore create default calendar</description>
	        <!-- 
	        <value>demo</value> 
	        <value>marry</value>
	         -->
        </values-param>
          </init-params>    
	  </component-plugin>
	  

Explanation:

See the details about the init-params of the component in the following table:


viewType parameter is encoded by a number as follow:

0 : Day view

1 : Week view

2 : Month view

3 : Year view

4 : List view

5 : Schedule view

6 : Working days view

weekStartOn parameter is encoded as follow:

1 : Sunday

2 : Monday

3 : Tuesday

4 : Wednesday

5 : Thursday

6 : Friday

7 : Saturday

To use the plug-in in the component configuration, you must use the target-component:

The configuration is applied mainly in extension/webapp/src/main/webapp/WEB-INF/cs-extension/cs/calendar/calendar-service-configuration.xml

Explanation:

See the details about the init-params of the component in the following table:


The Calendar application of eXo Collaboration can send event reminders by email by using the email reminder plug-in configuration. You will probably need to adjust this configuration to your own need. The feature is based on a periodic poll of the stored reminders.

You must use the following target component to use the plug-in in this configuration:

The configuration is applied in extension/webapp/src/main/webapp/WEB-INF/cs-extension/cs/cs-configuration.xml

Explanation:

See the details about the init-params of the component in the following table:


You must use the following target component to use the plug-in in this configuration:

The configuration is applied in extension/webapp/src/main/webapp/WEB-INF/cs-extension/cs/cs-configuration.xml

Explanation:

See the details about the init-params of the component in the following table:


The configuration of the AddActionsPlugin is found in WEB-INF/cs-extension/cs/webservice/webservice-configuration.xml It is used to register the listener named org.exoplatform.webservice.cs.LastUpdateAction and it is executed basing on eventTypes.


The Chat congiguration is applied in /extension/webapp/src/main/webapp/WEB-INF/cs-extension/cs/chat/chat-service-configuration.xml

Explanation:

See the details about the init-params of the component in the following table:


Two functions: login and logout of XMPPRestService is responsible for creating a new XMPPSessionImpl and destroying an existed XMPPSessionImpl. They can be called by listeners: AuthenticationLoginListener, AuthenticationLogoutListener or from client(browser) through Rest protocol (jabberLogin, jabberLogout in UIMainChatWindow.js). You must use the same target component for two external component plug-ins:

The Contact Application is configured by three external component plug-ins: NewUserListener, NewMembershipListener and UpdateUserProfileListener. They use the same target component:

The Contact configuration is found in extension/webapp/src/main/webapp/WEB-INF/cs-extension/cs/contact/contact-service-configuration.xml

The Content application such as RSS reader of eXo Collaboration is configured by two external component plug-ins: RSSContentPlugin and DescriptionPlugin Both the external components plug-ins use the same target component:

This content configuration is applied in extension/webapp/src/main/webapp/WEB-INF/cs-extension/cs/content/content-service-configuration.xml

In the Mail application of eXo Collaboration, when a user check messages for one account, the remote mailbox fetch is performed as a background job. Before CS 1.2, the job was continuing until all messages had been retrieved or when the user stopped the check through the UI. Hence, even when a user was not logged in, the background job was continuing. This can be resource intensive for the server if many users have large mailboxes.

Since CS 1.2, we added the capability to halt the background job when the user session terminates (logout or time out). It makes CS more friendly with server resources. If you want to activate this feature, you need to add a bunch of xml congifuration in /extension/webapp/src/main/webapp/WEB-INF/cs-extension/cs/mail/mail-service-configuration.xml:

Explanation:

The Social Integration Configuration is applied in /extension/webapp/src/main/webapp/WEB-INF/cs-extension/cs/social-integration/social-integration-configuration.xml

http://wiki.exoplatform.org/xwiki/bin/view/CS/Chat%20Configuration