Forum OpenACS Development: Relations should be acs objects

Collapse
Posted by Stephen . on
Currently acs rels are objects, rel types are not (because object types are not). Both rels and rel types should be objects.

It is not uncommon to attach data to a relationship between objects (think acs3 groups, still unmatched); the generic acs attributes mechanism supports this. If object types and rel types were objects, then this generic mechanism would support 'static' attributes too.

If rels have properties then users must provide data, in which case we need to record who entered the data, their ip address, etc.  If users are entering data, then we'll probably want to use permissions.

The implementation of rels must surely have some unique idetifying id, and as per the rest of acs I assume this will be an integer from a sequence. What is the benefit of making rels non objects? These principles apply to more than just rels.