You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by Serge Huber <sh...@jahia.com> on 2013/07/05 16:59:10 UTC

Common VFS FileSystem using OpenCMIS

Hi guys,

I have been playing around with some code lately because I thought it might
be interesting to integrate Apache Common VFS and the OpenCMIS client API.

The main idea behind this project was to make it possible for any project
that already integrates Common VFS to simply become compatible with CMIS
simply by deploying a few JARS and using a new URL to connect to a CMIS
repository.

The current implementation is of course very young (only basic
browse/read/write support), but I was wondering if there was some wider
interest for such a thing.

You can find the current code in the following Github repository :

https://github.com/Jahia/commons-vfs-cmis

Before starting this I actually search if anybody had attempted to do this
before but I couldn't find anything. I also chose to implement against
Commons VFS 1.0, despite being quite old it is still used in a lot of
projects (including our own).

I try to keep the root README.md file up to date to reflect the current
status of the project as much as possible.

I have successfully tested this with the OpenCMIS InMemory public
repository as well as Alfresco's public CMIS repository and a local
installation of Alfresco. Only the AtomPub binding is currently implemented
but it should be reasonably easy to implement more. If anybody wants to
test this against more repositories you can simply do so by specifying a
command line parameter like in this example :

mvn clean install -Dtest.cmis.uri=cmis:atompub://
admin:admin@cmis.alfresco.com/cmisatom

Of course I welcome all feedback, I hope other here will find this
interesting.

Best regards,
  Serge Huber.

Re: Common VFS FileSystem using OpenCMIS

Posted by Serge Huber <sh...@jahia.com>.
Hello Jens, 

I actually chose Apache Common VFS because I needed it for some of my applications that already integrate with this library :) 

But Commons VFS is still quite a good choice since it implements a lot of useful filesystems, such as : 
- FTP
- WebDAV
- Zip, Jar, ... 
- Tar, Gzip
- CIFS
- Mime
and a lot of others.

Also, it is available I think as far back as JDK 1.3 (for version 1.0) so that makes it usable in a lot of older code. 

Part of the idea was to bring new capabilities to old code, simply by deploying my commons-vfs-cmis.jar and its dependencies, and giving it a proper URI to connect to a CMIS repository. I'm happy to be able to say that my implementation definitely shows that this works at least as a proof of concept, possibly even more.

Now I'm not very familiar with the new JDK 7 FileSystem provider interface, but this is on the opposite side of the spectrum in terms of support :) So it would be great to also have such an implementation, but I won't be able to use it out of the box for my projects right now at least since it would require using the new JDK 7 API.

Best regards,
  Serge Huber.

Envoyé de mon iPad

Le 6 juil. 2013 à 18:21, "Huebel, Jens" <j....@sap.com> a écrit :

> Hi Serge,
> 
> interesting a week ago I looked at something similar: The Java 7 File
> System Provider:
> http://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/filesystemprov
> ider.html
> 
> I never looked at the Apache VFS but I guess both of them have similar
> ideas. Personally I would tend to use the Java standard, if functionality
> is similar. Is there any reason why you took the Apache route?
> 
> I did not so any coding so far, and implementing the JDK 7 API seems not
> to be  a trivial task if I look at the sample code. But having a simple
> file like API for CMIS is definitely something I would be interested in.
> 
> Keep us informed about your progress please!
> 
> Jens
> 
> 
> 
> On 05.07.13 16:59, "Serge Huber" <sh...@jahia.com> wrote:
> 
>> Hi guys,
>> 
>> I have been playing around with some code lately because I thought it
>> might
>> be interesting to integrate Apache Common VFS and the OpenCMIS client API.
>> 
>> The main idea behind this project was to make it possible for any project
>> that already integrates Common VFS to simply become compatible with CMIS
>> simply by deploying a few JARS and using a new URL to connect to a CMIS
>> repository.
>> 
>> The current implementation is of course very young (only basic
>> browse/read/write support), but I was wondering if there was some wider
>> interest for such a thing.
>> 
>> You can find the current code in the following Github repository :
>> 
>> https://github.com/Jahia/commons-vfs-cmis
>> 
>> Before starting this I actually search if anybody had attempted to do this
>> before but I couldn't find anything. I also chose to implement against
>> Commons VFS 1.0, despite being quite old it is still used in a lot of
>> projects (including our own).
>> 
>> I try to keep the root README.md file up to date to reflect the current
>> status of the project as much as possible.
>> 
>> I have successfully tested this with the OpenCMIS InMemory public
>> repository as well as Alfresco's public CMIS repository and a local
>> installation of Alfresco. Only the AtomPub binding is currently
>> implemented
>> but it should be reasonably easy to implement more. If anybody wants to
>> test this against more repositories you can simply do so by specifying a
>> command line parameter like in this example :
>> 
>> mvn clean install -Dtest.cmis.uri=cmis:atompub://
>> admin:admin@cmis.alfresco.com/cmisatom
>> 
>> Of course I welcome all feedback, I hope other here will find this
>> interesting.
>> 
>> Best regards,
>> Serge Huber.
> 

Re: Common VFS FileSystem using OpenCMIS

Posted by "Huebel, Jens" <j....@sap.com>.
Hi Serge,

interesting a week ago I looked at something similar: The Java 7 File
System Provider:
http://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/filesystemprov
ider.html

I never looked at the Apache VFS but I guess both of them have similar
ideas. Personally I would tend to use the Java standard, if functionality
is similar. Is there any reason why you took the Apache route?

I did not so any coding so far, and implementing the JDK 7 API seems not
to be  a trivial task if I look at the sample code. But having a simple
file like API for CMIS is definitely something I would be interested in.

Keep us informed about your progress please!

Jens



On 05.07.13 16:59, "Serge Huber" <sh...@jahia.com> wrote:

>Hi guys,
>
>I have been playing around with some code lately because I thought it
>might
>be interesting to integrate Apache Common VFS and the OpenCMIS client API.
>
>The main idea behind this project was to make it possible for any project
>that already integrates Common VFS to simply become compatible with CMIS
>simply by deploying a few JARS and using a new URL to connect to a CMIS
>repository.
>
>The current implementation is of course very young (only basic
>browse/read/write support), but I was wondering if there was some wider
>interest for such a thing.
>
>You can find the current code in the following Github repository :
>
>https://github.com/Jahia/commons-vfs-cmis
>
>Before starting this I actually search if anybody had attempted to do this
>before but I couldn't find anything. I also chose to implement against
>Commons VFS 1.0, despite being quite old it is still used in a lot of
>projects (including our own).
>
>I try to keep the root README.md file up to date to reflect the current
>status of the project as much as possible.
>
>I have successfully tested this with the OpenCMIS InMemory public
>repository as well as Alfresco's public CMIS repository and a local
>installation of Alfresco. Only the AtomPub binding is currently
>implemented
>but it should be reasonably easy to implement more. If anybody wants to
>test this against more repositories you can simply do so by specifying a
>command line parameter like in this example :
>
>mvn clean install -Dtest.cmis.uri=cmis:atompub://
>admin:admin@cmis.alfresco.com/cmisatom
>
>Of course I welcome all feedback, I hope other here will find this
>interesting.
>
>Best regards,
>  Serge Huber.