chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florian Müller <>
Subject Re: Connecting OpenCMIS to an ElasticSearch index on an object storage.
Date Fri, 06 Oct 2017 10:41:20 GMT
Hi Tycho,

The OpenCMIS server framework has been used by several companies to 
build CMIS servers. (Alfresco, Nuxeo, SAP, IBM, OpenText, to name a 
few.) They all have different back-ends with different structures or no 
structure at all. It's absolutely feasible to implement a CMIS server 
with the OpenCMIS server framework on top of another data source.

The OpenCMIS Server Development Guide has originally been written for a 
hands-on training. The participants should implement a CMIS server 
within 3 hours. Because of the short period of time, we required a 
backend all participants were familiar with - the file system.

I don't know what is better option for you, taking the code and changing 
it or starting from scratch. Both have pros and cons.
In the end, you need two classes. One derived from 
AbstractServiceFactory and one derived from AbstractCmisService. 
Implement the read-only operations first.

- Florian

> Hello,
> In the project I am currently working on, I am trying to implement an
> OpenCMIS Server to enable a CMIS connection to our repository.
> Following the OpenCMIS Server Development Guide from the corresponding
> Github page (see addendum links), I managed to get the Java project
> running in Eclipse using Maven and a Tomcat server. In the default
> state, this project works with a repository based on a file system
> structure. In other words, it assumes a root and a directory/file
> structure and uses the Java File class to simulate this logic.
> However, the repository I am trying to connect to is an object storage
> repository. This means that there is no mention of a file, or
> directory. On top of this object storage we have an ElasticSearch
> index in which some structure is defined (i.e. there is a file system
> like structure through parent/child relationships in the index). I am
> now wondering if it is possible to rewrite the provided code in such a
> way that it can handle such an object instead of a Java File object.
> My attempts thus far have been unsuccessful, but I have not changed
> all the required parts of the project yet. After working mainly in the
> "" file, I noticed that removing the File
> structure from that file raised errors in files higher up the chain,
> because they expect a File object to be returned.
> My question would then be: "Is it feasible to rewrite this project to
> a project that can handle different object types?". If the only way to
> do that is to rewrite the entire framework, I am unsure if it is even
> worth it.
> I will be glad to explain more details about my project if more
> information is required.
> Kind regards,
> Tycho Nijon
> -----
> addendum:
> [OpenCMIS Server Development Guide PDF]
> [OpenCMIS Server Development Guide github]

View raw message