Forum OpenACS Q&A: Re: RFC: Avoid exposing object_ids in permanent URLs

Collapse
Posted by Jeff Davis on
One drawback with the "number by package id" thing is it means you have number_id collisions between packages and you can't easily move things between packages and you can't have a generic dispatch routine (like the yourserver.com/obj/ID). To make this concrete, take bug tracker on openacs.org. There are two instances created: one for openacs.org bugs and the other for openacs bugs generally. Often a bug submitted in one or the other instance should be moved but as it stands the bug id's collide. Furthermore, patches submitted to cvs with bug #s in them are ambiguous since generally you just say bug X/patch Y and don't specify the package #.

I think there is a lot of value to making moving things around on the site easier and I think having a generic object dispatch could be a great thing (especially in the context of aggregated site views like a new-content page and for searching).

If being able to ensure a range of object_ids are available, we could put a hook in to the bootstrap loader to start at some higher number so that you could find the highest number on the current site, start above that and hence ensure the range is available. Of course if you are merging two sites all bets are off, but I am not sure that's a big deal.

Collapse
Posted by Jeff Davis on
Actually I guess since you would not consider a generic dispatch url to be a "permanent" url as it would never do anything other than issue a 302 to the "real URL" that criticism is not really valid.

I do find the ambiguity of bug IDs accross instances on a single site to be a drawback in the design...