The system I am currently working on, attaches custom aspect with an expiryDate property, the property value is set with the document when it is being uploaded (programmatically in Java), this expiry date is depend upon some conditions which i check in my uploading code. I have millions of documents uploaded this way, and to delete expired documents I have written a ActionExecutor which checks for expired document using this property and deletes those documents.
Now when i was going through this http://wiki.alfresco.com/wiki/Workflow_with_Activiti , I was wondering this may be helpful for me so that i can attach my custom workflow with my uploaded document and execute that flow using WorkflowTimer, i.e execute some delete script after X no of days.
Will this latter approach will be efficient & helpful when i'll have thousands of documents uploaded daily.?
Using a workflow for time-triggered system behaviour is not recommended. Only when an actual workflow with user interaction is necessary for the deletion would I use that feature. I would use scheduled actions or cron-based jobs to regularly execute your action in order to delete your expired content.