{"id":8569,"date":"2015-07-23T10:49:03","date_gmt":"2015-07-23T10:49:03","guid":{"rendered":"https:\/\/owncloud.com\/?p=8569"},"modified":"2015-07-23T10:49:03","modified_gmt":"2015-07-23T10:49:03","slug":"owncloud-development-in-april-may-and-june","status":"publish","type":"post","link":"https:\/\/owncloud.com\/de\/blogs\/owncloud-development-in-april-may-and-june\/","title":{"rendered":"ownCloud development in April, May and June"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/owncloud.com\/wp-content\/uploads\/2014\/10\/hacking.png\" alt=\"work in progress\" width=\"300\" height=\"236\" class=\"alignright size-full wp-image-7461\" \/><br \/>\nThe 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&#8217;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.<\/p>\n<p>This report, therefore, covers May and June, focusing on what took place in the <a href=\"http:\/\/github.com\/owncloud\/core\" target=\"_blank\" rel=\"noopener noreferrer\">core repository of ownCloud<\/a>.<\/p>\n<p>During April, May and June developers were mostly concerned with getting ready for the ownCloud 8.1 release. Since our <a href=\"https:\/\/owncloud.com\/blog\/owncloud-development-in-march\/\" target=\"_blank\" rel=\"noopener noreferrer\">report on March<\/a> there have been feature additions, but finishing functionality merged during March has been the focus.<\/p>\n<h2>Development<\/h2>\n<p>In the three months we are covering here there have been over 560 pull requests that were merged in core alone \u2013 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&#8217;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!<br \/>\n<div id=\"attachment_8604\" style=\"width: 320px\" class=\"wp-caption alignright\"><a href=\"https:\/\/owncloud.com\/eight-one\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8604\" src=\"https:\/\/owncloud.com\/wp-content\/uploads\/2015\/07\/ownCloud-8.1-image-300x300.png\" alt=\"Check out the feature overview of ownCloud 8.1\" width=\"300\" height=\"300\" class=\"size-medium wp-image-8604\" \/><\/a><p id=\"caption-attachment-8604\" class=\"wp-caption-text\">Check out the <a href=\"https:\/\/owncloud.com\/eight-one\">feature overview of ownCloud 8.1<\/a><\/p><\/div><\/p>\n<h3>New Features<\/h3>\n<p>Not all major new ownCloud 8.1 features were in before April 1st. These were merged between April and the end of June:<\/p>\n<ul>\n<li>An example theme <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/16519\" target=\"_blank\" rel=\"noopener noreferrer\">was merged here<\/a><\/li>\n<li>We now <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/16686\" target=\"_blank\" rel=\"noopener noreferrer\">show the Federated Cloud ID<\/a> in the Personal settings, as part of a <a href=\"https:\/\/github.com\/owncloud\/core\/issues\/16190\" target=\"_blank\" rel=\"noopener noreferrer\">larger effort<\/a> to make cross-cloud sharing easier<\/li>\n<li>We got some of the <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/15993\" target=\"_blank\" rel=\"noopener noreferrer\">nice links to the documentation in the Admin screen<\/a><\/li>\n<li>This introduced the <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/15314\" target=\"_blank\" rel=\"noopener noreferrer\">trust levels in the app store<\/a>. Here&#8217;s the PR for <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/14472\" target=\"_blank\" rel=\"noopener noreferrer\">Encryption 2.0<\/a><\/li>\n<li>To get more information on the upgrade process, <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/17088\" target=\"_blank\" rel=\"noopener noreferrer\">you can now give the -v paramater to the command line tool<\/a> and it will give you more information about what is going on. Another verbosity option is <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/16067\" target=\"_blank\" rel=\"noopener noreferrer\">available for the app-check function<\/a><\/li>\n<li>Work is progressing on <a href=\"https:\/\/github.com\/owncloud\/core\/issues\/4774\" target=\"_blank\" rel=\"noopener noreferrer\">making core apps use the public API where possible<\/a>. It seems the end goal is in sight and the participating developers have set their eyes on finishing this cleanup for 8.2. Expect more information about this effort in a future report<\/li>\n<\/ul>\n<h3>Performance work<\/h3>\n<p>As a taste of some of the performance-related PR&#8217;s, this <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/14120\" target=\"_blank\" rel=\"noopener noreferrer\">introduces a stat cache for WebDAV<\/a> and <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/15391\" target=\"_blank\" rel=\"noopener noreferrer\">this one cache\u2019s<\/a><a href=\"https:\/\/github.com\/owncloud\/core\/pull\/15391\" target=\"_blank\" rel=\"noopener noreferrer\"> language choice<\/a>, while <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/15349\" target=\"_blank\" rel=\"noopener noreferrer\">this improvement to the preview class<\/a> helps bring preview generation time up from minutes down to seconds. To allow storage to deal with copy and move commands more efficiently, <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/13360\" target=\"_blank\" rel=\"noopener noreferrer\">this PR implements logic to let backends handle these operations<\/a> and <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/12006\" target=\"_blank\" rel=\"noopener noreferrer\">this <\/a><a href=\"https:\/\/github.com\/owncloud\/core\/pull\/12006\" target=\"_blank\" rel=\"noopener noreferrer\">PR<\/a> makes it possible to directly access storage when working over WebDAV, saving lots of database accesses.<\/p>\n<p>There has been a lot more of these, one of the reasons why ownCloud 8.1 is significantly faster than previous releases.<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/owncloud.com\/wp-content\/uploads\/2015\/06\/cernbox.png\" alt=\"cernbox\" width=\"152\" height=\"152\" class=\"alignright size-full wp-image-8314\" \/><\/p>\n<h3>Smashbox Testing<\/h3>\n<p>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 <a href=\"http:\/\/home.web.cern.ch\/\" target=\"_blank\" rel=\"noopener noreferrer\">CERN<\/a>. We covered this in two blogs <a href=\"https:\/\/owncloud.com\/blog\/owncloud-cern-smashbox\" target=\"_blank\" rel=\"noopener noreferrer\">introducing Smashbox<\/a> and <a href=\"https:\/\/owncloud.com\/blog\/smashbox-in-action\/\" target=\"_blank\" rel=\"noopener noreferrer\">describing how it is put to use<\/a>.<\/p>\n<h3>Locking Work<\/h3>\n<p>ownCloud 8.1 has seen <a href=\"https:\/\/github.com\/owncloud\/core\/issues\/11804\" target=\"_blank\" rel=\"noopener noreferrer\">quite some work on file locking<\/a>, like the addition of <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/17009\" target=\"_blank\" rel=\"noopener noreferrer\">a file lock during download<\/a>. 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&#8217;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 &#8211; 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.<\/p>\n<p>ownCloud 8.1 introduces high level file locking as an experimental feature which has to be turned on in <code>config.php<\/code>. 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.<\/p>\n<h3>More<\/h3>\n<div id=\"attachment_8601\" style=\"width: 320px\" class=\"wp-caption alignright\"><a href=\"https:\/\/owncloud.com\/wp-content\/uploads\/2015\/07\/text-preview.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8601\" src=\"https:\/\/owncloud.com\/wp-content\/uploads\/2015\/07\/text-preview-300x169.png\" alt=\"making the download preview for text look better\" width=\"300\" height=\"169\" class=\"size-medium wp-image-8601\" \/><\/a><p id=\"caption-attachment-8601\" class=\"wp-caption-text\">making the download preview for text look better<\/p><\/div>\n<ul>\n<li><a href=\"https:\/\/github.com\/owncloud\/core\/pull\/16818\" target=\"_blank\" rel=\"noopener noreferrer\">This<\/a> provides a security hardening improvement to ownCloud. It came from <a href=\"https:\/\/github.com\/owncloud\/core\/issues\/16817\" target=\"_blank\" rel=\"noopener noreferrer\">an issue filed here<\/a> as result of an external security audit done on ownCloud (this was the only problem found!)<\/li>\n<li>A PR by Rullzer makes it possible to <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/14987\" target=\"_blank\" rel=\"noopener noreferrer\">update passwords via the OCS API<\/a>. Find more details about <a href=\"https:\/\/owncloud.com\/blog\/owncloud-8-1-brings-massively-improved-api-for-developers\/\" target=\"_blank\" rel=\"noopener noreferrer\">changes relevant for developers in ownCloud 8.1 in this blog post<\/a><\/li>\n<li>Oparoz <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/17206\" target=\"_blank\" rel=\"noopener noreferrer\">added BPG support<\/a> and <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/15386\" target=\"_blank\" rel=\"noopener noreferrer\">recognition of various config files<\/a> while <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/17130\" target=\"_blank\" rel=\"noopener noreferrer\">mts and mt2s are now also supported<\/a>. Oparoz also contributed a <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/15652\" target=\"_blank\" rel=\"noopener noreferrer\">nicer looking preview screen<\/a><\/li>\n<li>If you insist in your user name to have a @ sign, <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/17008\" target=\"_blank\" rel=\"noopener noreferrer\">now you can<\/a> without breaking Federated Cloud Sharing<\/li>\n<li><a href=\"https:\/\/github.com\/owncloud\/core\/pull\/16814\" target=\"_blank\" rel=\"noopener noreferrer\">this PR<\/a> should speed up the upgrade process a bit while <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/16434\" target=\"_blank\" rel=\"noopener noreferrer\">this PR<\/a> makes sure that maintenance mode state persists after upgrade (if it was on, it&#8217;ll stay on &#8211; and if it wasn&#8217;t, it will be turned off again)<\/li>\n<li>By setting the right <code>log_condition<\/code> in <code>config.php<\/code> you can <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/15965\" target=\"_blank\" rel=\"noopener noreferrer\">automatically enable debug logging<\/a> (this is <a href=\"https:\/\/doc.owncloud.org\/server\/8.1\/admin_manual\/configuration_server\/config_sample_php_parameters.html?highlight=logging#logging\" target=\"_blank\" rel=\"noopener noreferrer\">documented here<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/owncloud\/core\/pull\/15937\" target=\"_blank\" rel=\"noopener noreferrer\">This PR<\/a> is part of the new caching changes, also described <a href=\"https:\/\/owncloud.com\/blog\/making-owncloud-faster-through-caching\/\" target=\"_blank\" rel=\"noopener noreferrer\">in this blog<\/a><\/li>\n<li>There is no longer a built in WebDAV view in ownCloud and <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/16364\" target=\"_blank\" rel=\"noopener noreferrer\">this PR<\/a> added a notice to explain that to users<\/li>\n<li>As Windows Server is no longer supported with ownCloud 8.1, <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/14540\" target=\"_blank\" rel=\"noopener noreferrer\">this PR<\/a> makes sure users don&#8217;t accidentally install it anyway<\/li>\n<li><a href=\"https:\/\/github.com\/owncloud\/core\/pull\/15458\" target=\"_blank\" rel=\"noopener noreferrer\">This PR<\/a> makes some changes needed for the introduction of a <a href=\"https:\/\/github.com\/DeepDiver1975\/web_shell\" target=\"_blank\" rel=\"noopener noreferrer\">command line app for ownCloud<\/a><\/li>\n<li>Small but sweet: <a href=\"https:\/\/github.com\/owncloud\/core\/pull\/15196\" target=\"_blank\" rel=\"noopener noreferrer\">you can limit activity notifications to favorites<\/a><\/li>\n<\/ul>\n<p>If you want to get involved in coding on ownCloud &#8211; check out <a href=\"https:\/\/owncloud.com\/contribute\" target=\"_blank\" rel=\"noopener noreferrer\">this page<\/a>!<\/p>\n<h2>Other ownCloud Happenings<\/h2>\n<p>We published a lot of blogs on <a href=\"https:\/\/owncloud.com\/news\/\" target=\"_blank\" rel=\"noopener noreferrer\">Planet ownCloud<\/a> during the last three months:<\/p>\n<ul>\n<li>Two blogs about how ownCloud uses Sabre\/DAV and how we work with Fruux, the company behind Sabre\/DAV. <a href=\"https:\/\/owncloud.com\/blog\/owncloud-and-sabredav\/\" target=\"_blank\" rel=\"noopener noreferrer\">Pt 1<\/a>, <a href=\"https:\/\/owncloud.com\/blog\/owncloud-and-sabredav-part-ii\/\" target=\"_blank\" rel=\"noopener noreferrer\">pt 2<\/a><\/li>\n<li>The announcement of the <a href=\"https:\/\/owncloud.com\/blog\/owncloud-contributor-conference-2015-dates-announced-registration-open\/\" target=\"_blank\" rel=\"noopener noreferrer\">ownCloud Contributor Conference dates<\/a>, the <a href=\"https:\/\/owncloud.com\/blog\/owncloud-contributor-conference-2015-call-for-papers\/\" target=\"_blank\" rel=\"noopener noreferrer\">call for papers<\/a> and our <a href=\"https:\/\/owncloud.com\/blog\/owncloud-contributor-conference-interviews\/\" target=\"_blank\" rel=\"noopener noreferrer\">publishing of a series of interviews<\/a> taped at the conference last year<\/li>\n<li>A <a href=\"https:\/\/owncloud.com\/blog\/the-hackathon-in-nuremberg-was-awesome\/\" target=\"_blank\" rel=\"noopener noreferrer\">report on the Hackathon in Nuremberg<\/a> and a blog about <a href=\"https:\/\/owncloud.com\/blog\/owncloud-events-coming-in-may\/\" target=\"_blank\" rel=\"noopener noreferrer\">ownCloud\u2019s presence at events like SCALE and FOSDEM<\/a>. Find a calendar of more ownCloud events on <a href=\"https:\/\/owncloud.com\/events\" target=\"_blank\" rel=\"noopener noreferrer\">owncloud.org\/events<\/a>!<\/li>\n<li>The announcement that <a href=\"https:\/\/owncloud.com\/blog\/owncloud-server-8-1-will-not-support-windows-as-server-platform-natively\/\" target=\"_blank\" rel=\"noopener noreferrer\">ownCloud 8.1 will not support Windows Server<\/a><\/li>\n<\/ul>\n<p>Please note that if you&#8217;re an ownCloud contributor, you should get your blog aggregated on <a href=\"https:\/\/owncloud.com\/news\/\" target=\"_blank\" rel=\"noopener noreferrer\">owncloud.org\/news<\/a>! Ping <a href=\"https:\/\/www.google.com\/+JosPoortvliet\" target=\"_blank\" rel=\"noopener noreferrer\">Jos<\/a> with your RSS feed.<\/p>\n<p>We hope you enjoyed this development overview! Stay tuned for an overview of what happened in the first weeks of July.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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&#8217;ll put renewed effort in keeping up by re-instating weekly reports. These will have a [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":78665,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[342,332,333,335],"tags":[],"class_list":["post-8569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud","category-coding","category-community","category-development"],"acf":[],"_links":{"self":[{"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/posts\/8569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/comments?post=8569"}],"version-history":[{"count":0,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/posts\/8569\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/media\/78665"}],"wp:attachment":[{"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/media?parent=8569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/categories?post=8569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/tags?post=8569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}