Kategorien
Content Management Systeme

Die Fotografin arbeitet mit Koken

Die Fotografin benötigt eine Website!

Schön soll sie sein, anmutig, leicht zu pflegen, einfach zu administrieren, sie soll den Besuchern Freude machen und Aufträge bringen. Alben muss es geben, die per Passwort geschützt werden können um Auftraggebern die Bilder risikolos zu zeigen. Wasserzeichen sollen möglich sein, damit keiner die Fotos einfach so verwendet.

Achja – und schön wäre noch eine Anbindung an Adobe Lightroom und … nicht zu vergessen … kosten sollte es auch nicht viel, weil … naja, Sie wissen schon.

Das Leben der Fotografin ist hart (aber schön).

Ich hab’s mit WordPress versucht und war schon nah dran – aber es war nicht schön. Drupal hatte ich auf der Zunge, habe es aber doch nicht erwähnt. Ein kurzer Versuch in Joomla brachte auch kein Lächeln auf die Lippen der Fotografin. Sie zeigte mir ein paar Online Services wie beispielsweise squarespace.com. Die Services sind wunderschön und bieten alles, wirklich alles, was sich die Fotografin wünscht. Sie kosten monatlich allerdings durchaus stattliche Beträge. Die Open Source Alternativen überzeugten die Fotografin nicht.

Diese Marktnische hat Koken für sich entdeckt und bietet ein wirklich ansehnliches, auf PHP und MySQL basierendes, Content Management System an. Sie können es auf Ihrem Server kostenlos installieren.

Um zusätzliche Plugins und Theme herunterzuladen müssen Sie sich bei koken.me ein Benutzerkonto anlegen. Die Plugins und Themes sind teilweise kostenpflichtig, teilweise kostenlos. Sie können auch eigene Pugins und Themes schreiben und in Ihre Seite einbauen.

UPDATE 24.08.2016
+++ ACHTUNG +++
Alle Webhostings bei NOVATREND arbeiten mit der MySQL Version 5.6. Momentan ist Koken leider noch nicht kompatibel mit der MySQL Version 5.6!
+++ ACHTUNG +++

Installation

Legen Sie sich einen virtuellen Host , eine MySQL Datenbank und ein Datenbank Benutzerkonto an.

Anlegen von MySQL Benutzer und Datenbank in der Shell:

mysql -u root -p
Enter password:
mysql> CREATE USER 'koken'@'localhost' IDENTIFIED BY 'IHRPASSWORT';
mysql> CREATE DATABASE koekn;
mysql> GRANT ALL ON koken.* TO 'koken'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit

Laden Sie sich von der Site http://koken.me/#dlkoken den Koken Installer und entpacken den Inhalt des ZIP Pakets Koken_Installer.zip in das Dokumentverzeichnis des Webservers.

Wenn Sie nun über einen Browser die entsprechende Domain aufrufen, startet der Installer und überprüft ob in Ihrem System alle Voraussetzungen zur Installation erfüllt sind.
In meinem Fall scheint alles vorhanden zu sein.

Installation - Server Test
Installation – Server Test

Nach einem Klick auf den Button Begin Installation werden Sie aufgefordert ein Administratorkonto anzulegen.
Mit diesem Benutzer werden Sie sich später im Administrationsbereich anmelden.
Koken kann nur diesen einen Nutzer verwalten, eignet sich also nicht für einen Mehrbenutzerbetrieb.

Installation - Benutzer anlegen
Installation – Benutzer anlegen

Als nächstes werden die Verbindungsdaten zur Datenbank abgefragt.

Installation - Datenbank Anbindung
Installation – Datenbank Anbindung

Als nächsten Schritt legen Sie die Zeitzone fest.

Installation - Zeitzone
Installation – Zeitzone

Nun beginnt die eigentliche Installation.
Nach einem Klick auf den Button Install now wird das Programmpaket von den Koken Servern auf Ihren Server geladen und auf Basis der Parameter, die Sie bereits eingegeben haben, konfiguriert.
Die Tabellen werden in der Datenbank angelegt und nach der Installation werden Sie auf die Anmeldung zum Administrationsbereich weitergeleitet.

Installation - Download
Installation – Download

Das Basispaket von Koken ist nun installiert.

Erste Schritte

Melden Sie sich mit Ihrer E-Mail Adresse und dem Passwort an.

Anmeldung im Adminbereich
Anmeldung im Adminbereich

Beim ersten Anmelden erscheint ein Fenster mit einer Tour durch Koken.

Tour
Tour

Der Administrationsbereich besteht aus einer Bibliothek (Library), einem Blog- und Seitenbereich (Text/Essay), einer Websitevorschau und dem Koken Store in dem zusätzliche Plugins und Themes heruntergeladen werden können.

Im Library Tab können Fotos durch einfaches Ziehen in den mittleren Bereich hochgeladen werden.

Hochladen von Photos
Hochladen von Photos

Sie können Fotos zu Alben gruppieren und es gibt Feature und Favoriten Funktionen.

Neue Texte können Sie in Form von Blogeintragen (Essay) oder Seiten mit Link in der Navigation (Page) anlegen.

Essay oder Page anlegen
Essay oder Page anlegen

Der Editor ist natürlich ein WYSIWYG Editor, es gibt aber auch eine HTML Ansicht.

Editor in geteilter Ansicht
Editor in geteilter Ansicht

Gespeichert wird automatisch und Sie können sich die Änderungen in der Vorschau ansehen.
Die endgültige Freigabe und Veröffentlichung auf der Website der Texte erfolgt nach einem Klick auf den Button Update site.

Plugins

Im Koken Store finden Sie kostenlose und kostenpflichtige Plugins und Themes.
Um diese installieren zu können, müssen Sie sich ein Benutzerkonto bei Koken anlegen.
Jede Koken Installation wird in Ihrem Benutzerkonto vermerkt.

Store mit zusätzlichen Plugins
Store mit zusätzlichen Plugins

Es gibt wenige, aber sinnvolle Plugins, beispielsweise die bereits angesprochenen Wasserzeichen und der Passwortschutz für Kundenordner. Beide Plugins schlagen mit jeweils 35 US $ zu Buche, müssen aber natürlich im ersten Schritt noch nicht installiert werden. Auch die freien Plugin müssen über einen Warenkorb Prozess heruntergeladen werden.

Anbindung an Adobe Lightroom

Das Adobe Lightroom Plugin ist frei verfügbar und ermöglicht die Zusammenarbeit mit Adobe Photoshop Lightroom, einer Software zur Bearbeitung und Verwaltung von Digitalfotos.

Anbindung an Lightroom
Anbindung an Lightroom

Themes

Es gibt Themes im Store, die Sie in einer Live-Vorschau auch ausprobieren können.

Auswahl eines Themes
Auswahl eines Themes

Die Navigationsstruktur innerhalb eines Themes liegt fest. Sie können bestehende Links aktivieren und deaktivieren und zusätzliche Links, beispielsweise zu einem Album oder einer About me Seite zusammenfügen.

Navigation konfigurieren
Navigation konfigurieren

Das Ergebnis

Nach kurzer Zeit gibt es als Ergebnis eine Portfolio Website, die der Fotografin gefällt 🙂

Fertige Website
Fertige Website

Links

http://koken.me


tl;dr: Mit Koken lassen sich hervorragende Portfolio Seiten für Fotografen und Fotografinnen erstellen

Kategorien
Services

Lies es später in wallabag

Mit Lies es später Services wie Pocket und Instapaper können Sie Online Artikel mehr oder weniger einfach zu einer Liste hinzufügen. Diese Liste wird beim entsprechenden Service Provider verwaltet. Dieser bietet Clients und Apps für alle gängige Telefone, Tabletts und sonstige Computer an und so haben Sie die Möglichkeit, immer wenn Sie mal Zeit haben, einen Artikel auf der Liste zu lesen.
Soviel zur Theorie 🙂

Als die Mozilla Foundation im Mai 2015 beschloss, den proprietären Service „Pocket“ in den Firefox Browser einzubauen, stellte sich die Frage, warum nicht die Open Source Variante wallabag genommen wurde. Prompt meldeten User einen Fehler im Firefox Bugtracker System (Bug 1163434 – Provide other read it later services than Pocket). Die Verwendung von proprietären Elementen in Mozilla Produkten ist umstritten und in diesem Fall werden auch noch Benutzerdaten bei Dritten gespeichert. Bis heute (Juli 2015) ist das Thema nicht gelöst. Zeit sich nach Alternativen umzusehen.

Wallabag ist die Free and Open Source Alternative zu Pocket. Es gibt Clients für Windows, Mac OS, Android, iOS und Windows Phone.

In diesem Artikel zeige ich exemplarisch die Installation von wallabag auf einem Root Server (Verwalten der Liste) im Firefox Browser (Hinzufügen von Artikeln) und auf einem Android Telefon (Hinzufügen von Artikeln).

Installation auf dem Server

Wallabag benötigt im einfachsten Fall nur PHP und keinen Datenbankserver. Falls Sie ein Datenbank Server wie MySQL e nutzen wollen, müssen eine entsprechenden Datenbank, sowie ein Benutzerkonto anlegen.

Ich beschreibe die Variante ohne Datenbank Server.

Sie können optional einen virtuellen Host anlegen, ich installiere wallabag in einem Verzeichnis auf serverblogger.ch

Download und entpacken

wget http://wllbg.org/latest
unzip latest

Es entsteht ein Unterverzeichnis mit dem Namen wallabag-1.9. Dieses Unterverzeichnis benenne ich in wallabag um, verschiebe es in mein Dokumentenverzeichnis und mache den Benutzernamen des Apache Webservers (www-data) zum Eigentümer.

mv wallabag-1.9 wallabag
sudo mv wallabag /var/www/serverblogger.ch/public_html/
sudo chown -R www-data:www-data /var/www/serverblogger.ch/public_html/wallabag/

Installer

Rufen Sie nun im Browser die entsprechende URL auf, in meinem Fall https://serverblogger.ch/wallabag.

In meinem Fall würde es für eine Installation ausreichen, aber ein Hinweis erscheint, dass ich doch besser Composer installieren sollte.

Installation - Server Compatibility Test
Installation – Server Compatibility Test

Die Lösung ist ebenfalls vorgegeben, also zurück auf die Konsole. Die Installation muss mit dem root User erfolgen.

cd /var/www/serverblogger.ch/public_html/wallabag/
curl -s http://getcomposer.org/installer | php
php composer.phar install

Nach einem reload der Seite fehlt nun noch die Erweiterung für eine PostgreSQL Datenbank. Da ich die aber nicht nutzen will, spielt das keine Rolle. Ich lege einen Benutzernamen und Passwort fest und klicke auf den Button install wallabag.

Installation - Benutzer anlegen
Installation – Benutzer anlegen
Erfolgreiche Installation
Erfolgreiche Installation

Nach dem erfolgreichen Login sehe ich die Oberfläche mit drei Beispielartikeln.

Wallabag Web
Wallabag Web

Im config Bereich finden Sie Hinweise und Links zu den Themen

  • Speichern eines Artikels
  • Links zur mobilen Apps
  • Erzeugung von Feeds
  • Wechseln des Themes und der Sprache (Deutsch ist verfügbar)
  • Benutzer hinzufügen
  • Import und Export (beispielsweise als ePub, Mobi oder PDF ebook)
  • Upgrade-Informationen

Die Serverkomponente ist nun installiert und funktionsfähig

Mozilla Firefox Add-On

Auf der config Seite finden Sie den Link zum Firefox Add-On. Installieren Sie es und tragen Sie in den Preferences die Server URL ein.

Wallabag - Firefox Add On
Wallabag – Firefox Add On

Nun benötigen Sie noch einen Button zum Klicken, wenn Sie eine Website zum später lesen markieren wollen. Rufen Sie wieder den Konfigurationsbereich auf und ziehen Sie den bag it! Link in die Lesezeichenzeile des Browsers.

bag it! Link erstellen
bag it! Link erstellen

Wenn Sie nun Webseiten finden, die Sie später lesen wollen, klicken Sie einfach in der Lesezeichen auf den bag it! Link. Wallabag sammelt die Seiten und stellt Sie im unread Bereich dar. Damit das funktioniert, müssen Sie auf Ihrer wallabag Installation auf dem Server eingeloggt sein.

Wallabag - unread
Wallabag – unread

Android Telefon

Um auf Ihrem Telefon Zugriff auf den unread Bereich zu bekommen, könnten Sie einfach die Webanwendung auf dem Server aufrufen oder die wallabag App herunterladen. Die Links zu F-Droid und Google Play Store finden Sie auch im config Bereich der Administration oder mittels Suche in den Stores. Damit die App Verbindung zum Server aufnehmen kann, müssen Sie im Konfigurationsbereich die Feeds aktivieren. Nach der Aktivierung wird ein Token und die User-ID angezeigt.

wallabag Feed mit User-ID und Token
wallabag Feed mit User-ID und Token

Rufen Sie die Einstellungen der App auf und tragen Sie die entsprechenden Werte ein. Klicken Sie anschliessend auf Synchronize. Die zwei nicht gelesenen Artikel werden nun in einer Liste und einer Einzelansicht angezeigt.

Wallabag - Android - unread Liste
Wallabag – Android – unread Liste
Wallabag - Android - einzelner Artikel
Wallabag – Android – einzelner Artikel

Um auf dem Telefon Webseiten speichern zu können, müssen Sie sich ebenfalls in der Serverkomponente einloggen. Danach können Sie aus allen Android Anwendungen Artikel an bag it! schicken.

Link

http://wallabag.org

Fazit

Mit dieser Kombination haben Sie eine mehrbenutzerfähige „Lies mich später“ Umgebung und damit Ihren eigenen Service aufgebaut, der in meinem Fall sogar noch TLS/SSL abgesichert ist!


tl;dr: wallabag ist eine vollwertige Free and Open Source Alternative zu Pocket und Instapaper

Kategorien
Backup Content Management Systeme

Backups und Updates in Joomla

Neulich war es wieder soweit. Ein Update für Joomla erschien. Es war ein Sicherheitsupdate für die Version 3.4.x. Laut Ankünding des Projekts hatten 460 Freiwillige mehr als 260 Fehler im Programm beseitigt, einige davon sicherheitsrelevant. Das ist lobenswert und gut und jeder der eine Joomla Site betreibt, sollte dieses Update so schnell wie möglich einspielen.

Ein paar Tage später erschien wieder eine Version (3.4.3). Der Grund dafür war sehr einfach. Das Joomla Team hatte in bester Absicht eine Programmierklasse umbenannt. Diese Änderung führte in seltenen Fällen und in bestimmten Konfigurationen zu Problemen, die im schlimmsten Fall zum völligen Ausfall der Site führten.

Auch wenn das für die Betroffenen im Einzelfall unter Umständen hart ist, sollte jedem Website Betreiber klar sein, dass so etwas mal passieren kann. Joomla ist da kein Einzelfall. Vermutlich hatte jedes grössere Projekt schon mal so einen Fall.

Sie könnten sich gegen diese Art von Fehlern vielleicht schützen, wenn Sie ein beispielsweise ein gespiegeltes Testsystem betreiben, auf dem Sie das Update ausprobieren können oder einfach ein paar Tage abwarten.
Das führt allerdings dazu, dass Ihre produktive Joomla Site weiterhin unsicher UND online bleibt und somit anfällig für Hacks ist.

Beim CMS Drupal gab es in diesem Zusammenhang den Fall #drupalgeddon, bei dem die Zeit zwischen der Ankündigung und dem Einspielen des Updates eine entscheidende Rolle spielte, bei TYPO3 gab es Infektionen hunderter von Seiten ohne dass die Ursache wirklich bekannt war. Es gäbe viele weitere Beispiele.
Am Ende steht die Erkenntis: Spielen Sie ein Update ein, nachdem Sie davon erfahren haben!

Jedes CMS weist Sie vor dem Updatevorgang daraufhin, doch bitte ein Update von Datenbank und Dateien vorzunehmen. Im Artikel Ein Backup mit Duply hatte ich das Thema schon mal als allgemeingültige Lösung angesprochen, stelle aber fest, dass viele CMS Betreiber das Thema Backup & Restore recht stiefmütterlich behandeln.

Backups und Updates in Joomla

Daher heute ein Artikel zum Thema Joomla mit den Antworten auf die Fragen

  1. Woher weiss ich, dass es ein Sicherheits-Update gibt?
  2. Wie mache ich ein Backup?
  3. Wie spiele ich das Update ein?
  4. Und für den Krisenfall: Wie stelle ich die alte Version wieder her

1. Woher weiss ich, dass es ein Joomla Sicherheits-Update gibt?

Wenn Sie regelmässig im Administrationsbereich Ihrer Joomla Site arbeiten, kennen Sie sicherlich diese Meldung. Sie erscheint, wenn es ein Update gibt in roter Schrift.

Joomla - Hinweis auf Updates im Administrationsbereich
Joomla – Hinweis auf Updates im Administrationsbereich
Im linken Bereich sehen Sie Hinweise zu Joomla Core Updates, im rechten Bereich Erweiterungsaktualisierungen.

Wenn Sie nicht regelmässig im Administrationsbereich sind, können Sie die Website joomla.org/announcements.html als Feed abonnieren (Beispielsweise im Selfoss Reader) oder dem Twitter Nutzer @joomla folgen.

Sie können in der Web-Oberfläche von Twitter einen Schalter setzen, dass Sie eine Nachricht auf Ihr Smartphone bekommen, wenn der Joomla Twitter etwas tweetet (In der Twitter App gibt es auch so einen Schalter).

Joomla Twitter
Joomla Twitter

2. Wie mache ich ein Backup?

Sie wissen, dass es ein Update gibt und müssen ein Backup machen.
Auch hier gibt es grundsätzlich drei Möglichkeiten:

  • Sie vertrauen auf das Backup Ihres Hosting Providers (NOVATREND)
  • Sie kümmern sich auf Ihrem Server selbst darum (beispielsweise Duply)
  • Sie haben eine individuelle Lösung pro Website

Ich betrachte hier heute den letzten Punkt und empfehle Ihnen die Erweiterung Akeeba Backup.
Installieren Sie die freie Erweiterung Akeeba Backup Core in Ihrem Joomla. Ich lasse die Umgebungssprache auf English, da ich nur die Basisfunktionen zeigen möchte.

Akeeba Backup - Installation
Akeeba Backup – Installation
Nach der Installation müssen Sie den Configuration Wizard ausführen.
Akeeba Backup - Konfiguration
Akeeba Backup – Konfiguration
Danach können Sie Updates erstellen indem Sie einfach den Button Backup Now klicken.
Akeeba Backup - Backup Now
Akeeba Backup – Backup Now
Sie werden nach einem Namen für das Backup gefragt und können einen optionalen Kommentar hinzufügen. Klicken Sie erneut den Button Backup Now.
Akeeba Backup - Update Beschreibung
Akeeba Backup – Update Beschreibung
Unter Manage Backups können Sie Ihre Backups verwalten.
Akeeba Backup - Manage Backups
Akeeba Backup – Manage Backups
Das ist die absolute Konfigurationsbasis, die notwendig für ein Backup ist.
Die Erweiterung kann natürlich noch viel mehr, lesen Sie dazu den Akeeba Backup Quickstart Guide.

3. Wie spiele ich die Joomla Updates ein?

Das Joomla Update führen Sie aus, indem Sie im Administrationsbereich den Button Jetzt aktualisieren in der System Nachricht klicken.

Joomla - Hinweis auf Updates im Administrationsbereich
Joomla – Hinweis auf Updates im Administrationsbereich
Sie landen auf einer Aktualisierungsseite, die darauf hinweist:

Vor der Joomla!-Aktualisierung ist zu prüfen, ob auch die zusätzlich installierten Erweiterungen mit der neuen Joomla!-Version kompatibel sind.

Nehmen Sie diesen Hinweis ernst und schauen auf den Projektseiten der installierten Komponenten nach, ob Sie Informationen zur Kompatibilität und zum Update Prozess finden.
In meinem Fall ist es leicht. Ich habe keine Zusatzkomponenten installiert und klicke auf den Button Aktualisierung installieren.

Joomla Aktualisierung
Joomla Aktualisierung
Joomla aktualisiert sich automatisch und das Update ist eingespielt.
Besuchen Sie Ihre Website und testen ob alles wie gewohnt funktioniert.
Wenn ja, herzlichen Glückwunsch.

4. Wie stelle ich die alte Version im Krisenfall wieder her?

Wenn Sie nur noch einen weissen Bildschirm statt Ihrer Website sehen oder Probleme bei bestimmten Erweiterungen haben, können Sie Ihr Backup wieder einspielen. Es gibt unterschiedliche Methoden dazu.

Ich möchte hier keine weitere Restore Anleitung beschreiben, da solche Anleitungen schnell veralten.
akeebabackup betreibt einen YouTube Channel und dort finden Sie die wirklich gute Restore Anleitung, die Sie auf einem Root-Server hervorragend nutzen können, vorgeführt von Brian Teeman.

Es gibt auch einen kompletten Videokurs zu diesem Thema.

Der Restore Prozess ist zugegebenermassen nicht besonders benutzerfreundlich, aber das gesamte Thema ist natürlich auch sehr komplex.
Sie sind allerdings in der Lage, auch ohne Joomla Spezial- oder sonstige Programmierkenntnisse, eine komplette Joomla Site aus einem Backup wiederherzustellen.

Fazit

Ja, es macht Arbeit; Ja, es geht nicht automatisch.
Aber: Wenn Sie ein echtes Problem mit einer Joomla Website haben, so werden Sie das Programm akeebabackup schätzen!

Und es gibt noch ein kleines Goodie:
Wenn Sie den Wiederherstellungsprozess einmal verstanden haben, können Sie ihn auch sehr gut zum Transfer von Joomla Sites auf andere Server nutzen und damit viel Zeit sparen ;).


tl;dr: Spielen Sie Updates ein und denken Sie VORHER an Backups.

Kategorien
seafolly.ch

Ein Automat für #Kunstprojekt

Vor ein paar Wochen habe ich hier im Blog unser seafolly.ch Projekt angekündigt und wurde dann tatsächlich von mehreren Leuten darauf angesprochen. Bevor wir uns auf die Technik von seafolly.ch stürzen, einen Server aufsetzen und den Kunstmarkt revolutionieren, will ich die Zeit nutzen und mit den bereits existierenden Services experimentieren.

#kunstprojekt

seafolly.ch hat hat ausser dem Domainnamen bereits Benutzerkonten bei Twitter, Instagram, Pinterest und Facebook. Eine Idee, die ziemlich schnell entstand, war, diese Benutzerkonten automatisiert mit Informationen zu Kunstprojekten zu versehen. Wenn man sich für Kunstprojekte interessiert, dann sucht man vermutlich zunächst bei Google nach dem Begriff „Kunstprojekt“, dann bei Twitter, Instagram und Pinterest nach dem hashtag „#Kunstprojekt“ und vielleicht noch bei Facebook.

Eine grosse Herausforderung dabei ist die Sprache. Also suche ich nach dem deutschen Begriff „Kunstprojekt“ oder auf English nach „art project“ oder gar französisch nach „projét d’art“. In der Schweiz ist italienisch „progetto artistico“ wichtig und sehr schnell kommt man vom Hundertsten zum Tausendsten. Wenn wir etwas automatisieren wollen, muss es für alle Sprachen funktionieren.

Wie das oft so ist, habe ich beim Suchen auch nach „Kunscht“ gesucht und tatsächlich das Schweizer Projekt „Kunscht us dr Umgäbig“ gefunden. Von hier aus viel Erfolg, die Idee ist gut!

Da das Serverblogger-Blog auf Deutsch erscheint, habe ich beschlossen, zunächst den deutschen Begriff „Kunstprojekt“ zu verwenden.

Automaten

Um einen Prozess zu automatisieren, benötigt man einen Automaten. Der „beobachtet“ 24 Stunden pro Tag und 7 Tage die Woche und reagiert bei Bedarf. Bei einem Server handelt es sich um so einen Automaten. Der Apache Webserver macht nicht anderes als 24/7 zu lauschen, ob jemand eine Webseite ausgeliefert haben möchte. Er reagiert aud das Protokoll HTTP und wenn jemand etwas von ihm haben will, muss er das Protokoll einhalten.

Wenn Sie in Ihrem Browser http://seafolly.ch eingeben, schickt der Browser diese Befehle an die IP-Adresse und somit an den Server, der mit dem Domainnamen verbunden ist. Das sieht das so aus:

POST / HTTP/1.1
Host: seafolly.ch
Accept: */*
Content-Type: text/html
Content-Length: 0

Momentan erscheint folgende Antwort in HTTP

HTTP/1.1 200 OK
Date: Wed, 01 Jul 2015 10:53:06 GMT
Server: Apache/2.2.22 (Debian)
Last-Modified: Mon, 06 May 2013 06:51:57 GMT
ETag: "3c0014-b1-4dc0723011d40"
Accept-Ranges: bytes
Content-Length: 177
Vary: Accept-Encoding
Content-Type: text/html
X-Pad: avoid browser bug

Und als HTML dann das hier

<html><body><h1>It works!</h1>
<p>This is the default web page for this server.</p>
<p>The web server software is running but no content has been added, yet.</p>
</body></html>

Die Domain ist momentan mit einer Art Testserver verbunden, die genau diese eine Seite ausliefert.

Warum erzähle ich das?

Dienste wie Webserver gibt es schon sehr lange und das einfache Prinzip dahinter ist immer: Wenn dich jemand fragt (Client), dann antworte (Server). In unserem Fall muss ein Besucher expliziert eine Seite anfordern, die dann ohne Murren vom Webserver ausgeliefert wird.

Wenn ich für seafolly nun automatisiert auf Ereignisse wie die Erwähnung des Hasttags #kunstprojekt reagieren will, dann muss der Server in die Rolle des Clients schlüpfen und regelmässig bei allen relevanten Diensten nachfragen, ob etwas passiert ist. Wenn etwas passiert ist, dann tut er etwas, wenn nicht, dann eben nicht (if this, then that). Das Prinzip hört sich sehr einfach an, ist in der Realität aber gar nicht so einfach umsetzbar.

IFTTT

Da seafolly.ch noch keinen Root Server hat, schlage ich vor, wir machen ein paar Trockenübungen.

Der kostenlose Dienst IFTTT (http://ifttt.com) bietet genau das an, was wir benötigen. Wenn etwas passiert wird etwas ausgeführt. Alle 15 Minuten schaut IFTTT nach, ob etwas passiert ist.

Zum Hashtag #kunstprojekt gibt es tatsächlich mehr als 4000 Fotos auf Instagram.

#kunstprojekt

Unser erstes Ziel ist also:

Immer wenn jemand auf Instagram ein Foto postet, das den Hashtag #kunstprojekt enthält, dann soll ein Tweet mit Link zu diesem Foto gepostet werden.

Ich lege ein Benutzerkosto seafollych auf ifttt.com an und verbinde das Twitter und Instagram Konto mit dem Service.

Verbindung zu Twitter
Verbindung zu Twitter
Dann erstelle ich ein entsprechendes „Rezept“. Die Bedienung ist weitgehend selbsterklärend.
IFTTT Rezept
IFTTT Rezept
Als Text für den Tweet wähle ich

Ein #kunstprojekt {{Caption}} von {{Username}} {{Url}}

und nun schaut IFTTT etwa alle 15 Minuten nach, ob dieses Ereignis eingetreten ist.
Pro Hashtag müsste ein Rezept erstellt werden. Das Sprachenproblem wäre damit schon mal gelöst.

Bei der Twittersuche lässt sich auch so ein Rezept erstellen:

IFTTT Rezept
IFTTT Rezept
Die Ereignisse und Aktionen dieser Rezepte sind vordefiniert. Es gibt vermutlich Millionen von Kombinationen und es ist interessant die Möglichkeiten zu entdecken. Im Twitter Rezept ist es beispielsweise so, das man nicht so einfach einen Tweet mit einem Hashtag retweeten kann. Man kann nur die Variablen für Benutzername und Text neu tweeten. Bei mir sieht das so aus:

. {{UserName}}: {{Text}}

Als Test poste ich mal ein auf meinem Account ein Instagram Bild und es funktioniert tatsächlich :). IFTTT bemerkt das Foto und tweeted!

Allerdings muss ich noch etwas am Text ändern, sonst erscheint der Hashtag doppelt.
Prompt wurde auch das zweite Rezept ausgeführt, denn es gab ja nun einen Tweet mit dem Hashtag.

Auch hier muss der Text noch verbessert werden, denn der Benutzername erscheint ohne das führende @ Zeichen. Der Benutzer erhält dadurch keinen Hinweis, dass ich sein Posting erwähne.
Ausserdem sollte unser Tweet natürlich nicht geretweeted werden, weil wir sonst eine Endlosschleife erzeugen.

Ich ändere also den Instagram Rezepttext und nehme den statischen Hashtag wieder raus.

{{Caption}} von {{Username}} {{Url}}

Dem Twitter Rezepttext füge ich ein @ hinzu

. @{{UserName}}: {{Text}}

und dem Twitter Suchstring füge ich ein -seafollych hinzu, damit nur Tweets angesprochen werden, die nicht vom Benutzer seafollych stammen.

#kunstprojekt -seafollych

und mache einen weiteren Versuch.

Nun ist alles wie gewünscht. Das Instagram Foto wird getweetet, unser Tweet jedoch nicht

Falls Sie einen Instagram oder Twitter Account haben, nutzen Sie doch mal den Hashtag #kunstprojekt.
Sie landen dann auf der #kunstprojekt Liste 🙂

IFTTT Rezept
IFTTT Rezept
Mittlerweile erscheinen täglich ein paar #kunstprojekt Tweets auf @seafollych. Hier die Live Übersicht:

Links

http://ifttt.com

http://twitter.com/seafollych

Zusammenfassung

An den heutigen „Fingerübungen“ sehen Sie, dass es einfach möglich ist, automatisiert Ereignisse zu bemerken und darauf zu reagieren. Die Sache hat allerdings einen grossen Haken. Momentan sind wir abhängig von einem Service auf den wir keinen Einfluss haben und können die Ereignisse nicht selbst definieren.
Aber dazu später mehr, wenn wir unseren eigenen seafolly Server haben 🙂


tl;dr: Unser Kunstprojekt seafolly.ch macht erste Schritte mit Ereignissen und Aktionen in sozialen Medien.