In this post we describe ownCloud core development in the last two weeks of July. Since the previous report covering the massive amount of new features getting merged, there has been a bit of a shift towards stability, but there still is enough to write about in the new-and-fresh department. Read on and enjoy!
If you have any input on the report, let me know or share in the comments section. On a related note, we’re kicking off a monthly ownCloud.org newsletter – the first will be send out this week. You can sign up here.
Development
- Database Work
- Adding Download Feedback
- Design Details
- And More
- Blogs and Conference Program Announcement
Database Work
There has been work going on to improve the database handling in ownCloud. A public API for Doctrine QueryBuilder and ExpressionBuilder was added to ownCloud as part of a bigger effort to make writing SQL queries easier and less error prone. Note that this isn’t a full >Object Relational Mapper, rather, it still requires SQL knowlege and allows easily adding custom terms while avoiding the ORM overhead. Of course, it also means SQL is not validated and developers have to make sure it works with the databases they target.
Besides this API work, the MySQL code was made ready for newer database versions as well as PHP 7 by moving the setup code to Doctrine and the remains of MSSQL support were cleaned up.
Adding Download Feedback
Much attention is paid to details the details within ownCloud, and this Pull Request is proof. Starting with a ‘simple’ pull request, Morris Jobke opened a can of worms. It can occasionally take a while before the server can provide a file to users who click the download button in the Files app, so he wanted a spinner to appear when the user clicks. But how does the Javascript in Files know the download is started? First, it would show a spinner for a fixed 7 seconds – a solution nobody liked. He then proposed to send a random string within the download redirect. The server would set a cookie name, serve it to the browser and the Javascript would know the download has been started. This became the final implementation, however, oparoz asked for a generic solution as he’d like to use this in the Gallery app as well, and there might be other uses (the public download link page was mentioned already). PVince81 pointed out that this would be problematic once the Files app moves to WebDAV as its backend (for more on that see this write-up). There wasn’t much to be done about that now, so he brought up that he, like oparoz, would like to have the functionality separated as much as possible. Morris refactored the code, separating the download logic in a separate class. After code review, testing in various browsers and design feedback, the code was finally merged while adding the spinner to the download button on the public link page comes later.
Visual details
To improve the look on Android L, Jan-Christoph Borchardt added ‘theme-color’ to the mobile layout and changed the look of password-protected links. In other tiny-details-news, there is now a space between user and admin documentation so they don’t look like a single link anymore. The description of the default encryption module was also improved to ensure that users wouldn’t get confused about what it can and can’t do (see this blog for details on the new Encryption 2.0).
And More
Other notable PR’s include:
- A new hook was introduced in our password handling code to allow apps to be written for specific password policy handling.
- The app checker now warns for deprecated classes as requested on the ownCloud developer mailing list.
- If you have an old openSSL or NSS version, ownCloud will now give you a warning in the admin settings. This is especially relevant for CentOS 6 users which have a very old NSS version and experience issues with Federated Cloud Sharing and the ownCloud app store.
If you want to get involved in coding on ownCloud check out this page! You can join the development discussions on this page.
Other ownCloud Happenings
On Planet ownCloud, we continued to publish blogs about what is new in the ownCloud 8.1 release, like a post about Encryption 2.0 and some more videos on our YouTube channel, like how to create a public upload folder and others in our tutorial playlist. Morris Jobke blogged about conditional logging and a more verbose ownCloud upgrade process.
In ownCloud Contributor Conference news, we announced our keynote speaker, German Theater Director Angela Richter, followed by the full conference program. We already have over 2^8 conference registrations so if you want to join – register soon.
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.
If you’d like to meet other ownClouders, check out owncloud.org/events and of course – joining the ownCloud Contributor Conference should be high on your wish list!