We are facing the situation again where we want to have a multi relationship mapping between objects, but where acs-rels is overkill as each relationship is an object.
In https://openacs.org/forums/message-view?message_id=238631 it was said that we should use our own mapping table, as this was inside one application.
But now we are facing the fact that we have one file (a PDF generated out of data in our invoice table (CR)) which should be stored in multiple folders (with the client, with the project and in the accounting folder) but where the parent_id is the cr_item_id of the invoice (as the file was derived from there).
Should we use acs-rels? Should we create a custom mapping table (again)? Or should we create acs-rels-light?
My first intention was to say "I don't care about overkill" due to the fact that postgres does perform well with a large number of entries in a table. But on the other hand, we do not have to tickle the devil. Judging from past experience I'm strictly against yet another custom table with yet another set of procedures that does exactly the same stuff as acs-rels, except create an object for the relationship. Which leaves me with acs-rels-light.
As acs-rels-light would not be a core package and file-storage (where we would have to change the folder-chunk view) isn't either, this does not require a TIP, but hopefully some people can say "yeah, good idea" or "no, use acs-rels and don't worry".
We are expecting around 2 million relationships per year because of these relationships, to give a more detailed figure.