Thanks to everyone for their input on this. Well I had no idea that this would open such a can of worms! Mea culpa...
I guess my question really is more the philosophical aspect of *how* the sequence ID is (mis)used. I have items being submitted to DSpace in response to a trigger from another system, but I need to pass back an identifier to that system which matches the *bitstream* per se (hehe), not just the item metadata page. In this particular project, it is the *bitstreams* which are considered persistent objects, not just the items. Problems arise in this case in trying to programmatically extract pointers to bitstreams for external systems, particularly in light of the fact that bitstream names need not be unique (is that right?). But I'm wandering into a [dspace-general] discussion here...I note Richard's previous instigation of discussion on these issues at http://mailman.mit.edu/pipermail/dspace-general/2003-September/000015.ht ml and it would appear that general consensus is that persistent bitstream IDs are *not* a good idea. However, when faced with a project that *requires* them, what is one to do? Regards Gary Gary Browne Development Programmer Library IT Services University of Sydney Australia ph: 61-2-9351 5946 -----Original Message----- From: Larry Stone [mailto:[EMAIL PROTECTED] Sent: Wednesday, 9 May 2007 6:18 AM To: Richard Rodgers Cc: Gary Browne; [email protected] Subject: Re: [Dspace-tech] Sequence ID generation > First, it is assigned sequentially and IDs are not reused if a bitstream > is deleted. There is no magic ordering, and it was *not* intended for > organizing a set of bitstreams into a meaningful sequence (e.g. PDF > chapters of a book). Its sole purpose is to provide a *durable* unique > ID for a bitstream - think of it as a 'sub-handle' ID - modulo an item There's actually a bug in the data model, then. It's possible to get the same sequence ID reused, because when adding a Bitstream, the code only looks for the highest existing SequenceID and increments that. 1. Take an existing Item, go into the "Edit Item" admin page (/dspace/tools/edit-item), and add a new Bitstream with a distinctive name. Say, "foo.pdf". 2. Determine its Sequence ID. Go to the Item page /dspace/handle/<my-handle> and observe the "View/Open" link next to your bitstream, the path element after its handle is the SequenceID. It should be the highest SequenecID there since it was most recently added. There are some "invisible" Bitstreams (like licenses) that also take up SIDs. 3. Go back to the "Edit" page and delete that newest bitstream. 4. Add a different bitstream with a different name, say, "bar.pdf". 5. Go to a freshly-loaded copy of the Item page, and observe that "bar.pdf" has the same SequenceID that "foo.pdf" had before. I'll submit this as a bug on sourceforge too. -- Larry ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ DSpace-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-tech

