cancel
Showing results for 
Search instead for 
Did you mean: 

New OpenSource CMIS Sync utility

smcardle
Champ in-the-making
Champ in-the-making
Hi All

I have just uploaded a couple of new projects to SourceForge under the Apache 2.0 license to enable synchronisation between any CMIS 1.0+ enabled Repository, such as Alfresco, and ANY File System you have access to, including Networked drives.

I actually wrote these because of issues I had with the Alfresco DesktopSync.


<strong><em>eoss-esync (eSync)</em></strong> http://sourceforge.net/projects/eoss-esync/

The <strong>eSync</strong> project is a Java library, that uses OpenCMIS under the hood, and simplifies creating Java applications that need to integrate synchronisation between file systems and CMIS repositories. <strong>eSync</strong> handles Create, Update, Delete and Rename events on the File System and in the Repository. It also supports Checkout, Checkin and Cancel Checkout so you can lock Documents in the Repository and edit them locally on your File System.


<strong><em>eoss-edrive (eDrive)</em></strong> http://sourceforge.net/projects/eoss-edrive/

This is a higher level utility that utilises eoss-esync and enables you to manage a collection of synchronisers, each of which can synchronise a different directory structure to different CMIS repositories.
<strong>eDrive</strong> also has a simple embedded command server for interacting with <strong>eDrive</strong> and a multicast server that multicasts interesting events during the synchronisation cycles.

<strong>eDrive</strong> is intended to run as a service on your machines and the Command and Multicast servers are intended to be used by Client applications and has a comprehensive README that explains how it works. It's like DropBox for CMIS Repositories but better Smiley Happy

To build <strong>eDrive</strong>, you will first have to download <strong>eSync</strong> and then <strong>mvn deploy</strong> this to your local maven repo.

We will be working on native clients for Windows, Mac OSX and Linux distributions as well as a pure Java UI and a REST service client.

Both projects require Java 7 as they use some of the new Java 7 NIO Classes and Interfaces


If you need any help setting it up, or would like more information just open a ticket on either projects site.


Feel free to "fill ya boots" and do with it as you will. You can help by reporting bugs, suggesting enhancements, or supplying patches ALL Welcome.

Regards

Steve

9 REPLIES 9

aevans713
Champ in-the-making
Champ in-the-making
Looks great! I created a couple of entries in the Alfresco Add-ons directory with just the basic info I was able to gather from sourceforge. I want to invite you to check them out, create an account, and update them and add any details I left out. It would be a great way to help the community find and use it!

eSync: https://addons.alfresco.com/addons/esync
eDrive: https://addons.alfresco.com/addons/edrive

Some things that need to be added to the listing:
-Alfresco version(s) supported

Thanks!

smcardle
Champ in-the-making
Champ in-the-making
Hi

I created an account for Alfresco Add-ons (smcardle) but how do I get admin rights to these 2 projects so that I can edit the details ?

Regards

Steve

nicolasraoul
Star Contributor
Star Contributor
Hi Steve!

Sounds very promising! I get this error when deploying, though: https://gist.github.com/nicolas-raoul/5353128

Don't take it as disrespect, but rather than re-inventing the wheel, how about joining forces on <a href="http://CmisSync.com">CmisSync</a>? 🙂
CmisSync is open source since August 2012, and supports multiple repositories&folders (like eDrive).

It is written in C#, which is very close to Java, and allows a native UI on Windows, and other Mono-supported platforms: Mac, Linux, Android, iOS (not ported yet). I love open source so I would prefer Java, but native offers better integration, for instance when integrating controls into the Windows Explorer. Also, even though Java is perfect on server-side, many companies are reluctant to install Java on client-side, because of management/security issues.
Here is the documentation about <a href="https://github.com/nicolas-raoul/CmisSync/wiki/Internals">the internals</a>.

CmisSync has a rather large number of testers, a few developers, and is available in 7 languages.
Here are <a href="http://cmissync.com/alfresco">screenshots with Alfresco</a>.

We are very welcoming and looking for volunteers!
Feel free to contact me by email at nicolas.raoul@aegif.jp
Cheers!
Nicolas

Hi Nicolas

Thanks for taking a look at eDrive.

I will take a look at the build issue you are having but it's working for me so it might take a bit more investigation. We do normally run these maven goals from within Eclipse but I did just try it on the command like and it built and installed OK. I'll let you know what I find. In the mean time, you could just install the eSync jar file to your local maven repo.


Basically we decided to take a completely different approach to Native Client development. The reason I designed the socket based command server and multicast event server was so that ANYBODY could write a light weight native UI for Windows Explorer, Mac OSX Finder the various versions of Linux File Managers, Swing and Web UI clients without having to include any eSync or eDrive libraries or API's in their projects. They simply connect to the command server socket and issue simple commands while listening and reacting to events from the multicast server. This also means we do not have to get involved in the language translations but we would hope that popular UI's will be translated by the Open Source community. In the mean time we will continue developing our own set of Branded UI's.

With this approach the Open Source community can build a good choice of light weight UI's while other users may choose to integrate directly with other solutions. One such client could be a Round Robin DB application that simply listens for eDrive Multicast events and aggregates the results then generates real time performance and monitoring graphs.

We wrote eDrive because we could not meet our use cases with the existing Alfresco Desktop Sync product and some of our users wanted a more DrobBox like experience, this is why we are currently writing our own branded light weight native Windows Explorer client ourselves.

We have some pretty good stuff planed for future releases of eDrive and not just in the sync space. This release was designed to get some feedback, the next release will add some Enterprise features such as SSL and Proxy support as well as a pluggable authentication module based on JAAS and a user configurable mime type mapping where users will be able to setup mappings for document mime types to custom Repository types other than just the current default cmis:document type. This will allow eSync to create new Repository entries using base types defined by users falling back to the cmis:document should the mapped type not exist in the Repository or is not a suitable base type for the content.

Anyway I digress, I have no issues with EOSSOnline Limited Collaborating with you guys on a generic Open Source solution that the community can get behind. We as a company have only one condition and that is joint IP ownership (where we can provide our customers with a different license) along with an Apache 2.0 licensed version. If you guys are OK with this then we can talk more.


Regards

Steve

smcardle
Champ in-the-making
Champ in-the-making
Hi Nicolas

Regarding your build problem. I have attached a new pom.xml file that I hope will fix your build problem. Could you try it out and let me know.

You will need to remove the .txt from the end of the file

Regards

Steve

smcardle
Champ in-the-making
Champ in-the-making
Funny….

I can't see on this new forum where the attachments to posts are.
I'll try again.

Regards

aevans713
Champ in-the-making
Champ in-the-making
Hi,

1. The forum attachment bug is a known issue we are working on with the site (see issues.alfresco.com ticket: IT-10491). I would suggest using pastebin or mediafire links.
2. I made you the owner of your addons, you should be able to edit them now.

Alex Evans

smcardle
Champ in-the-making
Champ in-the-making
Thanks evens

In the mean time….

<blockcode>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-source-plugin</artifactId>
               <version>2.2.1</version>
               <executions>
                  <execution>
                     <id>attach-sources</id>
                     <goals>
                        <goal>jar</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <version>2.3.2</version>
               <configuration>
                  <source>1.7</source>
                  <target>1.7</target>
               </configuration>
            </plugin>

</blockcode>

Anybody having trouble running the mvn install goal on eSync should modify their pom.xml

Add the version number to the existing maven-source-plugin

and add the maven-compiler-plugin


Regards

Steve

smcardle
Champ in-the-making
Champ in-the-making
Just uploaded new versions of both eSync and eDrive to SourceForge is anybody is interested Smiley Happy

Latest versions are:

eSync - 0.9.1
eDrive - 0.1.1

Regards

steve