seeseekey.net - Invictus Deus Ex Machina

Der ownCloud-Fork Nextcloud verfügt ebenfalls über eine Kalender-App. Wollte man unter ownCloud ein ICS-Datei in den Kalender importieren, so musste man diese hochladen und die Datei über die Dateiansicht von ownCloud importieren. Versucht man dies unter Nextcloud, wird man feststellen, das statt eines Importes der Texteditor geöffnet wird.

Die Einstellungen der Kalender-App

Der Grund dafür ist, das der Import von ICS-Dateien unter Nextcloud mittlerweile anders gelöst ist. Der Umweg über den Upload entfällt; stattdessen kann die ICS-Datei direkt über die Einstellungen der Kalender-App importiert werden.

Möchte man eine Dateien in der freien Dateisynchronisationslösung Nextcloud löschen so ist dies einfach über den Dateimanager möglich. Anschließend werden die Änderungen mit dem Nextcloud-Server synchronisiert. Etwas komplizierter wird das ganze wenn man die Dateien direkt auf dem Server im data-Verzeichnis löschen möchte. Wurden hier Dateien gelöscht, müssen auf der Kommandozeile anschließend folgende Befehle innerhalb der Nextcloud-Installation ausgeführt werden:

occ files:cleanup
occ files:scan --all

Damit wird der Dateicache gelöscht und anschließend ein neuer Scan durchgeführt. Dieser sorgt dafür das die veränderte Situation bezüglich der Dateien erkannt wird.

Seit einiger Zeit gibt es den ownCloud-Fork Nextcloud. Initiiert wurde dieser Fork von Frank Karlitschek dem ehemaligen Chief Technology Officer der Firma ownCloud. Mit dem Fork möchte man das Projekt wieder mehr in Richtung Community bringen – so werden von den Beitragenden keine Contributor Agreements erwartet und viele Features welche vorher der Enterprise-Version vorbehalten waren, stehen nun unter Nextcloud allen bereit. Von der Community wanderte die Unterstützung mittlerweile stark zu Nextcloud, so das sich für viele die Frage stellt ob man zu Nextcloud migrieren sollte.

nextcloud.com

nextcloud.com

Wenn man eine Migration zu Nextcloud ins Auge gefasst hat, muss die Frage nach dem Wie geklärt werden. Wenn man hier von ownCloud 9 zu Nextcloud 10 migirieren möchte, ist die Migration in wenigen Schritten erledigt. Im ersten Schritt sollte die ownCloud-Installation bereinigt werden. Dazu werden alle Ordner bis auf den data und den config-Ordner entfernt. Im zweiten Schritt sollte das aktuelle Nextcloud-Release heruntergeladen werden. Dieses wird entpackt und der Inhalt des Archivs in den Ordner der ownCloud-Installation kopiert. Nun muss die ownCloud-Installation im Browser aufgerufen werden.

Die Installation wird migriert

Die Installation wird migriert

Dort wird man nun aufgefordert den Upgradeprozess durchzuführen, alternativ kann dieser auch über die Konsole durchgeführt werden:

sudo -u www-data occ upgrade

Dabei muss das Upgrade im Kontext des Nutzers erfolgen, welchem die entsprechenden Verzeichnisse gehören. Nach dem erfolgreichen Upgrade bzw. der erfolgreichen Migration kann die Nextcloud-Instanz im Browser genutzt werden. Im Moment gleicht sich die Bedienung von ownCloud und Nextcloud sehr, aber dies wird sich in den nächsten Monaten und Jahren ändern – das gleiche gilt natürlich auch für die Migration. Wenn sich die beiden Anwendungen mit der Zeit auseinander entwickeln wird die Migration in Zukunft komplizierter werden, so das es sich lohnt darüber nachzudenken wann diese durchgeführt werden soll.

Unter Umständen kann es sein das der Kalender unter iOS nicht die aktuellen Termine anzeigt. Dies passiert unter anderem dann wenn ein externer Kalender (z.B. über ownCloud / CalDAV) eingebunden wird.

Die Kalenderübersicht ermöglicht die Aktualisierung

Die Kalenderübersicht ermöglicht die Aktualisierung

Möchte man nicht auf die Aktualisierung warten, so kann man diese mit einem einfachen Handgriff erzwingen. Dazu muss der Kalender geöffnet werden und in diesem die Übersicht der Kalender geöffnet werden. Anschließend muss die Übersicht nach unten gezogen werden und schon wird die Kalendersynchronisation angestartet.

Wenn man ein Upgrade bei einer ownCloud-Installation durchführt, so wird die entsprechende Installation in den Wartungsmodus versetzt.

ownCloud im Wartungsmodus

ownCloud im Wartungsmodus

Unter Umständen kann es passieren, das der Wartungsmodus nach dem Upgrade nicht mehr deaktiviert wird. In diesem Fall muss der Wartungsmodus manuell deaktiviert werden. Dazu muss die Datei config.php, welche sich im Verzeichnis config befinden geöffnet werden. In dieser Datei findet sich der Eintrag:

'maintenance' => true,

Der Wert von maintenance muss dabei auf false gesetzt werden und die Datei gespeichert werden. Danach ist der Wartungsmodus wieder deaktiviert.

Vor einigen Tagen wurde die zweite Version des ownCloud-Clients veröffentlicht. Der Client wird benötigt um die Dateien welche in der ownCloud liegen auf den eigenen Rechner zu sychronisieren. Das Killerfeature der zweiten Version ist dabei die Unterstützung für mehrere Konten (bzw. Server).

Die Einstellungen des neuen ownCloud-Clients

Die Einstellungen des neuen ownCloud-Clients

Früher war dies nur über Umwege möglich, so musste der ownCloud-Client an einen anderen Ort kopiert werden und konnte dann gestartet werden. Mit der neuen Version entfällt dieser umständliche Weg. Bezogen werden kann der Client über die offizielle Seite des Projektes.

Immer wenn ich in den letzten Jahren größere Dokumente verfasst habe, habe ich dazu Scrivener genutzt. Dabei handelt es sich um eine Applikation mit welcher ein Dokument in Projektform bearbeitet werden kann. Kapitel und andere Dinge wie Dokumente zur Recherche können in eine Ordnerstruktur gepackt werden und damit effizient organisiert werden. Daneben bietet Scrivener viele Funktion z.B. für Korrekturdurchläufe und ähnliches. Damit ist Scrivener die eierlegende Wollmilchsau für die Bearbeitung größerer Schreibprojekte.

Scrivener unter Mac OS X

Scrivener unter Mac OS X

Sinnvoll sind solche dezidierten Programme zum Schreiben von längeren Texten, wenn man bequem nach Kapiteln gruppieren möchte, und seine Texte in handliche Häppchen verteilen kann. Wo Licht hinfällt ist allerdings auch Schatten zu finden. Im Laufe der Jahre, sind mir einige Dinge aufgefallen welche mich an Scrivener stören. Die Entwicklung von Scrivener begann in den frühen 2000ern und leider merkt man es dem Programm auch an. Es wirkt altgebacken, was man der Anwendung aber nicht vorwerfen muss, da es die Funktionalität nicht beeinflusst und die Optik beim nächsten Update an Yosemite angepasst wird.

Scrivener
Preis: 49,99 €

Eines der Dinge die mich an Scrivener nachhaltig stören, ist das ich Texte formatieren muss. Intern speichert Scrivener die Daten als RTF-Dateien. Das führt dazu das bevor ich schreibe ich ersteinmal die passenden Einstellungen für Fonts, Absätze und Überschriften suche und konfiguriere. Spannend wird dies auch wenn man einen Text, z.B. von einer Webseite in Scrivener hinein kopiert – alle Formatierung werden übernommen und müssen erst wieder angepasst werden (wobei es in Scrivener auch möglich ist einen Text in Reinform einzufügen).

Mit Markdown ist das ganze wesentlich angenehmer, weil man sich dort auf den Inhalt konzentrieren kann und nicht durch unnötige Formatierung abgelenkt wird:

# Überschrift

Lorem Ipsum sit dolor amet

* Auflistung
* Auflistung
* Auflistung

Daneben gab es noch einen anderen Grund mich nach einer Scrivener-Alternative umzuschauen. Seit einigen Jahren wird an einer iOS-App für Scrivener gearbeitet. Nach neusten Schätzungen wird diese irgendwann Ende 2015 erscheinen. Da ich des Wartens überdrüssig war schaute ich mich nach Alternativen um. Als erste Alternative kam mir Storyist unter die Augen, allerdings habe ich es auch relativ schnell wieder aus den Augen verloren, denn es ist relativ speziell ist (eignet sich eher für reine Drehbuchschreiber, als für den “Allesschreiber”) – außerdem ist der Preis für den gebotenden Funktionsumfang einach zu hoch.

Ulysses unter Mac OS X

Ulysses unter Mac OS X

Als zweite Alternative schaute ich mir Ulysses vom deutschen Hersteller The Soulman an. Großartig an Ulysses ist das es komplett auf Mardown setzt und somit sehr inhaltszentriert ist. Als Autor muss mich nur noch um die logische Formatierung kümmern und kann mich somit voll und ganz auf den Inhalt konzentrieren. Ein weiterer wichtiger Punkt ist das es von Ulysses eine iPad-App gibt. Diese ist dabei nicht als Companion-App gedacht sondern eine vollwertige App, welche Featuretechnisch fast identisch ist mit der Desktop-Applikation für den Mac ist.

Ulysses auf dem iPad

Ulysses auf dem iPad

Damit alle Projekte an denen man arbeitet synchron sind, werde diese auf Wunsch (lokale Projekte sind ebenso möglich) per iCloud synchronisiert. Auch eine Synchronisierung über andere Dienste wie Dropbox oder ownCloud wird über das Externe-Ordner-Feature von Ulysses ermöglicht.

Auch bei Ulysses gibt es einige Nachteile, welche aber je nach Präferenz nicht wirklich ins Gewicht fallen. Wenn man Scrivener und Ulysses miteinander vergleicht, so wird man feststellen das viele Funktionen aus Scrivener, wie Korrekturläufe, Namensgeneratoren und andere in Ulysses nicht vorhanden sind. Allerdings muss man sich hier auch die Frage stellen, welche dieser Features man wirklich für seinen Schreibfluss benötigt.

Positiv ist hervorzuheben, das man ohne Probleme mittels Markdown auch Bilder und Videos in einen Text einfügen kann. Die Unterstützung für Markdown-Tabellen (für das es durchaus eine Syntax gibt) ist in Ulysses leider noch nicht vorhanden, soll aber in einer späteren Version hinzugefügt werden.

Der iCloud-Sync hakt an einigen Stellen und es gibt einige Fallstricke beim Sync (so muss iCloud Drive auf allen synchronisierten Geräten aktiv sein). Vor allem wenn man mit größeren und vor allem mehreren Projekten arbeitet sollte jedes Projekt einzeln importiert werden. Import ist eine von den Dingen die Ulysses nicht wirklich beherrscht. Unter Scrivener ist es möglich längere Dateien am Stück zu importieren und in mehrere Blätter herunterzubrechen, indem man ein Trennzeichen vorgibt. Hier besteht bei Ulysses noch Nachbesserungsbearf.

Im Gegensatz zu Scrivener werden die Projektdaten unter Ulysses anders verwaltet. Bei Scrivener wird für jedes Schreibprojekt ein Projekt angelegt, bei Ulysses gibt es stattdessen nur eine große Bibliothek in welcher alle Projekte zu finden sind. Dies hat durchaus seinen Charme – so habe ich mich bei Scrivener des öfteren dabei erwischt wie ich bestimmte Projekte einfach nicht öffne – unter Ulysses sind sie hingegen immer präsent.

Wenn man ein Werk bei Ulysses beendet hat, kann dieses (oder Teilstücke davon) problemlos in unterschiedliche Formate exportiert werden. Als Ausgabeformate werden dabei unter anderem reiner Text- (auch in Markdownausprägung), ePub, DocX und PDF unterstützt. An die Export- bzw. Compilefunktionalität von Scrivener kommt Ulysses dabei aber nicht heran.

Neben den reinen Schreibfeatures gibt es auch entsprechenden Zuckerguss wie das Definieren von Schreibzielen und die Anzeige der Schreibstatistiken. Was beide Programme beherschen ist die Versionierung von Texten, was immer dann wichtig ist wenn man Fehler macht und zu einem alten Text zurückkehren möchte. Durchdacht ist die Bedienung mittels der Tastatur, sowohl unter Mac OS X als auch unter iOS. So lässt sich während des Schreibprozesses problemlos zwischen unterschiedlichen Blättern umschalten kann.

Als Fazit kann man festhalten, das Ulysses sich minimalistisch auf seine Kernfunktionen beschränkt, während Scrivener die eigenlegende Wollmilchsau liefert, welche neben Mac OS X auch unter Windows läuft (wobei diese technisch gesehen eine extra App ist und nichts mit der Mac OS X App zu tun hat). Ich persönlich werde meine Schreibprojekte in Zukunft unter Ulysses fortsetzen, da Schreiben in Markdown aus meiner Sicht ein Killerfeature ist – daneben gibt es viele Pluspunkte für die funktionierende iPad-App.

ownCloud aktualisiert regelmäßig Daten im Hintergrund mittels eines Cronjobs. So werden z.B. neue Artikel aus RSS-Feeds bezogen, wenn die App News installiert ist. Während der Cronjob durchgeführt wird, legt ownCloud eine Datei mit dem Namen cron.lock im data-Verzeichnis der ownCloud Installation an. Unter Umständen kann es passieren das der Cronjob nicht zu einem ordentliche Abschluss kommt und die cron.lock-Datei damit bestehen bleibt. Dies führt dazu das ownCloud keine Aktualisierungen mehr vornehmen kann. Als Workaround kann die Sperrdatei mit einem Cronjob regelmäßig entfernt werden. Dazu muss die Crontab bearbeitet werden:

crontab -e

In die sich öffnende Crontab-Datei wird nun folgendes eingetragen:

4    0    * * *   rm /var/www/example/owncloud/data/cron.lock

Damit wird die cron.lock-Datei jeden Tag um 0:04 Uhr gelöscht, falls sie vorhanden sein sollte. Wichtig ist es dabei die Crontab-Datei mit einer Leerzeile abzuschließen und den Pfad an die eigene Installation anzupassen.

Bei einer ownCloud-Instanz welche schon einige Betriebsstunden auf dem Buckel hat, kann es zu einem unschönen Effekt kommen. Beim Versuch den Papierkorb über die Funktion “Gelöschte Dateien” zu leeren, versucht ownCloud alle Dateien aufzulisten, was allerdings nicht gelingt. Der Browser friert ein und das Leeren des Papierkorbes ist nicht möglich.

Der Button um die gelöschten Dateien aufzurufen

Der Button um die gelöschten Dateien aufzurufen

Auch wenn das Leeren des Papierkorber nach Meinung der ownCloud-Entwickler nicht notwendig ist, da die Dateien nach einer Weile weggeworfen werden, sollte es trotzdem eine Lösung geben um den Papierkorb manuell zu leeren. Ein Workarround ist es den Papierkorb direkt zu löschen in dem man das Verzeichnis “owncloud/data/username/files_trashbin/ löscht. Anschließend müssen noch zwei Tabellen in der Datenbank bereinigt werden:

TRUNCATE TABLE oc_files_trashsize;
TRUNCATE TABLE oc_files_trash;

Eine weitere Möglichkeit diese Problematik zu entschärfen, ist es die Vorhaltezeit von gelöschten Dateien von 180 Tagen auf 30 Tage zu reduzieren. Dazu öffnet man die config.php Datei welche im config-Ordner zu finden ist und trägt folgenden Wert ein:

'trashbin_retention_obligation' => 30,

Damit wird verhindert das sich zu viele Dateien im Papierkorb ansammeln und das Problem deutlich entschärft.

Wenn man das ownCloud-Passwort ändern möchte, so kann man dies über die “Passwort vergessen?”-Funktion zurücksetzen. Wenn dies nicht mehr möglich ist, so kann das ganze auch in der Datenbank erledigt werden:

UPDATE `oc_users` SET `password`=SHA1('geheim') WHERE `uid`='nutzername'

Da die Passwörter mit einem Salt und mittels SHA1 gehasht gespeichert werden, muss das neue Passwort auch gehasht werden. Dies erledigt die Datenbank-Funktion “SHA1” für uns. Nachdem das Passwort zurückgesetzt wurde, sollte das Passwort nach dem Login über die “Persönlich”-Seite erneut geändert werden, damit wieder ein Salt für selbiges generiert wird.