Checksum Aspect – Part 0

Recently, I was playing around with some code for calculating checksums of files. (I’ve always been fascinated with one-way hashes/checksums. Here is a good overview of them if you are curious.)  A checksum is essentially a file’s fingerprint and can be used to validate its integrity.  It is usually represented as a string of numbers and letters anywhere from 32 to 512 characters long.  For example: 9e107d9d372bb6826bd81d3542a419d6 is a 32-character MD5 checksum.

After playing with this code for a while, I thought it would be cool if every object in my Docbase (with content) contained a checksum. That way, I could validate whether the content had changed or not.  So, how could I apply a checksum as metadata to every object in my Docbase? I didn’t want to modify every object definition to include a ‘checksum’ attribute. (How could I do that to a dm_document anyway?) There had to be another way.  And there was: Aspects. This checksum idea seemed like the perfect opportunity to further explore two interesting programming ideas: checksums and Documentum Aspects.

This series of posts will chronicle my experimenting with developing and deploying a simple checksum Aspect. Specifically, I will cover these topics:

Stay tuned!

Note: If you are using Content Storage Services (CSS), Documentum uses an SHA-1 algorithm to generate a checksum (stored on dmr_content.r_content_hash) to do de-duplication checking.


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.

3 Responses to Checksum Aspect – Part 0

  1. Pingback: Where do Aspects Store Atribute Values? « dm_misc: Miscellaneous Documentum Tidbits and Information

  2. Pingback: “The Basics” Series | dm_misc: Miscellaneous Documentum Information

  3. Pingback: Links to All of My Source Code | dm_misc: Miscellaneous Documentum Information

Leave a Reply

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

You are commenting using your 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: