Have you wondered how r_object_id is derived, or whether there is any real meaning behind r_object_id. It is kind of documented in Content Server Fundamentals Document if you ever get to read it word to word.
This information always helps me when I am looking through the debug logs or when customer sends me screenshot of their error screen that has object ID.
Here is how it goes The first two digits is a tag which indicates what type of document it is (object type).
for example, if your r_object_id starts with ‘0b’ it means it is an object of dm_folder.
do you want to get the list of all the tags?, sure you can by running the following query?
DQL> list tags;
Tag types
0 dec 0 Unused Tag ID
1 dec 1 DMI_SESSION
2 dec 2 DM_OBJECT
3 dec 3 DM_TYPE
4 dec 4 DM_COLLECTION
5 dec 5 DMR_CONTAINMENT
6 dec 6 DMR_CONTENT
7 dec 7 Unused Tag ID
8 dec 8 DM_SYSOBJECT
9 dec 9 DM_DOCUMENT
10 dec a DM_QUERY
11 dec b DM_FOLDER
12 dec c DM_CABINET
13 dec d DM_ASSEMBLY
14 dec e DM_STORE
15 dec f DM_FULLTEXT
16 dec 10 DM_METHOD
17 dec 11 DM_USER
18 dec 12 DM_GROUP
19 dec 13 Unused Tag ID
20 dec 14 DM_API
21 dec 15 DM_TYPE_MANAGER
22 dec 16 Unused Tag ID
23 dec 17 DM_OUTPUTDEVICE
24 dec 18 DM_ROUTER
25 dec 19 DM_REGISTERED
26 dec 1a Unused Tag ID
27 dec 1b DMI_QUEUE_ITEM
28 dec 1c Unused Tag ID
29 dec 1d DM_EVENT
30 dec 1e DMI_VSTAMP
31 dec 1f DMI_INDEX
32 dec 20 DMI_SEQUENCE
33 dec 21 DM_TRANSACTION_LOG
34 dec 22 DM_FILE
35 dec 23 DMI_OTHERFILE
36 dec 24 Unused Tag ID
37 dec 25 DM_INBOX
38 dec 26 DMI_REGISTRY
39 dec 27 DM_FORMAT
40 dec 28 DM_FILESTORE
41 dec 29 DM_OPTICALSTORE
42 dec 2a DM_LINKEDSTORE
43 dec 2b DM_LINKRECORD
44 dec 2c DM_DISTRIBUTEDSTORE
45 dec 2d DMI_REPLICA_RECORD
46 dec 2e DM_TYPE_INFO
47 dec 2f DM_DUMP_RECORD
48 dec 30 DMI_DUMP_OBJECT_RECORD
49 dec 31 DM_LOAD_RECORD
50 dec 32 DMI_LOAD_OBJECT_RECORD
51 dec 33 DMI_CHANGE_RECORD
52 dec 34 DM_BLOB_TICKET
53 dec 35 DM_STAGED_DOCUMENT
54 dec 36 DM_DIST_COMP_RECORD
55 dec 37 DM_RELATION
56 dec 38 DM_RELATION_TYPE
57 dec 39 Unused Tag ID
58 dec 3a DM_LOCATION
59 dec 3b DM_FULLTEXT_INDEX
60 dec 3c DM_DOCBASE_CONFIG
61 dec 3d DM_SERVER_CONFIG
62 dec 3e DM_MOUNT_POINT
63 dec 3f DM_DOCBROKER
64 dec 40 DM_BLOB_STORE
65 dec 41 DM_NOTE
66 dec 42 DM_REMOTESTORE
67 dec 43 DM_REMOTETICKET
68 dec 44 DM_DOCBASEID_MAP
69 dec 45 DM_ACL
70 dec 46 DM_POLICY
71 dec 47 DM_REFERENCE
72 dec 48 DM_RECOVERY
73 dec 49 DM_IPKG
74 dec 4a DM_WITEM
75 dec 4b DM_BPROCESS
76 dec 4c DM_ACTIVITY
77 dec 4d DM_WORKFLOW
78 dec 4e DM_DD_INFO
79 dec 4f DM_NLS_DD_INFO
80 dec 50 DM_DOMAIN
81 dec 51 DM_AGGR_DOMAIN
82 dec 52 DM_EXPRESSION
83 dec 53 DM_LITERAL_EXPR
84 dec 54 DM_BUILTIN_EXPR
85 dec 55 DM_FUNC_EXPR
86 dec 56 DM_COND_EXPR
87 dec 57 DM_COND_ID_EXPR
88 dec 58 DM_EXPR_CODE
89 dec 59 DM_KEY
90 dec 5a DM_VALUE_ASSIST
91 dec 5b DM_VALUE_LIST
92 dec 5c DM_VALUE_QUERY
93 dec 5d DM_VALUE_FUNC
94 dec 5e DM_FEDERATION
95 dec 5f DM_AUDIT_TRAIL
96 dec 60 DM_EXTERNALSTORE_TAG
97 dec 61 DM_EXTERNALSTORE_FILE_TAG
98 dec 62 DM_EXTERNALSTORE_URL_TAG
99 dec 63 DM_EXTERNALSTORE_FREE_TAG
100 dec 64 DM_SUBCONTENT
101 dec 65 DM_FOREIGN_KEY
102 dec 66 DM_ALIAS_SET
You may wonder what tag does my custom object type gets, it gets the same tag as its super type it is derived from.
The next 6 digits is your docbase ID (the unique id you pick while creating your repository)
In the above example 004962 represents Hex decimal representation of my docbase ID (18786). The last 8 digits is the actual unique number that gets generated by the system.
How about finding physical path of the document in the repository from the unique ID?. Let me save it for next post.