I'm sure you've already thought of this, but couldn't your migration process 
just persist the legacy ids in a separate location (e.g. database table, 
possibly cached in memory for performance)? Then you would just need to check 
that for each document being migrated, to make sure that the same doc hasn't 
been seen previously.

Not a CMIS related solution, but seems like it would work fine...

The other option, as you suggest, is to see if FileNet supports a 'uniqueness' 
constraint for custom metadata properties. I believe Sharepoint does but not 
sure about FileNet. 

Thanks
michael lucas  |  Senior Software Developer  |  Great-West Life


-----Original Message-----
From: Tim Webster [mailto:[email protected]] 
Sent: June 20, 2014 8:15 AM
To: [email protected]
Subject: document 'uniqueness'

Hi,

I am developing a migration process (using Spring Batch) to migrate documents 
from a legacy CMS into a CMIS-compliant system, and I need to ensure that 
duplicate documents are not created accidentally.

However, our CMIS system (IBM FileNet) allows the addition of documents with 
the same name.  Documents with identical values for cmis:name or 
cmis:contentStreamFilename are allowed.  Even if this could be disabled (I 
don't know if it can or cannot), it is a business requirement and I wouldn't be 
able to.

The only thing I can think of to prevent this is to save the 'legacy' ID of the 
document in a new CMIS property and somehow check that it doesn't already exist 
when adding a new document. However this will be very inefficient and slow down 
the migration (we're talking about up to 2 million documents).

Ideally the 'uniqueness constraint' would be checked on the server and would 
throw an exception, which I could then deal with.

Does anyone know of an easier way to do this, or is there anything I can make 
use of in the CMIS spec to help?

Thanks,

Reply via email to