6

CMIS is a protocol to access document file servers.
All of the CMIS servers I know store the files locally in an opaque way, as blobs, with real filenames stored in a database.

Is there a CMIS servers that stores files in such a way that they can be used locally on the server? In other words, the server would just expose a local folder via CMIS, and react correctly when files in this local folder are modified by another program.

Requirements:

  • Compatible with CMIS 1.0 or superior
  • Exposes a local folder
  • Files of the local folder can be read/modified
  • Created files appears via CMIS as soon as they get created, with zero (or default) metadata
  • Free (at least free usable demo, time/volume limits OK), bonus for open source
  • 1
    How production-ready does it need to be? Apache Chemistry provide as one of their demonstration servers OpenCMIS Fileshare Repository which does basically all of what you want, aimed at testing / demos though – Gagravarr May 19 '14 at 9:21
  • @Gagravarr: Nice to see you here! It is for personal use, so it does not need to be rock-solid. Sounds like you could write a great answer :-) – Nicolas Raoul May 20 '14 at 3:27
  • 1
    I stalk the cmis tag across all sites... :) – Gagravarr May 20 '14 at 13:29
2

For production use, I'm not aware of anything. Generally speaking, a filesystem wouldn't offer enough functionality natively for a fully complete and production ready CMIS Server.

However... You've clarified in the comments that this is for personal / demo use, so you're in luck! Apache Chemistry currently ships two different example/demo CMIS Servers, aimed at helping you understand + test how it can all work. One is the In-Memory repository (largely complete, but throws data away when done), the other is the Fileshare repository, which is based on the file system.

From the Fileshare repository docs:

The repository is restricted by the capabilities of the file system and therefore does not support relationships, policies, document versions, multi-filing, un-filing and query.

So, as long as you just want to store and retrieve documents from a filesystem, and don't need anything around versions or querying, it can work for you!

From the Apache Chemistry download page, you'll want to fetch the OpenCMIS Server Webapps package. Once downloaded, you need to provide a simple config file for it, as detailed on the docs page. Basically you need to define your user credentials, a type definitions file, then where on the filesystem each repository lives, and finally which users get access to what.

Don't build your production system on this, but for quick testing it ought to work just fine!

0

Fileshare (suggested by Gagravarr) is great but creates .cmis.xml and cmis.xml to store the metadata of each uploaded file and folder.

So I forked it and modified it so that it only cares about files and not metadata.

Download: FileShare-no-metadata

  • Compatible with CMIS 1.1
  • Exposes a local folder
  • Files of the local folder can be read/modified
  • Created files appears via CMIS as soon as they get created, with default metadata
  • Open source: Apache 2.0 license

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.