Forum OpenACS Development: Response to Gratuitous use of acs_objects?

Collapse
Posted by Lars Pind on
I feel compelled to revisit this thread a bit.

I was discussing this with Branimir Dolicki the other day, and he told me about what they'd done on one of their projects. He'd ripped out the "parties" and "person" tables so that your user info isn't spread out across four tables, but only two: acs_objects and users. This by itself reduces the number of acs_objects considerably and speeds things up. It took them about 4 developer days to do it across the board, and they're really happy they did it.

Next step will be to de-acs-objectize acs_rels and membership_rels.

I think it sounds like an interesting exercise.

I agree with Branimir that only users, groups, package instances, and content should be acs_objects. Content being things like a bboard posting, a file in the file storage.

And while we're at it, I also agree with him that the content repository is created upside down. What we really need from the content repository is a central place to store title, description, and other generic info that you need for site-wide search or a "what's new" page. Instead of the kludgy acs_object.name() function, which has to do dynamic SQL to figure out something as banal as the name of an object.

Thoughts on this? Might as well start the discussion about what to clean up for our next big release :)