Consider an example of passport that is expiring in some time. You will receive a notification on basis of which you can decide whether the passport needs to be renewed.

Similarly web content will also have certain life cycle to manage.  For example a corporate policy may have to be revisited on yearly basis as per the corporate guidelines.  Hence a policy page on the website (or Intranet) must be reviewed and updated periodically.

Another good example is online "Promotions" we see on various websites. Usually the promotions run for  a specific time and they will be taken off.

What if we forget to renew/review a particular content on website?  What if we forget to remove a promotions page after the deadline is passed? This could be a big business risk.

Many WCM (Web Content Management) systems do have a feature to "expire" content at a specific date and time (as specified while publishing the content).  Then you can send the content through workflow process either to renew or update or remove such content based on the business need.

Alfresco WCM

Alfresco WCM manages the content and structure of websites, including the framework and navigation, creation, modification, approval and publication processes. It also provides the feature that notifies about the content expiry.

Specific expiration dates can be set on a global or asset-by-asset basis ,for any changes promoted to the site,. Expiration is the only indication that the content is expired. The content is not disabled or hidden in the staging sandbox. Upon expiration, end-users are automatically assigned the asset as a task so that they can make a determination whether the asset should be updated or removed from the site.

The repository checks periodically for expired items. When any expired items are found they are added to a workflow and sent to the user that last modified the asset. If multiple items are destined for the same user they are batched up into a workflow for each Web Site the asset belongs to.

Clicking on the task will launch the Manage Task dialog that lists all the expired items, from here the assigned user can perform the relevant action on each item. These changes occur in isolation from the users sandbox, thus not affecting any work they may currently be doing in their sandbox. The workflow however is layered over the users sandbox so any changes they have made in their sandbox will be visible.

Configuration

Configuration for content expiration is in one file, scheduled-jobs-context.xml .you'll find the file in the alfresco package i.e. tomcat-home/webapps/alfresco/WEB-INF/classes/alfresco /scheduled-jobs-context.xml contains the configuration for the frequency of expired item checks. By default it is set to check once a day at 3:30am. You can make the changes for cron expression and check the expiration date functionality. For example , make the changes in cron expression as suggested below.

<property name="cronExpression">

             <value>0 3 * * * ?</value>

 </property>

This will run the scheduler in every hour at three past the hour and will check for the expired item.

Submit any item and apply expiration date as mentioned below.

After 14th December 15:45, you will find task in “My Task To Do” dashlet as shown in the below screen shot.
 
 
CIGNEX has authored a book on Alfresco WCM which includes more details.
 
 

- By Amita Bhandari,

CIGNEX Consultant, Co-author of Alfresco WCM Book, Alfresco 3 ECM Book