Cloud | Coding | Community | development

ownCloud development in April, May and June

The busy time leading up to the ownCloud release has made it hard to keep up with development. As the value of outdated reports is minimal, this report will merely summarize work done over the last three months, after which we’ll put renewed effort in keeping up by re-instating weekly reports. These will have a […]

work in progress
The busy time leading up to the ownCloud release has made it hard to keep up with development. As the value of outdated reports is minimal, this report will merely summarize work done over the last three months, after which we’ll put renewed effort in keeping up by re-instating weekly reports. These will have a reduced area of coverage to make regular updates feasible.

This report, therefore, covers May and June, focusing on what took place in the core repository of ownCloud.

During April, May and June developers were mostly concerned with getting ready for the ownCloud 8.1 release. Since our report on March there have been feature additions, but finishing functionality merged during March has been the focus.

Development

In the three months we are covering here there have been over 560 pull requests that were merged in core alone – with a total of about 1215. As much work outside of the core takes place by direct commit rather than through pull request. It isn’t farfetched to conclude that core might be central to ownCloud, but at least half the work that benefits ownCloud users takes place outside of this repository, in the many apps developed by the ownCloud community. And that is not even covering those apps developed outside of the ownCloud project!

New Features

Not all major new ownCloud 8.1 features were in before April 1st. These were merged between April and the end of June:

Performance work

As a taste of some of the performance-related PR’s, this introduces a stat cache for WebDAV and this one cache’s language choice, while this improvement to the preview class helps bring preview generation time up from minutes down to seconds. To allow storage to deal with copy and move commands more efficiently, this PR implements logic to let backends handle these operations and this PR makes it possible to directly access storage when working over WebDAV, saving lots of database accesses.

There has been a lot more of these, one of the reasons why ownCloud 8.1 is significantly faster than previous releases.
cernbox

Smashbox Testing

Another area where a lot of effort was put in over the covered time period was to set up Smashbox for testing ownCloud. Smashbox is an automated testing tool developed by our Atom-smashing friends at CERN. We covered this in two blogs introducing Smashbox and describing how it is put to use.

Locking Work

ownCloud 8.1 has seen quite some work on file locking, like the addition of a file lock during download. This is part of an effort to make sure ownCloud cannot, even in the weirdest of circumstances, overwrite or lose files (see the many items tagged with feature: locking in github). ownCloud already does file locking to ensure two users can’t access the same file at the same time, but this takes place at the file system level. This will stop one user from overwriting a file being written by another user – but in between separate file operations, such as each individual file being uploaded to a folder, other operations can still take place. If, for example, one user uploads a big file to a folder on external storage which gets renamed by another user at the same time, strange things could happen. The new, high-level locking will ensure that the user who started his/her endeavor last will receive an error message, while the first user will finish successfully. In case of the sync client, it will automatically retry later.

ownCloud 8.1 introduces high level file locking as an experimental feature which has to be turned on in config.php. As it is only relevant to very large installations, while being very invasive and recently developed, it was decided to keep it off by default.

More

making the download preview for text look better

making the download preview for text look better

If you want to get involved in coding on ownCloud – check out this page!

Other ownCloud Happenings

We published a lot of blogs on Planet ownCloud during the last three months:

Please note that if you’re an ownCloud contributor, you should get your blog aggregated on owncloud.org/news! Ping Jos with your RSS feed.

We hope you enjoyed this development overview! Stay tuned for an overview of what happened in the first weeks of July.

ownCloud

July 23, 2015

Read now:

The ownCloud Infinite Scale Early Adopter Program

The ownCloud Infinite Scale Early Adopter Program

For the past years we have been working on a new project called “Infinite Scale”. For this new file platform it was vital for us to gather feedback efficiently from a group of techies on a regular basis, like partners, customers and future users: thus the Early Adopter Program was born.

read more