Hi,
we have a category that has been assigned to about 100'000 documents but has never been used. We have decided to remove this category from all documents and from all their versions in order to delete the category itself.
Is it clear that before delete the category, I have to remove it from all documents. To accomplish this I've written a quick and ugly java function (CWS).
Removing the category from a node is quite simple:
metadata = manager.getDocumentService().getNode(12345).getMetadata();for (int i=0; i<metadata.getAttributeGroups().size(); i++){ if (metadata.getAttributeGroups().get(i).getDisplayName().equals("CategoryName")){ metadata.getAttributeGroups().remove(i); }}manager.getDocumentService().setNodeMetadata(12345, metadata);but remove the category from one old version (in this case version 1) of a node, I get the following error message:
metadataV1 = manager.getDocumentService().getVersion(12345,1).getMetadata();for (int i=0; i<metadataV1.getAttributeGroups().size(); i++){ if (metadataV1.getAttributeGroups().get(i).getDisplayName().equals("CategoryName")){ metadataV1.getAttributeGroups().remove(i); }}manager.getDocumentService().setNodeMetadata(12345, metadataV1);Error updating attributes - data references an earlier version of a Category than is currently set.
Does someone have any idea?
Thanks, R.