What is the Property Bag and What is it Used for?

Each dm_sysobject and subtype has a property bag, implemented as a 2000-character STRING field.  Actually, there are two property bag fields:

  • i_property_bag – used first, until it is full,
  • r_property_bag – a repeating field of (STRING(2000)) used for overflow from the i_property_bag field.

Great.  What are they used for?  Good question.

The EMC Documentum Content Server Fundamentals manual and EMC Documentum Content Server DQL Reference Manual shed some light on their use as they pertain to non-qualifiable properties and Aspect properties tagged for optimized fetching.  OK.  So, what does that mean?

Non-qualifiable properties are metadata attached to a sysobject that cannot be used in the WHERE clause of a DQL query (i.e., they can’t be compared).  They can, however, be used in the SELECT list.  You can make properties “non-qualifiable” in Composer when you create the property definitions.

As discussed in a previous post, Aspects store their properties in tables in the database.  By default, Aspect properties are also stored in the the property bag (i.e., they are optimized) for quick retrieval.  If you do not want to optimize Aspect properties, you can use the NO OPTIMIZEFETCH keywork in a DQL ALTER ASPECT statement.  I’m not sure why you wouldn’t want to optimize Aspect properties, but you can.

So, what does all of this get you?  Perhaps nothing.  In my entire career implementing Documentum solutions, I have never had to do anything explicitly with the property bag.  However, knowing what it is and how it works gets you one step closer to understanding the Content Server’s inner workings.

Have you ever done anything with the property bag?  I’d like to hear about it.


About Scott
I have been implementing Documentum solutions since 1997. In 2005, I published a book about developing Documentum solutions for the Documentum Desktop Client (ISBN 0595339689). In 2010, I began this blog as a record of interesting and (hopefully) helpful bits of information related to Documentum, and as a creative outlet.

4 Responses to What is the Property Bag and What is it Used for?

  1. doquent says:

    Hi Scott,

    I think that property bags would be most relevant for high-volume and/or performance-focused scenarios. I haven’t used property bags explicitly, but I did write about the concept (http://doquent.wordpress.com/2007/09/30/new-in-d6-platform-property-bag/) when it was introduced in D6.



    • Scott says:

      Thanks for checking in here, Pawan. I wish I had run across your post while researching mine; your’s is very in depth. Glad the two are linked now.


  2. Pingback: Property bag | Winnersatgamin

  3. Hari says:

    Perhaps in the real world we can use the property bag to store the values of attributes which are more than 2000 chars.. for example, notes field of an object type might require to store more than 2000 chars…


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: