Documentum Thumbnail Server Security violation error

At some point on time, you might come across thumbnails not showing in your application and the following error on the Thumbnail Server log:

[DEBUG] : [DM_TS_T_RETRIEVE_DOCBASE_THUMB] Retrieving docbase thumbnail...
[DEBUG] : [DM_TS_T_RETRIEVE_STORE] Retrieving storage area...
[DEBUG] : getting storage area for docbase: xxxxxxxxx store: tcs_thumbnail_store_01
[DEBUG] : [DM_TS_T_CHECK_SECURITY] Checking security...
[DEBUG] : About to start reading files...
[DEBUG] : Trusted content store found, will use DFC for decryption
[DEBUG] : Content paramters are: format= null; page=null; page modifier=null
[DEBUG] : will be validating & retrieving object 09xxxxxxxxxxx
[DEBUG] : Session ok for xxxxxx
[ERROR] : Security violation: Url store details mismatches with objectID 09xxxxxxxxxxx

In this case you’ll probably will be wondering what’s going on. Well, this is basically a SCE (Severe Concept Error) coming from the talented team. Let’s check the faulty code coming from the getThumbnail servlet:

if (session != null) {
    IDfSysObject originalDoc = (IDfSysObject) session.getObject((IDfId) new DfId(objectId));

   String actualPath = originalDoc.getPathEx2(thumbFormat, thumbPage, thumbPageMod, false);
    int storeIndex = actualPath.indexOf(store);
    if (storeIndex != -1) {
        actualPath = actualPath.substring(storeIndex).replace("/", "\\");
        if (!actualPath.equalsIgnoreCase(store + "\\" + store)) {
            throw new IllegalAccessException();
        }
    } else {
        throw new IllegalAccessException();
    }


If you look closely you’ll realize the absurdity of this line: int storeIndex = actualPath.indexOf(store);

This clearly shows the lack of understanding about Documentum as:

  1. This creates a constraint between the filestore name, and the name of the folder on the disk
  2. Hi OT Engineering team, have you ever heard of something called dm_location object? If you already have the session, and you have the filestore, why don’t you get the folder location from the associated dm_location object instead?

So, until OT decides to fix this, if for some reason your folders on disk are not named exactly as your thumbnail stores, you already know why thumbnails might not show up.