chipwreck ~ The guide is definitive. Reality is frequently inaccurate.

 
 
 
 
 
 
 
 

Owncloud setup – replace Dropbox and Google Calendar

Updated 2 weeks ago, posted 3 months ago in Mac OS X, Mobile, Stuff
Owncloud setup - replace Dropbox and Google Calendar

This article is work in progress and will be updated along the way. Last update: July 12th 2014 - calendar & contacts.

Why Owncloud?

For some time (before dropdropbox) I thought about replacing dropbox as my primary cloud storage. Instead of choosing another provider like Google Drive or Wuala I decided to try owncloud.

Owncloud is a (free and open source) server based software, which offers encrypted file storage, a calendar, an address book, task management and some other stuff. Owncloud can be installed on a usual web hosting service, as long as PHP is available. Some advantages:

  • All the data is on your own webserver
  • Data can be encrypted
  • As much storage space as your webspace offers
  • Calendar/Contacts/Tasks can be synced via standard protocols CalDav, CardDav

So this post is about my experience while migrating from Dropbox/Google Calendar/Contacts to Owncloud and some best practices I found. (I won’t repeat the owncloud manual here, so the basic stuff won’t be explained.)

My setup

  • I use two different Macs (OSX 10.9) and an Android (4.2) mobile.
  • Dropbox is used as shared cloud storage on all 3 devices to sync files, images, documents and backup data.
  • Dropbox is also used to synchronize password data for 1Password and favorites in Transmit.
  • Appointments are being managed with Google Calendar and synced with OSX Calendar on both Macs and on Android via the default Google account.
  • Contacts also live at Google, synced with OSX Address Book/Contacts and the standard address book on Android.

Installing Owncloud

This is generally quite straightforward, upload the files to the webserver, set the correct permissions, open browser and configure your user etc.

Important: Use MySQL as storage engine if possible. Do not use SQLite. Just don’t. In order to do this, you have to setup the MySQL database before installing owncloud. (The manual says “Because SQLite handles multiple users very badly SQLite is only recommended for single user ownCloud installations”. When I used SQLite Owncloud was extremely slow, even I was the only user. I suppose syncing data from multiple clients has the same impact as having multiple users..)

Important: If your provider offers an SSL-proxy (in case you don’t have an SSL certificate) set this up before installing. There are some articles online about this topic, I found that I had to add the following entries in /<your-owncloud-directory>/config/config.php:

'overwriteprotocol' => "https",
'overwritehost' => "ssl-account.com", // this is for all-inkl.com, change this according to your provider
'overwritewebroot' => "/cloud.subdomain.de", // your subdomain, which links directly to your owncloud-folder
'overwritecondaddr' => "^10.20.30.40$", // remote ip of your webserver, you can leave this line out

More information (im German only) here and here.

Hint: File encryption isn’t enabled by default. It is provided as App, which you need to enable as in the backend (whatever the reason might be for this..). I didn’t have a deeper look at security and so nothing confidential is online, currently.

Web interface

Generally the web interface is well done has some issues: It’s not responsible and simply unusable on a mobile (at least when using Chrome/Android). The interface works in a way but in looks broken in many places (for example the contact management is a real mess, editing appointments sometimes has problems with tabs..).

The settings work as expected, with some minor design flaws: I.E. the preferences are mostly saved via Ajax. Some with a visual feedback, some without, some preferences reload the page, some open another page… Update is also strange: The link “Update center” looks totally not like the other buttons, it opens a new page, click on the “Update”-Tab to see this screen (no update available? an error? whatever..): Owncloud update?

Using external storage (you can include dropbox or google drive or some other remote cloud space) is also a bit strange: You can set up storage providers in the administration interface, then you enable it for users and do the same in your user prefs? A bit counter-intuitive. Apart from these minor annoyances: The interface is usable and fast.

File synchronization

To synchronize your files between different computers, there’s the free owncloud-software ( owncloud.org/sync-clients/ ) for Mac, Windows and Linux. I only use the Mac-version – it works similar to the Dropbox-client, sitting at the top right menubar. You can set the folders to be synced as well as the rate for down-/upload and view the last modifications. The software on the Mac is not as responsive and stable as its Dropbox counterpart: Sometimes it crashed and sometimes it took several minutes until the thing decided to notify my modifications, but that’s no big deal.

Hint: Files with special characters in their name won’t be synced. Due to the platforms on which owncloud works, the filenames must be valid on all these platforms. So that means: No files with / ? & " ' in their name. Symbolic links are also not synced, neither as link nor are the contents synced. For some setups this leads to problems, but since you can sync multiple folders you can still work around this issue.

WebDAV file access

Instead of syncing the files you can also access the files in your owncloud via WebDAV. This works quite okay when using a client like Panic’s Transmit on the Mac. If you use OS X Finder it’s simply a pain, but that seems to be the case with all WebDAV implementations I’ve encountered. Therefore: Either use a tool like Transmit or sync the files via the dedicated client software.

Calendar

A calendar is integrated which has the usual features like day/week/month view, multiple calendars, repeating appointments, sharing appointments etc. The webinterface, well, works in a way. It’s not very pretty It does work somehow and is quite ugly, but you at least can drag&drop appointments, change the duration by dragging the lower bar. Very nice is the integration of contact birthdays – this works flawlessly (it shows you even the year of birth, the upcoming age would be somewhat more helpful but okay..)

Much more important is (at least for me) the possibility to use the calendar with other software – in this case Mac calendar and Android. You can download the calendars as ics-file, get a read-only link and a CalDav-Link (read/write).

Owncloud calendar settings

Owncloud calendar settings

Calendar: Month view, adding appointment

Calendar: Month view, adding appointment

Using the Calendar with OSX

This works great: Just open OSX Calendar, add a new account, type “CalDav”, copy the link for OSX from the owncloud calendar settings, enter your credentials and you’re done. Same goes for reminders which syncs to the OSX Reminders app. The synchronization works stable with reminders, repeating appointments, whole-day appointments and appointment details.

Using the Calendar with Android

Here things get a bit more complicated – but once you’ve set up everything the synchronization works also great. The thing is, Android can’t use CalDav-accounts natively. An easy workaround would be to import the owncloud-calendar into the Google calendar and let Android sync with Google, which is of course not a problem. But that’s usually not what you want. So you have to install an app which works as a “synchronization provider” for Android, just like i.e. Facebook and Dropbox do. I tried some and my verdict is:

Use “CalDav Sync” from Marten Gajda, period – play store link.

The app costs € 2.59 – and the developer also maintains an app for syncing contact data (see below). For the latter one you can download a trial version, for this one IMHO not. As soon as version 1.0 is reached, the app is going open source, which is not only a good idea but also makes sure the app can be maintained even if the developer doesn’t.

After installing you can setup new calendar accounts, enter the URL, credentials, choose which calendars to sync (1-way or 2-way), select sync intervals and after some minutes you can see and use the owncloud-calendars in the mobile calendar app of your choice – like Google calendar, Samsungs own calendar thing or any of the 48598 other calendar solutions for Android (as long as they adhere to the Android standard). I’d recommend using one-way (from owncloud to mobile) at first to try out if everything works.

CalDav Sync Settings

CalDav Sync

CalDav Sync: New Account

New Account

Contacts

Contact managment inside owncloud is also nothing for web design awards, but it works – if you have no problem with a broken layout. See the following screenshots:

Editing contacts

Editing a contact (Firefox)

Editing a contact

Editing a contact (Chrome)

The features on the other hand are quite sophisticated: gravatar support, contact groups, multiple address books, all necessary contact fields. And: Importing contact data from OSX Address book (aka OSX Contacts) works great, including contact photos, multiple email addresses, birthdays etc.

Using Contacts with OSX

This is easy: Open OSX Contacts, add a new account (type “other…”) and choose CardDAV on the next screen, enter the credentials and – done. If only everything worked that way…

Using Contacts with Android

Similar to CalDAV Android does not include CardDAV natively ;( But no problem with this app from Marten Gajda: CardDAV Sync, free version available – play store link.

Card Dav Sync: New Account

CardDAV Sync

The app works also according to Android standards, so you find your synced contacts in the contact management app of your choice. Setup also quite easy: Add a new account, enter the synchronization URL from owncloud (click the gear icon in the bottom left on the contact page), credentials and setup the synchronization interval + mechanism (one-way/two-way). I’d recommend using one-way (from owncloud to mobile) at first to try out if everything works.

(more to follow soon: photos, 1password, android)


CwCrop Update

Updated 5 months ago, posted 5 months ago in Javascript & Mootools, Software Updates

An update for CwCrop – size calculation was a bit off in certain cases, thanks to Harm Hermsen for fixing this.

CwCrop »

Coda PHP & Web Toolkit 4.2beta

Updated 9 months ago, posted 9 months ago in Coda, Software Updates

A new beta release: Now supports JSHint 2.3 with custom preferences. … Continue reading »

CwCrop 1.0 update

Updated 10 months ago, posted 10 months ago in Javascript & Mootools, Software Updates

A small update, now the included demo works correctly again. Thanks Caroline for noticing!

More information here and find it of course on Mootools Forge.

Coda PHP & Web Toolkit 4.1

Updated 10 months ago, posted 10 months ago in Coda, Software Updates

New release: Mostly bugfixes and some code rewrite in the background. … Continue reading »

Downtime (just a few hours)

Updated 12 months ago, posted 12 months ago in Stuff, Web Development

I’m moving my website to a new server (to have php 5.4) – therefore the website will be down for a few hours.

Everything should be up and running in a few hours and I’ll use this (semi-interesting) blog post to mention how content I’m with my provider:
Today I asked if it was possible to move my account to another server with php5.3/php5.4-support because the current server offers php5.3, but only via CGI. This usually is not a big thing, but there are certain drawbacks: For example it’s not possible to use “flush()/ob_flush()”. (Well you can use it, but the page is being sent in one piece anyway). Of course php via CGI was the last thing I thought of .. Before that I tried lots of different esoteric stack overflow hints (“Always send a Carriage Return!”, “Send at least 200 characters before each flush()” and so on..) until I finally realized it might have something to do with the server.

Well, long story short, a few minutes (sic!) later I received an e-mail that this is no problem and my webspace can be moved to another server if desired.

By the way: It seems the Akismet Anti-Spam plugin has some major problems the last weeks – because 95% of all posts I receive for review are spam. Not a very big deal, because I’m talking about 10 to 30 posts per week and according to the stats last month about 19.000 posts were directly marked as spam… – but if you sent a useful comment and it’s not released yet, well that might be the problem, sorry..

This isn’t meant to be stupid advertising or to promote the partner-link below (you’re of course welcome to use it, but I think it’s only interesting for German users) – it’s rather a recommendation.

So, honestly recommended as provider: all-inkl.com.

ALL-INKL.COM - Webhosting Server Hosting Domain Provider (Partnerlink)

Pinboard Safari Extension Beta 2.91

Updated 1 year ago, posted 1 year ago in Software Updates

Just a small update, removed some debug code and fixing the update link so there’s no useless update warning for the previous non-beta-version

Download and more…

First streetwear label for human rights

Updated 2 weeks ago, posted 1 year ago in Stuff
First streetwear label for human rights
Tellavision clothing is such a great project: Kids in problematic environments can design their own streetwear fashion – these creations are sold online. 5 Euro of each sold item go directly to the local organization in India, Tanzania etc. And the designed shirts/hoodies look much better (and more unique) than lots of brand stuff you can buy these days. The project is also supported by terre des hommes and the clothes itself are organic, certified by several labels like GOTS, Fairwear, earth positive etc. Tellavision Clothing Streetwear Shipping currently only to Germany, so if you’re in Germany: Visit tellavision-clothing.com

My small contribution was setting up and customizing the Magento online shop.