Toward OwnCloud Core Processing Library

The purpose of the OwnCloud Core Processing Library is to give the possibility to program “cloud functionalities” within a well known and simplified designer oriented programming language (and community): Processing.


Therefore, the OwnCloud Core Processing Library linked with our personal cloud merges the Open Collaboration Service (OCS) Share API with higher level functions in order to implement seamlessly “search&share files” applications written in the well known designers oriented Processing programming language. This will soon become available to everyone on the I&IC website. The workshops we are currently running / will run during the coming weeks are helping/will help us fine tune its functionalities.


The OwnCloud Core Processing Library allows the automation of the action of sharing files and the action of file tagging within an open source OwnCloud environment. Search&Sharing tasks can be threaded and/or interdependent, everything depending on the kind of results expected from one application to another. Thus, these actions can be driven by unmanned processes, decision-making (copy, delete, share one or several files) based on related metadata (i.e. metadata relation/link) or based on external data, dug from the Internet or networked/connected items/things.


Basically, the core library needs to identify an OwnCloud server, with a set of valid credentials. The application using the OwnCloud Core Processing Library is then able to manipulate files, download, upload, duplicate or move them server-side (without downloading the files on a local computer). It is as well possible to share files with another user or group of users on the same OwnCloud server. Depending on the application, several connections to several distinct OwnCloud servers can be managed, making possible to transfer files from one OwnCloud server to another (network of servers).

Metadata associated to files work on a key->value pair basis (i.e. ‘date->10/12/1815′, ‘city->London’, etc…). Any number of metadata can be defined for every single file. While duplicating a file, one can decide if attached metadata should be replicated as well or not (i.e. the duplicated file can already be associated with the same metadata set as the original one (inherited metadata or not). The core library allows to retrieve all metadata for a given file or to perform a search through metadata in order to obtain a list of files having the allowed metadata set with the desired value(s). This particular set of functions is part of the higher level functions proposed by the OwnCloud Core Processing Library, above the OCS Share API.


The core library is JAVA based (using WebDav JAVA implementation library Sardine). A connection to the Processing framework has been implemented, making the OwnCloud Core Processing Library available within Processing.