Collections currently are implemented (
NXP-13793) with two schemas:
- collection, on the Collection object, which holds a list of ids of documents in the collection,
- collectionMember, on the document itself, which holds a list of ids of the collections it belongs to.
However collectionMember is mostly redundant and only useful for one use case, content views (collection_content_contentview, favorites_content_contentview) and page providers (default_collection_candidate) that need to list documents belonging to a given collection.
NXP-18885 it's possible to do a query like SELECT collection:documentIds/* FROM Collection WHERE ecm:uuid = ? to list the documents in a collection, so collectionMember becomes unneeded.
-> Remove collectionMember and all the complex code that had to maintain it in sync with collection.