Hi,

I have been trying to add functionality to my custom CMIS server that allows for custom properties to be set. The CMIS server implementation is an adaptation of the OpenCMIS server framework stub, where the File System structure has been replaced by object based storage with ElasticSearch. I need these custom properties to allow not only "cmis:file" types, but also "cmis:folder" types to have a url property where you can download the appropriate metadata file. The "cmis:file" type has a contentStream where you can find the actual content (usually a PDF), where this custom property is also required to link to the metadata file of the "cmis:file".

Based on the instructions at this URL: (https://chemistry.apache.org/docs/cmis-samples/samples/properties/index.html), I have tried multiple variations of the following code:

                // CMIS 1.1 properties
                if (context.getCmisVersion() != CmisVersion.CMIS_1_0) {
                    addPropertyString(result, typeId, filter,
   PropertyIds.DESCRIPTION, null);

                    List<String> secondaryTypes = new ArrayList<String>();
                    secondaryTypes.add("tmlo:metaDataFile");

                    addPropertyIdList(result, typeId, filter,
   PropertyIds.SECONDARY_OBJECT_TYPE_IDS, secondaryTypes);
                    addPropertyString(result, typeId, filter,
   "tmlo:metaDataFile", tmloCmisObject.getMetaDataFileLocation());
                }

/Note that the syntax is slightly different from the URL, because the framework implementation comes with the "addProperty[X]" functions as opposed to the "properties.put" found in the URL.
/

This results in the following exception, however, when trying to connect to the CMIS server:

   CMIS Exception: objectNotFound Type 'tmlo:metaDataFile' is unknown!

      Error Content: <html><head><title>Apache Chemistry OpenCMIS -
   objectNotFound error</title><style><!--H1
   
{font-size:24px;line-height:normal;font-weight:bold;background-color:#f0f0f0;color:#003366;border-bottom:1px
   solid #3c78b5;padding:2px;} BODY
   {font-family:Verdana,arial,sans-serif;color:black;font-size:14px;}
   HR {color:#3c78b5;height:1px;}--></style></head><body><h1>HTTP
   Status 404 -
   <!--exception-->objectNotFound<!--/exception--></h1><p><!--message-->Type
   'tmlo:metaDataFile' is unknown!<!--/message--></p></body></html>

I have not been able to find out what causes the error. There have been responses to similar questions that "custom properties should be defined in the repository", but they come without information on how to actually do that.

If further information is required I will gladly supply it.

Best regards,

Tycho Nijon

--
Digitaal Archief Service

mob      +31 6 43599147
mail     ty...@divault.nl
web      www.divault.com
adres:   Schieland 18, 1948RM, Beverwijk

DiVault in beeld: VIDEO <http://youtu.be/Yse1JvmhJ64>



Deze e-mail inclusief inhoud is alleen voor de ontvanger van deze e-mail.
Elk gebruik anders dan gebruik door de ontvanger is verboden en onrechtmatig.
De verzender is niet verantwoordelijk voor de juiste en complete verzending
van de informatie noch voor enige vertraging.

This email and any attachments thereto may contain private, confidential,
and privileged material for the sole use of the intended recipient.
Any review, copying, or distribution of this email (or any attachments thereto)
by others is strictly prohibited. If you are not the intended recipient,
please contact the sender immediately and permanently delete the original and
 any copies of this email and any attachments thereto.
                              © DiVault 2018

Reply via email to