Forum OpenACS Development: Re: Augmenting acs_objects - adding package_id, name, and clarifying other fields

An object can certainly be *related* to more than one package, but it can only be *created* by one package since creation is a one-time-event.  acs-rels or the CR's relationship stuff can be used to do the kind of relating you're talking about.

Including package_id is the traditional way to make a package "subsite aware".  We want all non-singleton packages to be "subsite aware" so they can be mounted under multiple subsites  and still work right (i.e. each instance only diddles with its own objects).  This is such a common case that having it be central to objects makes sense to me ... and making it central to objects increases the odds that a package writer will get the "subsite aware" bit right the first time IMO.

I think it's great we talk about this stuff in great detail, Tom.  We need to carefully consider any changes that make the basic object overhead higher.

Is there a package that uses multiple package_ids per object_id?

I'm asking because I haven't come across this requirement. As said somewhere above in the thread, the ShareNet code (based on some completely forked OpenACS 4.0 beta) has a table acs_objects_description which contains fields like name, description, intermedia datastore, content_type etc. And package_id and the mapping is strictly 1:1 between acs_objects and acs_objects_description (well, you don't necessarily need an entry in acs_objects_description)

The AIESEC code uses a table called acs_named_objects which was added by Timo and I think they are quite happy with that too.

What would be the attributes of an "object description" for the same object  but with a different package_id?