I am beginner in Documentum yet (all I have now is Documentum Developer Edition); so advice from an experienced Documentum developer will be very helpful. I need to create a program (on .NET) that will be monitoring specified Documentum Content Server looking for situation ‘property XXX in an object of certain type has changed its value to YYY’.
More detailed example: my program monitors dm_document objects to detect situation ‘a_status has changed its value to ToBeExportedOutside’. After this the program retrieves the document and then exports it to another document management system.
Another example: my program monitors dm_document objects to detect situation ‘the document has been promoted to state ToBeExportedOutside in lifecycle it is attached to’. After this the program retrieves the document and then exports it to another document management system.
The question is: how it is better to do it using DFS? Using DFS, or BFOs, or what?
It sounds like a simple query might do the trick.
Schedule your program to run periodically (possibly as a method). When it starts, have it find work with a select along the lines of: select object_id, r_modify_date from dm_document(all) where a_status = 'ToBeExportedOutside' and r_modify_date > date('01/01/2000') order by r_modify_date
Do your export and save the last r_modify_date used. (You'll use that date later in place of the hard-coded '01/01/2000' date in the example.) If documents are changed without creating a new version, you'll want your program to change a_status to mark the export complete.
You could likely do all this with DFS. But, I'm old school, and still using DFC.