13 Sep 2016, 00:00

Nextcloud supported PHP Versions

As many of you probably know PHP 7.1 is planned for release at the end of November. As a preparation for this we are already running our test suite against the PHP 7.1 RC1. And we feel confident that Nextcloud 11 will run smoothly on the PHP 7.1 final for all you bleeding-edge sysadmins out there! But if you can’t wait try out the daily.

At the same time we are adding PHP 7.1 to our support matrix we are also saying goodbye to some retired PHP versions. Nextcloud 11 will no longer support PHP 5.4 and 5.5. As you can see in the support matrix both are no longer supported by upstream PHP.

This change in supported PHP versions allows us to start updating several third party dependencies. Which bring bugfixes and (security) improvements. At the same time we could update PHPUnit to take advantage of improvements there.

All in all we feel these changes will allow us to improve our codebase and move Nextcloud forward. Happy hacking!

05 Sep 2016, 00:00

OCS Supported by the AppFramework

Nextcloud exposes some APIs to the outside works over HTTP. There is of cou rse our webdav endpoint. That, among other things, allows you to retrieve and store your files or update your calendar. Probably our second most used endpoint is the OCS Share API. This is used by a lot of clients that connect to your Nextcloud to share files. As the name suggest this is an OCS (Open-Collaboration-Services) API of which we have a few.

The OCS API has been around for quite some time now. And it was in need for some love. Which is why I am glad to announce that starting from Nextcloud 11 you can build OCS API endpoints using our AppFramework.

This brings a lot of improvements. Some examples:

  • Automatic dependency injection: This makes writing code much more fun. Your Controllers just specify that is required and most of the time the AppFramework will figure out how and where to get the dependencies.
  • Security by default: By default, a lot of security hardenings are in place. You can opt out of some (like for public routes). But this makes it harder to mess up.
  • No more static classes: This will make it easier and faster to test your classes.

And of course this also means your API will directly benefit from enhancements we make in the AppFramework.

We will of course still support the current approach to create OCS API endpoints for the foreseeable future. Feel free to reach out to us on help.nextcloud.com if you need help.

03 Sep 2015, 00:00

ownCloud is not a backup!

I see a lot of people are setting up ownCloud these days that do not think about what it really means to do their own data management.

A lot of people have ownCloud running on a server somewhere and have the desktop sync client running on their laptop. They think their data is safe because if their laptop gets stolen or crashes the data is still on the server. Or that if the server crashes the data is still on the laptop.

What they have is a mirror of their data. Not a backup. A quick search on why mirroring is not a backup can give you all the details. But in short mirror is not a backup because it does not protect you against:

  • File corruption
  • Viruses
  • Software bug
  • Humans (deleting a file by mistake)

This list is not complete but it does show the most common problems.

For example: if you delete a file by mistake on your laptop the file will also be removed from your ownCloud. If you only notice your mistake after a month it is very likely that your systems trashbin (if you have any) and the ownCloud trashbin have already been emptied. And you will have no way of restoring the file.

So should I dump ownCloud? Absolutely not! Since ownCloud allows you to store all your files in 1 place it actually intergrates very nicely with a backup system. Just setup a (proper) backup system on the server that is running your ownCloud! There is plenty of material available on how to (properly) setup a backup system.

So the homework of today is to make sure that a proper backup system is in place. Once that is done tell all the people that you know that run ownCloud to do the same.


The problem described here is not unique to ownCloud. If your cloud storage provider does not create backups for you then the only thing you have is a mirror.