Playing with OwnCloud and Alfresco to configure a Desktop Sync

I’ve been talking with Toni de la Fuente in the last BeeCon 2016 about the upcoming Alfresco Desktop Sync product for Enterprise version. Since CMISSync is not working properly in some environments, Community version will remain lacking of this so required feature.

Toni also told me his thinking about to use ownCloud desktop (and mobile) sync clients as bridge to access Alfresco stored contents. I’m sharing my local tests just to show that this way is possible.

Installing ownCloud 9 in CentOS 7

Adding ownCloud repositories.

$ rpm --import https://download.owncloud.org/download/repositories/9.0/CentOS_7/repodata/repomd.xml.key
$ wget http://download.owncloud.org/download/repositories/9.0/CentOS_7/ce:9.0.repo \
-O /etc/yum.repos.d/ce:9.0.repo
$ yum clean expire-cache

Installing and configuring MariaDB database software.

$ yum -y install wget mariadb-server php-mysql

$ systemctl start mariadb.service
$ systemctl enable mariadb.service

$ mysql_secure_installation
$ mysql -u root -p

# create database owncloud;
# grant all on own cloud.* to 'owncloud'@'localhost' identified by 'owncloud';

Installing ownCloud and configuring HTTPd.

$ yum install httpd
$ firewall-cmd --permanent --zone=public --add-service=http
$ firewall-cmd --reload

$ yum install own cloud

$ chown -R apache.apache /var/www/html/owncloud/

$ systemctl start httpd.service
$ systemctl enable httpd.service

Configuring ownCloud by accessing web console http://localhost/ownCloud

  • User : admin
  • Password : admin
  • Data folder : /var/wwww/html/owncloud/data
  • MySQL / MariaDB
    • User : owncloud
    • Password : owncloud
    • Database : owncloud
    • Server : localhost

From now, ownCloud is available in the server.

Mounting Alfresco as CIFS server

Once ownCloud is working, we are moving that initial stored contents from local storage to Alfresco CIFS unit for ownCloud user admin.

$ yum install cifs-utils

$ cd /var/www/html/owncloud/data
$ mv admin admin-old

$ mount -t cifs -o uid=apache,gid=apache,user=admin,pass=admin \
//alfresco.keensoft.es/alfresco/Compartido /mnt/alfresco
$ ln -s admin /mnt/alfresco

From this point, all documents uploaded from ownCloud will be stored in Alfresco.

And after installing ownCloud desktop client, a one-way synchronisation (from ownCloud to Alfresco) is configured.

alfresco-owncloud-sync

Issues to be addressed

  • ownCloud uses its own folder convention to store contents, which are stored in Alfresco target mount folder as well
    • “cache” : to improve performance
    • “files” : for current documents and folders
    • “files_trashbin” : for removed documents and folders
    • “files_versions” : for document versions
  • Once a user modifies a document in his computer and synchronises it to ownCloud, this document remains locked in Alfresco
  • Changes in Alfresco are not visible from ownCloud, there is no a two-way mechanism for synchronisation

Final words

Obviously this post is an experiment on enhancing Alfresco features by combining external Open Source products, but it can be only used for testing purposes. However, there is a line to go through for Community developers. And even this simple configuration have revealed some issues inherent to synchronisation process that should be addresses by this new Alfresco Enterprise Desktop Sync.

Anyone (apart from Toni) interested in growing this proof of concept?

3 comentarios en “Playing with OwnCloud and Alfresco to configure a Desktop Sync

  1. Hi Toni:
    I’m not an expert in Alfresco and also not in ownCloud (I trust my IT guy for the hard stuff) but I’ve seen that using WebDAV with other Office Like packages for IOS there is good sync (ownCloud maintains versions). Can’t you use that protocol for this?

  2. Hi Angel,
    Thanks very much for that idea. Actually I am looking for a possibility of synchronizing some Alfresco folders to Linux laptop maybe for years. But nothing reasonable. The biggest problem was and is, that a document and folder in Alfresco is an object with many properties and maybe even many associations but working with them as with files means taking just name and content and all of the sync tools just use a logic, that two objects are identical if they have identical name and content. So they just delete and create instead of move or even instead of rename. It’s horrible even imagine what happen if you correct a typo in folder name with thousands of documents. All metadata incl. discussions or related workflows are gone. And this is true for all sync tools like e.g. Unison. This was true until this year for cmissync for Windows as well and is still true for Linux version. So I was quite pessimistic with owncloud and smb mount but I tried it and was shocked, at least all my simple tests like document and folder rename and move worked correctly without any data lost. But I used slightly different scenario. I used Nextcloud 9.0 on Ubuntu 16.04 and Alfresco connected through Nextcloud “External Storage Support”. There are more options, which could be used: webdav, smb and local folder. With webdav I’ve connected but didn’t get any content, with smb I’ve got a problem with authentication (default security setting in smbclient) but mounting Alfresco folder to local folder using smb and then connecting this folder as External Storage of type Local worked very well in both directions incl. moving and renaming documents and folders on both sides. Even comments and tags from KDE on laptop survived.
    So it looks very promising but it’s necessary to test it much more for data lost in all possible situation and probably even make some check of a logic, they use. But the dream is to add cmis as a next type of external storage …
    What I haven’t checked was conflict resolution with more offline clients. And a dream is to connect their versioning system with Alfresco versions.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s