ownCloud Planet

ownCloud
ownCloud Server 8.1 Will Not Support Windows as Server Platform Natively
April 15, 2015

WampServer-logo
We want to enable users to fully control their own data – this is the ongoing mission of ownCloud. Of course, we also want those users to have the best possible user experience, regardless of their chosen platform. Unfortunately, for a variety of reasons, our Microsoft Windows Server support has always been less than ideal. After much deliberation with our team, an analysis of the pros and cons of this move – we have decided to stop support for Windows as an ownCloud application server. Despite this, it is still possible to get ownCloud running on a Windows server, so read on for more information! We’ll even help you by providing a migration tool, and of course ownCloud 8 will continue to receive security and stability updates for quite a while longer.

Platform support in ownCloud

The ownCloud community remains focused on enabling users to fully control their data, and to bringing our technology to as many people as possible. This has been the context for our technical decisions in ownCloud, including our technology platform (PHP), default setup with SQLite, the focus on user experience and a lot of other internal design decisions. While most developers use Linux as server platform, we work on supporting other platforms for the ownCloud server as well. ownCloud can run on small embedded systems like the RaspberryPi as well as server clusters as described in this blog posts.

Unfortunately, Windows has proven to be a less than ideal environment for a powerful PHP web app like ownCloud. We tried to work around some shortcomings like file system limitations by implementing an abstraction purely for Windows. However, this impacted the performance and stability and caused extra work for the other platforms. Together with the quality problems of PHP on Windows and restrictions like 32bit, the Windows platform just doesn’t support the experience that ownCloud wants to provide to the users. As a result, ownCloud 8 released with a number of known, serious bugs, and our ability to fix these bugs is severely limited.

In the end, we do not want to promise support for something where we cannot hope to provide the best support possible.

Xampp_logo
XAMPP is a solution often used to deploy ownCloud on Windows

Windows Server

The Windows Server platform has caused a lot of headaches and has required many work-arounds. For one, there is only support for 32bit PHP on Windows Server, so it is not able to reliably deal with files larger than 2 Gigabyte – a pretty fundamental limitation. On top of that, the Windows platform suffers from file name encoding problems that can not be dealt with properly, causing file syncing problems especially with the client and occasional file operation fails, broken user avatars and even issues with the handling of encryption keys – all things that have the potential to lose user data.

We worked with Microsoft engineers on these and other issues. Unfortunately, Microsoft has scaled back their investment in PHP on Windows, slowing down development of fixes for various branches of PHP. Most of the improvements needed are only expected to be released with PHP 7 without being back ported into minor updates to earlier releases. It takes time for new major PHP releases to spread widely and as a result, ownCloud won’t be able to build on these improvements for another 2 or 3 years at least. Unfortunately, during this time, our users would encounter these limitations on a regular basis, and there would be little we could do to help.

Features also suffer on the Windows platform. There is no smbclient and while there is native support for accessing Windows Share, PHP on Windows does not work very well with it so ownCloud can not offer support for Windows file shares. And due to the lack of some low level command line tools, only a subset of the thumbnails ownCloud can create will be generated under Windows.

Last but not least, ownCloud has experienced reliability and performance problems with MSSQL, causing extra testing and bug fixing efforts, as well as leading to extra code that has to be maintained and updated. And as mentioned – the contributors needed to do this extra testing and maintenance have not stepped forward.

All of this contributed to the decision to no longer support Microsoft Windows Server as a platform for ownCloud Server 8.1, and to instead apply those resources to providing the best file sync and share experience possible – and to enabling users to fully control their data.

640px-Bitnami_logo_2013
Bitnami offers virtual machine images with ownCloud

What then?

Of course, some people do depend on Windows as a server platform and indeed, for many other tasks it works fine. To make it as easy as possible to have a stable and performing ownCloud experience on Windows Server going forward, ownCloud is offering a set of virtual machine images for cloud or metal deployment on the download page. Running ownCloud in a virtual machine on your Windows server is fully supported. For example, the options offered by Bitnami include images you can directly deploy to GCP, AWS and Azure, an Ubuntu 14.04 based virtual machine you can run on your own system, and a Docker image which is being developed. SUSE Studio offers a wide range of virtual images with ownCloud as well and you can find many more options in the virtual machine tab on our install page.

To ease migration, we are developing a tool which will generate a zip file for each of the users on an ownCloud installation with all their data. On Windows, ownCloud modifies file names to work around the limitations of the file system, and this script will make it easier to get data from the old ownCloud installation to the new one.

Moreover, ownCloud 8.0 still has the ability to run on Windows Server and while so far nobody stepped up to fix the known problems with it, users already depending on ownCloud 8 on Windows Server will be happy to know that ownCloud 8.0 is planned to receive security updates until Q4 2016.

Future

We want to emphasize that we do not drop support for Windows Server out of dislike–rather, we must make a strategic decision based on priorities. ownCloud Server does not work reliably on the Windows platform, and we have been unable to find folks to assist with these problems. We urge those of you impacted by this change to consider your options. Aside from migration, if enough people step up to fix the bugs related to Windows Server support in ownCloud 8 and commit to supporting ownCloud on Windows, there is no reason not to bring a future release back to Windows Server.

read more



ownCloud
ownCloud and sabre/dav part II
April 14, 2015

This is part two of a conversation with ownCloud core developers Thomas Müller, Robin Appelman and Vincent Petry, where we explored sabre/dav and how it is used within ownCloud. We discussed WebDAV and sabre/dav in the previous post, ending with how it ended up in ownCloud. Today, we’ll discuss where ownCloud and sabre/dav are going now and in the future!

Evert Pot
Evert Pot, sabre/dav-zen master from fruux

Collaboration upstream

As noted in part 1, ownCloud developers have worked with sabre/dav to improve the performance of showing folder contents. This isn’t the only place where ownCloud and sabre/dav worked closely. There has been a variety of contributions from ownCloud to sabre/dav but sabre/dav team members have also been giving input on ownCloud code and solutions developed in ownCloud. According to Thomas, the lead sabre/dav developer at fruux, Evert Pot, “is really a nice guy. He is technically highly skilled, especially in WebDAV and PHP and everything around. And he has always been helpful over the past years.” He adds that “this is one of the reasons we stick with sabre/dav. A good relationship with upstream is “very important,” Vincent and Robin agree.

Vincent notes that “he seems excited about how we use sabre/dav.” He speculates that “we might be one of the projects that use the framework in a very deep way; we probably use most of the features of sabre/dav.” Thomas adds that “we use it extensively, but any PHP based group ware also uses sabre/dav. Horde has it, group office has it.” ownCloud is among a big group of open source projects that use sabre/dav, and everybody agreed that the project is important for the “PHP and open source ecosystem.”
fruux_logo
It is good to see that ownCloud embraces the open source process. Various ownCloud contributors helped sabre/dav out in the code department, like here, here, here and here.
When asked, Dominik Tobschall from fruux had this to say from their side of the collaboration:

“It’s great to see projects like ownCloud adopting sabre/dav. While we have plenty of users, the most valuable users are the ones that contribute back. We highly value thinking about the future together. By cooperating we can create a stronger product for everyone. An active community is really vital for any open source project. It benefits every implementor, not just of sabre/dav, but also our various spin-off projects, such as sabre/vobject (a library for parsing and manipulating vCard, iCalendar, jCard and jCal), sabre/xml (the only XML library that you may not hate), and many other projects we work on. Last but not least our own end-user product fruux -a unified service to manage contacts, calendars and tasks for consumers and teams- is also built on top of our open source technologies. Open source is not just a major part of our strategy, but also what we think is the right way to build software.”

Future of WebDAV in ownCloud

Vincent will be part of the work to update sabre/dav in ownCloud to version 2. It requires some “cleanup and re-factoring,” but stands to make “our code more beautiful.” The upgrade will be preceded by “adding unit tests everywhere to make sure the upgrade is smooth.” Vincent notes that the team is also looking into using sabre/dav on a deeper level, “not just files, also for other things like tags and users.” It is possible because Microsoft uses WebDAV for email and contacts as well. Thomas points out that ActiveSync is a “perverted form of WebDAV, using a binary form of XML.”

sabre_dav_logo
Vincent calls their thinking around WebDAV usage a “research project.” Thomas states that “you have crazy ideas, inspired from nowhere, but also from Evert himself”. He explains that “you grab 5 minutes and scratch some code together to see if it works properly. And discuss it and iterate.” He describes parts of the current API as needing a cleanup, something the team has been thinking about for a while.

Vincent describes how ownCloud has “multiple API formats. Internal REST API’s, OCS, WebDAV.” The team, however, wants to consolidate these formats and have only one solution in the end. In a GitHub discussion Vincent proposed to “drop WebDAV and move to REST.” At this point Evert “clarified that we can actually use WebDAV for things other than files,” which opens up new opportunities. Vincent wasn’t aware that WebDAV is that extensible, and the team is now thinking about putting in even more effort in to WebDAV, rather than less.

This is an example of how the team works with sabre/dav and fruux, Evert in particular to which Thomas notes is “mainly on GitHub where we know this is a WebDAV issue and where we know we need his expertise. We just directly ping him– ‘Hey Evert, can you have a quick look?’ And he’s usually responding really fast. It’s an awesome collaboration with fruux, I have to say.”

Conclusion

When asked what would have been great to know before starting to use sabre/dav, Thomas simply says “nothing.” He elaborates, explaining that “there are good examples and good documentation, and because of the power of open source there are at least two or three other projects that also use sabre/dav, so you can see how they do it. From my point of view it is quite self-explanatory.”

Vincent also points out that he “started using it later” and didn’t know “WebDAV is so extensible and that you can use sabre/dav for that, not just for files.” It was the function names that “misled me,” he adds, but with version 2 “these are more generic.”

Thomas and Robin both agree and Thomas notes that “you can extend it to almost anything, which is the power of the protocol itself, like Microsoft uses it for email.” Comparing it to other API’s, he points out that “you can avoid using a nightmarish, ancient protocol like IMAP.” WebDAV is “almost ‘REST’ful,” and its “simplicity, yet flexibility helps you design proper API’s.” A first version of any API “goes mad” but with a “proper concept and mechanism” you can build a good API.

The team is looking forward to deeper integration with WebDAV in ownCloud through sabre/dav, and the benefits it brings – “beyond just code.” The good collaboration with upstream, not to mention the well designed code itself, has proven to be inspiring.

read more



Raghu Nayyar
Tough decisions and 2015
April 13, 2015

As I am graduating this year, the usual question of choosing betwwen higher education and job had to come up, from my family and my friends here. Morever, I had applied to Sweden for a MS in Human Computer Interaction, in KTH Royal Institute of Technology, Stockholm which ranks in the top Europan universities. I had 0 hopes of cracking it considering a different background and low Grade Point Average, but somehow I managed to crack it. I don’t know how it happened, but certainly makes me think, I, at least did something in past 3 years.

Moving On

It’s tough to say, but I am not taking an admit as of now. I might, as well, go for it in future, but not now. I have my own set of personal / financial reasons accompanied by my will to step in the industry first. I am 22 right now, so an MS can most certainly wait.

Say hello to BrowserStack

In other news, I am joining BrowserStack, as an Interaction Designer later next month and start a new (and more returning) journey of my life. I have been in love with Mumbai & I am glad that I am not moving away from it. BrowserStack has an extremely long list of clients that varying from GitHub, jQuery, Microsoft to Bose, MIT, RBS and many more.

I think, this will give me a lot of exposure as well as a steep learning curve. This way I can also give back to the long list of developers and designers who helped me pick up both code and design.

Major Credits

I had promised myself to thank a lot of people who play a pivotal role in my life and have been instrumental in the decisions I took:

My folks at ownCloud

  1. Alessandro Cosentino: For the Statement of Purpose and being one of the most humble seniors I have met.
  2. Jan Christoph Borchardt: My first fling with interaction design happened when I used to accompany Jan while bug fixing ownCloud.
  3. Bernhard Posselt: My first Summer of Code Mentor & the guy who helped me pick up programming.
  4. Georg Ehrke: The best colaborator so far, we still work together, & would continue to work together on the ownCloud Calendar.
  5. Frank Karlitschek: For keeping the ownCloud community growing which still keeps me hooked up on the project.

My Indian friends & colleagues

  1. Aniket Pant: I don’t think I would have picked up any interest towards the web if he was not a part of my friend circle. My initial fling with front-end development is a result of me sitting in his room.
  2. Akshay Vikas, Upasana Maheshwari for taking time out for my Statement of Purpose.
  3. Shreya Pandit: For introducing me to KDE and open source software.
  4. Rasagy Sharma: For sticking around. :D

Journey Continues

Considering my thesis or my job, I still would continue to contribute to open source software in my free time.

Also, pardon me, if I miss someone. I have long list of people to thank, so I will switch to emails for that matter.

read more



ownCloud
Edit your ownCloud Documents with iOS apps
April 13, 2015

StorageProviders_crop
Storage Provider setting

The ownCloud iOS app has recently been updated with some major new features including Instant upload and the ability to function as Document provider. This not only makes the photos taken with your iPhone available on your ownCloud, but also brings ownCloud files to your iOS apps.

Instant uploads

The first new feature is visible in the ownCloud iOS client itself. If you are in the settings view there is an Instant Upload function that you can enable. Anytime you take a picture it will be uploaded to the “Instant Upload” folder in ownCloud.

A caveat is that iOS currently does not really offer the ability for apps to react when a picture is taken, so the ownCloud app has to rely on a work-around– the GPS wake-up feature. Whenever there is a significant change in location the ownCloud app will be woken up and have a chance to check for new images and upload them to your ownCloud server. This work-around will become less of a problem in the future as iOS 8 has a new API that makes things easier. For now, we support iOS 7 and iOS 8 so things will be a bit complicated.
Other changes that are not yet implemented are the ability to choose an Instant Upload folder and deciding to only upload when on wifi. The latter can be achieved by using the iOS settings to restrict the ownCloud app to updating only on wifi. But developers experienced with iOS can step in and bring these features to the app; contributing code to the ownCloud iOS client is possible.

settings
settings now feature instant upload

Document Provider

The Document Provider is a technical name for the new ability in iOS to let apps offer their files to other apps. With this ability in the ownCloud app, apps like Microsoft Office for iOS can open files directly from your ownCloud server.

This is very easy to use. In the third party iOS app just open the document picker, choose the ownCloud app, choose the files and they will open. Depending on the saving abilities of the app you are using, if you make any changes they will be saved back to your ownCloud.

Please note that this requires a change in iOS apps – they have to support the document picker, and not all do, yet.

More features

Since the ownCloud iOS client was open sourced, it has become easier to follow development. One just has to check the github repo to see what is going on. The Android client is already receiving a significant amount of contributions and you are welcome to get improvements you’d like to see into the ownCloud iOS client to even things out!

read more



Jos Poortvliet
ownCloud Meetup to test devices in Berlin
April 12, 2015

Coming Wednesday, it's time for the monthly Berlin ownCloud meetup again. Last month, we wanted to play with some little development boards, install ownCloud on them and see what they could do. But we had over a dozen new participants join, turning the meetup mostly in a 'how to get an ownCloud development environment up and running' session.

That was great fun and I'd love to see everybody again - but the devices are also in the office, looking at us like they want attention. So, if you're interested in playing with Banana Pi, Raspberry Pi, cubietruck and similar stuff, come and join our meetup. Wednesday, starting at 7 at c-base Berlin in the main room, we'll grab some tables and bring devices, power cords and chargers and get going.

We'll see how far we can get, but goals include getting some decent performance statistics of the differences between the various devices and ownCloud releases as well as finding some ways of optimizing the ownCloud performance on these boards.

Note that ANYBODY, seriously, ANYBODY is welcome. We'd be more than happy to help you get started with any type of ownCloud hacking, so if you don't care about Raspberry Pi's but rather hack on 2048 CPU clusters - fine with me. Feel free to bring one and we'd be happy to turn it into a fun toy ;-)

Oh and if you tend to get hungry in the evening, bring something to eat. We'll probably grab some pizza.

You can RSVP here but you're welcome in any case!

read more