A computer-implemented method for processing a request to delete a selected element by a content management system that manages a plurality of elements in a repository, the plurality of elements including the selected element, the method comprising the steps of:
- (A) providing a computer with at least one processor;
- (B) providing a memory coupled to the at least one processor;
- (C) logging in the memory properties for the plurality of elements in the repository that are not represented in any explicit relationships in the repository, wherein the properties comprise probability of reuse, popularity of use, and time of recent usage;
- (D) defining in the memory a deletion policy that specifies criteria for deleting the plurality of elements according to the properties logged in step (C) and according to role of a user making a request to delete a selected one of the plurality of elements;
- (E) receiving from the user the request to delete the selected one element from the repository;
- (F) determining whether the properties logged in step (C) for the selected element satisfy a deletion policy that specifies criteria for deleting the selected element according to the properties logged in step (C) and the role of the user;
- (G) when the properties logged in step (C) for the selected element and the role of the user satisfy the deletion policy, deleting the selected element from the repository in response to the request received in step (E);
- (H) when the properties logged in step (C) for the selected element and the role of the user do not satisfy the deletion policy, not deleting the selected element from the repository in response to the request received in step (E);
- and
- (I) generating a viability value for the selected one element from the properties logged in step (C) and from a viability policy that specifies criteria for setting the viability value according to the probability of reuse, popularity of use, and time of recent usage of the selected one element.