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


CwCrop Update 1.14

Updated 1 month ago, posted 1 month ago in Javascript & Mootools, Software Updates

And another update for CwCrop – initial dimensions were wrong, thanks to Martin Silenus for fixing this. And by the way updated the demo page which seemingly also had a bug…

CwCrop »


Updated 6 months ago, posted 6 months ago in Stuff
The next weeks luckily I’m on vacation, so no updates here. Stay tuned.

Owncloud setup – replace Dropbox and Google Calendar

Updated 3 months ago, posted 11 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: Dec 20th 2014 – files & 1password.

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' => "", // this is for, change this according to your provider
'overwritewebroot' => "/", // your subdomain, which links directly to your owncloud-folder
'overwritecondaddr' => "^$", // 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 ( ) 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.


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


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.

Photos/File synchronization with Android

In order to synchronize files I use FolderSync (Play Store Link). FolderSync can synronize with lots of providers, including Dropbox, Google Drive, FTP, SFTP and also Owncloud. Syncing with owncloud works flawlessly. You can setup a 1- or 2-way-sync.

Using 1Password with Android

For 1Password I use the Android app and set it to use a local password file. This file is being synchronized once a day with FolderSync from owncloud to the mobile phone. So I can use 1Password on the Mac (with the password-file being inside the owncloud-folder) and on Android (using the synchronized copy). Currently I use a one-way synchronization so the passwords are “read-only” on the phone. Since I seldom create new accounts on the mobile that isn’t a big deal for me. The paid version of the 1password Android app also features creating new passwords, so if you want to create new passwords on mobile this would be the way to go.

CwCrop Update

Updated 1 year ago, posted 1 year 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 1 year ago, posted 1 year ago in Coda, Software Updates

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

CwCrop 1.0 update

Updated 1 year ago, posted 1 year 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 1 year ago, posted 1 year ago in Coda, Software Updates

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

Downtime (just a few hours)

Updated 2 years ago, posted 2 years 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 - Webhosting Server Hosting Domain Provider (Partnerlink)