Article Index

However, we like to share with you how you can deactivate documents.

 

Preparation

---------------

- Create a Cabinet called Deactivated

- Create an ACL called HIDDEN, where you revoke world read permission

- Mark documents that you want to deactivate by changing the subject of the document to deactivate

 

Notes:

- If you like to use the queries below, be sure to test them first in a safe environment / test system

 

- The sample queries will deactivate dm_document type and any subtypes of dm_document!

- Complete version trees will be deactivated

- Only 1 version in the tree needs to have the subject set to deactivate to deactivate the complete tree

 

- It will only execute on versions that exist outside the /Deactivated cabinet

- In the Step 2 UPDATE statement, modify the SET acl_domain to reflect your docbase name

 

Step 1: Identify which Versions are going to be deactivated:

 

SELECT *

FROM dm_document (ALL) doc1

WHERE r_object_id IN

(SELECT r_object_id FROM dm_document (ALL) doc2

WHERE doc2.r_object_id = doc1.r_object_id AND NOT FOLDER ('/Deactivated'))

AND i_chronicle_id IN

(SELECT i_chronicle_id FROM dm_document (ALL) doc2 

WHERE doc2.i_chronicle_id = doc1.i_chronicle_id

AND UPPER(subject) LIKE UPPER('deactivate%'))

ORDER BY object_name

 

Step 2: Deactivate the complete version trees:

 

UPDATE dm_document (ALL) doc1 OBJECTS

SET r_immutable_flag = FALSE

SET acl_domain = '*YOUR DOCBASE NAME*'

SET acl_name = 'HIDDEN'

MOVE TO '/Deactivated'

WHERE r_object_id IN

(SELECT r_object_id FROM dm_document (ALL) doc2

WHERE doc2.r_object_id = doc1.r_object_id AND NOT FOLDER ('/Deactivated'))

AND i_chronicle_id IN

(SELECT i_chronicle_id FROM dm_document (ALL) doc2 

WHERE doc2.i_chronicle_id = doc1.i_chronicle_id

AND UPPER(subject) LIKE UPPER('deactivate%'))

 

 

If you have questions or comments, be sure to send an e-mail to This email address is being protected from spambots. You need JavaScript enabled to view it. or post in our forum at http://www.canservices.nl