Activity Service Config

Document created by resplin Employee on Jun 6, 2015
Version 1Show Document
  • View in full screen mode

Obsolete Pages{{Obsolete}}

The official documentation is at: http://docs.alfresco.com



InstallationConfiguration3.2Activities Service


Summary of Activity Service changes for Alfresco 3.2


  • activity user feed will now return all feed entries by default (including the user's own activities)
  • feed cleaner also supports maxFeedSize (in addition to maxAgeMins) and the properties can be overridden (eg. via custom-repository.properties)
  • local feed generator now makes embedded repo calls by default (rather than remote repo callbacks) (hence repo.remote.endpoint.url is ignored by default)
  • iBatis resources are loaded according to Hibernate dialect class hierarchy (hence custom-activities-feed-context.xml and custom-activities-feed-context.xml are no longer required)

Note: for earlier Alfresco releases (pre-3.2) please refer to Activity Service Config for 3.0 and 3.1


Runtime Configuration


With Alfresco 3.2 onwards, the activity service has been re-factored such that iBatis resources are loaded according to Hibernate dialect class hierarchy.

There is no longer a need to override activities configurations. The following installed files are deprecated and ignored, hence can be removed after upgrading from 3.0/3.1 to 3.2:


  • .../alfresco/extension/custom-activities-SqlMapConfig.xml
  • .../alfresco/extension/custom-activities-feed-context.xml

Custom Properties


The repository endpoint (repo.remote.endpoint.url) property is no longer required (unless the local feed generator is overridden to make remote repo callbacks).

Please note: the feed cleaner now also supports the ability to clean site/user feeds to a maxFeedSize, in addition to maxAgeMins.

The following config applies since Alfresco 3.2 (note: after Labs 3.2 preview):


  • The feed cleaner will, by default, purge generated feed entries that are more than 31 days old (feedCleaner -> maxAgeMins)
  • The feed cleaner will, by default, purge generated feed entries for site/user feeds that contain more than 100 entries (feedCleaner -> maxFeedSize)
  • The post cleaner will, by default, purge processed post entries that are more than 30 minutes old (postCleaner -> maxAgeMins)
  • The activity service will, by default, retrieve up to 100 feeds entries (activityService -> maxFeedItems)

The feed cleaner defaults can now be overridden via custom repository properties, for example:

  ...
  # Activity feed max size and max age (eg. 44640 mins = 31 days)
  activities.feed.max.size=100
  activities.feed.max.age.mins=44640
  ...

You can override custom repository properties, by adding to:


  • .../alfresco/extension/custom-repository.properties

Custom Bean Configuration


Some defaults can be overridden via repository properties (see above). If needed, the post cleaner can also be overridden by adding a alfresco/extension/custom-activities-context.xml file. For example:



   <bean id='postCleaner' class='org.alfresco.repo.activities.post.cleanup.PostCleaner'>
      <property name='postDAO' ref='postDAO'/>
      <property name='maxAgeMins'>
         <value>30</value>
      </property>
   </bean>

   <beans>

Custom Scheduled Jobs


The activity service uses a number of scheduled jobs. The parameters to these jobs (such as repeatInterval) can be overridden by adding and/or updating the alfresco/extension/custom-scheduled-action-services-context.xml file. For example:



    <beans>

   
    <bean id='feedCleanerJobDetail' class='org.springframework.scheduling.quartz.JobDetailBean'>
        <property name='jobClass'>
            <value>org.alfresco.repo.activities.feed.cleanup.FeedCleanupJob</value>
        </property>
        <property name='jobDataAsMap'>
            <map>
                <entry key='feedCleaner'>
                    <ref bean='feedCleaner' />
                </entry>
            </map>
        </property>
    </bean>
    <bean id='feedCleanerTrigger' class='org.alfresco.util.TriggerBean'>
        <property name='jobDetail'>
            <ref bean='feedCleanerJobDetail' />
        </property>
        <property name='scheduler'>
            <ref bean='schedulerFactory' />
        </property>
        <property name='startDelayMinutes'>
            <value>5</value>
        </property>
        <property name='repeatIntervalMinutes'>
            <value>10</value>
        </property>
    </bean>

   
    <bean id='feedGeneratorJobDetail' class='org.springframework.scheduling.quartz.JobDetailBean'>
        <property name='jobClass'>
            <value>org.alfresco.repo.activities.feed.FeedGeneratorJob</value>
        </property>
        <property name='jobDataAsMap'>
            <map>
                <entry key='feedGenerator'>
                    <ref bean='feedGenerator' />
                </entry>
            </map>
        </property>
    </bean>
    <bean id='feedGeneratorTrigger' class='org.alfresco.util.TriggerBean'>
        <property name='jobDetail'>
            <ref bean='feedGeneratorJobDetail' />
        </property>
        <property name='scheduler'>
            <ref bean='schedulerFactory' />
        </property>
        <property name='startDelayMinutes'>
            <value>0</value>
        </property>
        <property name='repeatInterval'>
            <value>30000</value>
        </property>
    </bean>
   
   
    <bean id='postLookupJobDetail' class='org.springframework.scheduling.quartz.JobDetailBean'>
        <property name='jobClass'>
            <value>org.alfresco.repo.activities.post.lookup.PostLookupJob</value>
        </property>
        <property name='jobDataAsMap'>
            <map>
                <entry key='postLookup'>
                    <ref bean='postLookup' />
                </entry>
            </map>
        </property>
    </bean>
    <bean id='postLookupTrigger' class='org.alfresco.util.TriggerBean'>
        <property name='jobDetail'>
            <ref bean='postLookupJobDetail' />
        </property>
        <property name='scheduler'>
            <ref bean='schedulerFactory' />
        </property>
        <property name='startDelayMinutes'>
            <value>1</value>
        </property>
        <property name='repeatInterval'>
            <value>15000</value>
        </property>
    </bean>
   
   
    <bean id='postCleanerJobDetail' class='org.springframework.scheduling.quartz.JobDetailBean'>
        <property name='jobClass'>
            <value>org.alfresco.repo.activities.post.cleanup.PostCleanupJob</value>
        </property>
        <property name='jobDataAsMap'>
            <map>
                <entry key='postCleaner'>
                    <ref bean='postCleaner' />
                </entry>
            </map>
        </property>
    </bean>
    <bean id='postCleanerTrigger' class='org.alfresco.util.TriggerBean'>
        <property name='jobDetail'>
            <ref bean='postCleanerJobDetail' />
        </property>
        <property name='scheduler'>
            <ref bean='schedulerFactory' />
        </property>
        <property name='startDelayMinutes'>
            <value>10</value>
        </property>
        <property name='repeatIntervalMinutes'>
            <value>10</value>
        </property>
    </bean>

    <beans>

Attachments

    Outcomes