<?xml version="1.0" encoding="ISO-8859-1"?>

<configuration
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.exoplatform.org/xml/ns/kernel_1_2.xsd http://www.exoplatform.org/xml/ns/kernel_1_2.xsd"
   xmlns="http://www.exoplatform.org/xml/ns/kernel_1_2.xsd">
       

  <component>
    <key>org.exoplatform.webui.ext.UIExtensionManager</key>
    <type>org.exoplatform.webui.ext.impl.UIExtensionManagerImpl</type>
  </component>
  
  <component>
    <type>org.exoplatform.services.deployment.ContentInitializerService</type>
  </component>

  <!--component>
    <type>org.exoplatform.services.migration.TemplateMigrationService</type>
  </component-->
  
  <!--component>
    <type>org.exoplatform.services.migration.SCVPortletPreferenceMigrationService</type>
  </component-->
  
  <!--component>
    <type>org.exoplatform.services.migration.VoteNodeTypeMigrationService</type>
  </component-->
  
  <component>
    <type>org.exoplatform.services.migration.ActionMigrationService</type>
  </component>  

  <component>
    <key>org.exoplatform.services.cms.CmsService</key>
    <type>org.exoplatform.services.cms.impl.CmsServiceImpl</type>
  </component>		
	
	 <component>
    <type>org.exoplatform.ecm.REST.favorite.FavoriteRESTService</type>
  </component>
	
  <component>
	  <key>org.exoplatform.services.cms.actions.ActionServiceContainer</key>  
	  <type>org.exoplatform.services.cms.actions.impl.ActionServiceContainerImpl</type>
	  <init-params>
      <value-param>
        <name>workspace</name>
        <value>system</value>
      </value-param>
      <value-param>
        <name>repository</name>
        <value>repository</value>
      </value-param>            
    </init-params>    
  </component>  
    
  <component>
    <key>org.exoplatform.services.cms.records.RecordsService</key>
    <type>org.exoplatform.services.cms.records.impl.RecordsServiceImpl</type>
  </component>   
   
  <component>
    <key>org.exoplatform.services.cms.i18n.MultiLanguageService</key>
    <type>org.exoplatform.services.cms.i18n.impl.MultiLanguageServiceImpl</type>
  </component>
  
  <component>
    <key>org.exoplatform.services.cms.drives.ManageDriveService</key>
    <type>org.exoplatform.services.cms.drives.impl.ManageDriveServiceImpl</type>
  </component>    
  
  <component>
	  <key>org.exoplatform.services.cms.folksonomy.NewFolksonomyService</key>  
	  <type>org.exoplatform.services.cms.folksonomy.impl.NewFolksonomyServiceImpl</type>      
	</component>	
	
	<component>
    <key>org.exoplatform.services.cms.metadata.MetadataService</key>
    <type>org.exoplatform.services.cms.metadata.impl.MetadataServiceImpl</type>    
  </component>    
  
  <component>
    <key>org.exoplatform.services.cms.scripts.ScriptService</key>  
    <type>org.exoplatform.services.cms.scripts.impl.ScriptServiceImpl</type>
  </component>
  
  <component>
	  <key>org.exoplatform.services.cms.relations.RelationsService</key>  
	  <type>org.exoplatform.services.cms.relations.impl.RelationsServiceImpl</type>
	  <init-params>
	    <value-param>
	      <name>repositories</name>
	      <value>repository</value>
	    </value-param>
	  </init-params>
	</component>	
  
  <component>
	  <key>org.exoplatform.services.cms.rss.RSSService</key>  
	  <type>org.exoplatform.services.cms.rss.impl.RSSServiceImpl</type>      
	</component>
	
	<component>
	  <key>org.exoplatform.services.cms.voting.VotingService</key>  
	  <type>org.exoplatform.services.cms.voting.impl.VotingServiceImpl</type>      
	</component>
	
	<component>
	  <key>org.exoplatform.services.cms.comments.CommentsService</key>  
	  <type>org.exoplatform.services.cms.comments.impl.CommentsServiceImpl</type>      
	</component>
		
	<component>
	  <key>org.exoplatform.services.cms.watch.WatchDocumentService</key>  
	  <type>org.exoplatform.services.cms.watch.impl.WatchDocumentServiceImpl</type> 
	  <init-params>
      <object-param>
        <name>messageConfig</name>
        <description>description</description>
        <object type="org.exoplatform.services.cms.watch.impl.MessageConfig">
          <field  name="sender"><string>support@exoplatform.com</string></field>
          <field  name="subject"><string>Your watching document is changed</string></field>
          <field  name="mimeType"><string>text/html</string></field>
          <field  name="content">
            <string><![CDATA[
                    Dear $user_name,<br>
                    <br>
                    The document $doc_name ($doc_title) has changed.<br>
                    <br>
                    Please go to <a href="$doc_url">$doc_title</a> to see this change.<br>
                    <br>
                    Thank you,<br>
                    eXo Support Team<br>
                    ]]>
            </string>
          </field>          
        </object>
      </object-param>
    </init-params>        
	</component>	
	
	<component>
	  <key>org.exoplatform.services.cms.queries.QueryService</key>  
	  <type>org.exoplatform.services.cms.queries.impl.QueryServiceImpl</type>
	  <init-params>
	    <value-param>
	      <name>workspace</name>
	      <value>system</value>
	    </value-param>   
	    <value-param>
	      <name>relativePath</name>
	      <value>Private/Queries</value>
	    </value-param>
	    <value-param>
	      <name>group</name>
	      <value>*:/admin</value>
	    </value-param>            
	  </init-params>       
	</component>
	
	<component>
    <key>org.exoplatform.services.cms.templates.TemplateService</key>
    <type>org.exoplatform.services.cms.templates.impl.TemplateServiceImpl</type>    
  </component>
  
  <component>
    <key>org.exoplatform.services.cms.views.ManageViewService</key>
    <type>org.exoplatform.services.cms.views.impl.ManageViewServiceImpl</type>
  </component>
  
  <component>
    <key>org.exoplatform.services.cms.link.LinkManager</key>
    <type>org.exoplatform.services.cms.link.impl.LinkManagerImpl</type>
  </component>
  
	<component>
	  <key>org.exoplatform.services.cms.taxonomy.TaxonomyService</key>  
	  <type>org.exoplatform.services.cms.taxonomy.impl.TaxonomyServiceImpl</type>
	  <init-params>
      <object-param>   
        <name>defaultPermission.configuration</name>   
	        <object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyTreeDefaultUserPermission">
	          <field name="permissions">
	            <collection type="java.util.ArrayList">               
	              <value>                            
	                <object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyTreeDefaultUserPermission$Permission">             
	                  <field name="identity"><string>*:/platform/administrators</string></field>
	                  <field name="read"><string>true</string></field>                
	                  <field name="addNode"><string>true</string></field>                
	                  <field name="setProperty"><string>true</string></field>                
	                  <field name="remove"><string>true</string></field>                  
	                </object>  
	              </value>
                <value>                            
                  <object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyTreeDefaultUserPermission$Permission">             
                    <field name="identity"><string>*:/platform/users</string></field>
                    <field name="read"><string>true</string></field>                
                    <field name="addNode"><string>true</string></field>                
                    <field name="setProperty"><string>true</string></field>                
                    <field name="remove"><string>false</string></field>                  
                  </object>  
                </value>                        
	            </collection>
	          </field>
	        </object>
      </object-param>
	  </init-params>          
	    	
	</component>
  
  <component>
	  <key>org.exoplatform.services.cms.thumbnail.ThumbnailService</key>  
	  <type>org.exoplatform.services.cms.thumbnail.impl.ThumbnailServiceImpl</type>      
	  <init-params>
      <value-param>
      	<name>smallSize</name>
	      <value>32x32</value>
      </value-param>
      <value-param>
      	<name>mediumSize</name>
	      <value>64x64</value>
      </value-param> 
      <value-param>
      	<name>bigSize</name>
	      <value>300x300</value>
      </value-param>
      <value-param>
      	<name>enable</name>
	      <value>false</value>
      </value-param>
      <value-param>
        <name>mimetypes</name>
        <value>image/jpeg;image/png;image/gif;image/bmp</value>
      </value-param>            
    </init-params>
	</component>
	
	<component>    
    <type>org.exoplatform.services.cms.thumbnail.impl.ThumbnailRESTService</type>    
  </component>	
	
	<component>    
    <type>org.exoplatform.services.cms.compress.CompressData</type>    
  </component>
	
	<component>
    <key>org.exoplatform.services.cms.views.ApplicationTemplateManagerService</key>
    <type>org.exoplatform.services.cms.views.impl.ApplicationTemplateManagerServiceImpl</type>
    <init-params>
        <properties-param>
        <name>storedLocations</name>
        	<property name="repository" value="system"/>
        </properties-param>
      </init-params>
  </component>
  
	<component>
    <key>org.exoplatform.services.cms.link.NodeFinder</key>
    <type>org.exoplatform.services.cms.link.impl.NodeFinderImpl</type>
  </component>
  
  <component>
    <type>org.exoplatform.services.cms.impl.DMSConfiguration</type>
  </component>  
  
  <component>
    <key>org.exoplatform.services.cms.documents.DocumentTypeService</key>  
    <type>org.exoplatform.services.cms.documents.impl.DocumentTypeServiceImpl</type>
  </component>
  
  <component>
    <key>org.exoplatform.services.cms.documents.FavoriteService</key>  
    <type>org.exoplatform.services.cms.documents.impl.FavoriteServiceImpl</type>
  </component>  
    
  <component>
    <key>org.exoplatform.services.cms.documents.TrashService</key>  
    <type>org.exoplatform.services.cms.documents.impl.TrashServiceImpl</type>
    <init-params>
      <value-param>
        <name>trashWorkspace</name>
        <value>collaboration</value>
      </value-param>
      <value-param>
        <name>trashHomeNodePath</name>
        <value>/Trash</value>
      </value-param>
    </init-params>
  </component>
  
  <component>
    <key>org.exoplatform.services.cms.timeline.TimelineService</key>  
    <type>org.exoplatform.services.cms.timeline.impl.TimelineServiceImpl</type>
    <init-params>
      <value-param>
        <name>itemPerTimeline</name>
        <value>5</value>
      </value-param>
    </init-params>
  </component>
  
  <component>
    <key>org.exoplatform.services.cms.lock.LockService</key>  
    <type>org.exoplatform.services.cms.lock.impl.LockServiceImpl</type>    
  </component>
  
    <component>
	  <key>org.exoplatform.services.cms.jodconverter.JodConverterService</key>  
	  <type>org.exoplatform.services.cms.jodconverter.impl.JodConverterServiceImpl</type>
	  <init-params>
      <value-param>
        <name>host</name>
        <value>127.0.0.1</value>
      </value-param>
      <value-param>
        <name>port</name>
        <value>8100</value>
      </value-param>            
    </init-params>    
  </component> 
		
  <external-component-plugins>
  	<target-component>org.exoplatform.services.organization.OrganizationService</target-component>		
    <component-plugin>
      <name>drive.new.group.event.listener</name>
      <set-method>addListenerPlugin</set-method>
      <type>org.exoplatform.services.cms.drives.impl.NewGroupEventListener</type>
      <description>New Group Event Listener</description>
    </component-plugin>
				<component-plugin>
      <name>WCMMembershipUpdateListener</name>
      <set-method>addListenerPlugin</set-method>
      <type>org.exoplatform.services.cms.drives.impl.WCMMembershipUpdateListener</type>
    </component-plugin>		
  </external-component-plugins>
		 
  <external-component-plugins>
    <target-component>org.exoplatform.services.cms.lock.LockService</target-component>     
      <component-plugin>
        <name>predefinedLockGroupsOrUsersPlugin</name>
        <set-method>addLockGroupsOrUsersPlugin</set-method>
        <type>org.exoplatform.services.cms.lock.impl.LockGroupsOrUsersPlugin</type>
        <init-params>
          <object-param>
            <name>LockGroupsOrUsers.configuration</name>
            <description>configuration predefined groups or users for lock administrator</description>
            <object type="org.exoplatform.services.cms.lock.impl.LockGroupsOrUsersConfig">
              <field  name="settingLockList">
                <collection type="java.util.ArrayList">                 
			            			<value><string>*:/platform/administrators</string></value>
                </collection>
              </field>
            </object>
          </object-param>  
        </init-params>                  
      </component-plugin>
  </external-component-plugins>
    
  <external-component-plugins>
	  <target-component>org.exoplatform.services.jcr.RepositoryService</target-component>      
	  <component-plugin>
	    <name>add.nodeType</name>
	    <set-method>addPlugin</set-method>
	    <type>org.exoplatform.services.jcr.impl.AddNodeTypePlugin</type>
	    <init-params>
	      <values-param>
	        <name>autoCreatedInNewRepository</name>
	        <description>Node types configuration file</description>
	        <value>war:/conf/wcm-core/nodetypes/nodetypes-config.xml</value>
	        <value>war:/conf/wcm-core/nodetypes/nodetypes-config-extended.xml</value>
	      </values-param>
	    </init-params>
	  </component-plugin>
	</external-component-plugins>
	
  <!-- Configures live time for query service cache -->
  <external-component-plugins>
    <target-component>org.exoplatform.services.cache.CacheService</target-component>
    <component-plugin  profiles="cluster">
      <name>addExoCacheConfig</name>
      <set-method>addExoCacheConfig</set-method>
      <type>org.exoplatform.services.cache.ExoCacheConfigPlugin</type>
      <description>Configures the cache for query service</description>
      <init-params>
	      <object-param>
	        <name>cache.config.ecm.query</name>
	        <description>The clustered cache configuration</description>
	        <object type="org.exoplatform.services.cache.impl.jboss.ea.EAExoCacheConfig">
	          <field name="name"><string>default</string></field>
	          <field name="expirationTimeout"><long>600000</long></field>
	          <field name="maxNodes"><int>5000</int></field>
	          <field name="distributed"><boolean>true</boolean></field>
	        </object>
	      </object-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>

  <external-component-plugins>
    <target-component>org.exoplatform.services.cache.CacheService</target-component>
    <component-plugin  profiles="cluster">
      <name>addExoCacheConfig</name>
      <set-method>addExoCacheConfig</set-method>
      <type>org.exoplatform.services.cache.ExoCacheConfigPlugin</type>
      <description>Configures the cache for query service</description>
      <init-params>
	      <object-param>
	        <name>cache.config.default</name>
	        <description>The clustered cache configuration</description>
	        <object type="org.exoplatform.services.cache.impl.jboss.ea.EAExoCacheConfig">
	          <field name="name"><string>wcm.drive</string></field>
	          <field name="expirationTimeout"><long>600000</long></field>
	          <field name="maxNodes"><int>5000</int></field>
	          <field name="distributed"><boolean>true</boolean></field>
	        </object>
	      </object-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>
  
	<external-component-plugins>
	  <target-component>org.exoplatform.services.listener.ListenerService</target-component>
		<component-plugin>
		  <name>exo.core.security.ConversationRegistry.unregister</name>
		  <set-method>addListener</set-method>
		  <type>org.exoplatform.ecm.utils.LockManagerListener</type>
	  </component-plugin>
	</external-component-plugins>
        <external-component-plugins>
		<target-component>org.exoplatform.upload.UploadService</target-component>
		<component-plugin>
			<name>MIME type Plugins for UploadService</name>
			<set-method>register</set-method>
			<type>org.exoplatform.upload.MimeTypeUploadPlugin</type>
			<init-params>
				<value-param>
					<name>mimetype-path</name>
					<value>war:/conf/wcm-core/mimetype/mimetypes.properties</value>
				</value-param>
				<value-param>
					<name>mimetype-default</name>
					<value>application/octet-stream</value>
				</value-param>
			</init-params>
		</component-plugin>
	</external-component-plugins>
</configuration>
