Unique Identifiers Database-wide, and what's contained in the URL format

(1) The most popular approach to uniquely identifying objects is creating unique module prefixes, database-wide. As you've noticed, DOORS doesn't mandate that the prefixes be unique however. The prefix naming policy has to be carried out manually each time a user creates a module. Is module creation done by most users, or just a few power users? If it's just a few power users, this approach should work.

(2) Module names are only unique within a single project or folder level (like Windows explorer). Something that's always unique, database wide, is the project name. A tuple that should work fine for identification is "(DOORSDB) -> Project ->Module name or prefix->Object Absolute Number". The drawback here is that modules can be moved to other projects, breaking your identification scheme. Do you allow users to move modules, or will a module spend its life in the same project?

(3) I believe there's also a true unique identifier, database wide, that can only be accessed programmatically. I don't have much information on this ID, but I think it's the one use by the DOORS-Quality Center integration. The drawback to using this ID comes when you archive and restore projects. An archive and restore is really like a copy and paste, so those low-level hidden IDs are regenerated on the paste action. Normally the Restore is to a different database, so new low-level IDs are what you want in that case. But things get complicated though when users move a DOORS-QC project from database Alpha to database Beta, or when they want to overwrite Module X with an old archived version of Module X. Backing up and restoring the entire DB avoids these problems, and all low-level IDs stay intact.
SystemAdmin - Tue Mar 10 00:36:30 EDT 2009

Re: Unique Identifiers Database-wide, and what's contained in the URL format
SystemAdmin - Tue Mar 10 00:39:17 EDT 2009

I didn't mean to post the above text! I copied and pasted it from an email, intending to edit portions for my question. I accidentally hit enter however, the question posted, and now I see there's no option to edit the post. Terrific!

Re: Unique Identifiers Database-wide, and what's contained in the URL format
SystemAdmin - Tue Mar 10 00:51:06 EDT 2009

SystemAdmin - Tue Mar 10 00:39:17 EDT 2009
I didn't mean to post the above text! I copied and pasted it from an email, intending to edit portions for my question. I accidentally hit enter however, the question posted, and now I see there's no option to edit the post. Terrific!

Here are the actual questions I was trying to post...

(1) How can we access the low-level IDs that integrations, like DOORS-Quality Center, seem to be using?

(2) What exactly is contained in a DOORS URL? Is there a unique identifier in there? I experimented by noting a DOORS object URL, then moving the containing module to another project, and changing the module's name. The URL remained constant. Then I tried copying the module and, as you'd expect, the URL changed to ensure uniqueness. This is different then the behavior of Object IDs. So is there a unique ID, database-wide, contained in each DOORS URL? If so, is it a good idea to make use of this unique ID?

Here's an example of a URL for reference -

doors://MySandBoxServer:36677/?version=2&prodID=0&urn=urn:telelogic::1-496426fd21187a67-O-1-00000062

What's going on in this part: 1-496426fd21187a67-O-1-00000062 ??

Re: Unique Identifiers Database-wide, and what's contained in the URL format
SystemAdmin - Tue Mar 10 03:18:07 EDT 2009

SystemAdmin - Tue Mar 10 00:51:06 EDT 2009
Here are the actual questions I was trying to post...

(1) How can we access the low-level IDs that integrations, like DOORS-Quality Center, seem to be using?

(2) What exactly is contained in a DOORS URL? Is there a unique identifier in there? I experimented by noting a DOORS object URL, then moving the containing module to another project, and changing the module's name. The URL remained constant. Then I tried copying the module and, as you'd expect, the URL changed to ensure uniqueness. This is different then the behavior of Object IDs. So is there a unique ID, database-wide, contained in each DOORS URL? If so, is it a good idea to make use of this unique ID?

Here's an example of a URL for reference -

doors://MySandBoxServer:36677/?version=2&prodID=0&urn=urn:telelogic::1-496426fd21187a67-O-1-00000062

What's going on in this part: 1-496426fd21187a67-O-1-00000062 ??

The URL which you posted seems to be different from DOORS own URLs.

Here is a module URL (DOORS 8.3) from my laptop:

doors://PMSOFTQA3:36677/?version=1,prodID=0,dbid=3f4c9b3a51dc63e6,container=00002b21

dbid is the database identifier
container is the module ID, unique in the database (this is probably the same which you mentioned as used by some integration)

and here is an object URL from the above module:

doors://PMSOFTQA3:36677/?version=1,prodID=0,dbid=3f4c9b3a51dc63e6,container=00002b21,object=382,view=00000006

which add the object absolute number (unique in the module) and the number for the view from which this URL was copied from.

Your example "1-496426fd21187a67-O-1-00000062" could contain

database ID 496426fd21187a67
Module ID 00000062
Object absolute number 1 (in O-1) ?