Schneller und ab jetzt einfach(er) zu updaten: ePartool 4.5.3

Das ePartool ist in Version 4.5.3 erschienen. Wir haben uns um die notwendigen Geschwindigkeitsverbesserungen der Reaktionen-Zeitleiste gekümmert. Hier kann man nun beliebig vor- und zurückklicken, ohne sich auf Ladeverzögerungen einstellen zu müssen.

Update | https://pixabay.com/de/service/license/Künftig Updatemöglichkeiten zurück bis Version 4.5.0

Endlich können wir aber allen Einsetzenden des ePartool eine geordnete, relativ untechnische Updatemöglichkeit anbieten. Damit behaltet ihr künftig einfacher die Möglichkeit, das ePartool immer zum neuesten Stand einzusetzen.

Hierfür existiert ab sofort neben dem Installer-Paket auch ein Upgradepaket. Dieses muss lediglich heruntergeladen, entpackt und über die bestehende Installation geschrieben werden. Allerdings ist es empfehlenswert, vorher bestimmte Dateien als Backup zu sichern. Hier die empfohlene Schritt-für-Schritt-Vorgehensweise:

  1. Erstellt ein Backup von application/configs/*.local.ini
  2. Erstellet ein Backup von www/media
  3. Die Dateien des Updatepakets über die bestehende Installation schreiben.
  4. Sicherheitshalber die gesicherten Config- und Mediadateien überprüfen und sie ggf. zurückkopieren (das sollte aber eigentlich nicht notwendig sein).

Seit Version 4.5.0 hat sich die Datenbankstruktur des ePartool nicht verändert, daher ist keine weitere Ausführung eines Update-Skriptes o.ä. notwendig.

Gerne hätten wir eine voll-automatisierte Updatefunktion angeboten, ähnlich wie sie z.B. bei WordPress eingebaut ist. Hierfür wären allerdings noch weitere Aspekte einer durchgängig sicheren und entsprechend vorbereiteten Infrastruktur notwendig, so dass wir diesen Schritt (noch) nicht gehen können. Aber wir werden an weiteren Verbesserungen arbeiten.

Installations- und Updatepakete sind über die Seite Download / Installation erhältlich.

ePartool 4.5.2 – Feinschliff für die Reaktionen-Zeitleiste

Die Sommerwochen nutzen wir dafür, verschiedenen neuen und schon länger bestehenden Funktionen des ePartool noch Feinschliff zu verpasen. Heute konnten wir Version 4.5.2 freigeben. Das Installationspaket ist wie üblich über die Seite Download / Installation erhältlich.

Feinschliff zu Reaktionen & Wirkung

Die vor Kurzem neu gestaltete »Zeitleiste« zum Nachvollziehen von Reaktionen auf einen Beitrag bekam noch ein paar Nachbesserungen. Eine Herausforderung für die grafische Oberfläche ist dabei, dass man in der neuen Zeitleiste ist nicht nur chronologisch vom ursprünglichen Beitrag zu immer neueren Reaktionen und Wirkungsschritten springen kann, sondern auch die Rückwärtsnavigation möglich ist – man also von einer politischen Reaktion o.ä. rückwärts gehen kann, um zu sehen zu welchen ursprünglichen Anliegen dort Feedback gegeben wurde. Nun kann es dadurch passieren, dass die zurückverfolgten Vorschläge und Ideen bei unterschiedlichen Fragestellungen eingetragen wurden: Das bisherige Konzept, dass am Anfang genau eine Frage angezeigt wird, funktionierte damit nicht mehr. Die ursprünglichen Fragen gar nicht mehr anzuzeigen (wie es in Version 4.5.0/-.1 der Fall war, erwies sich bei Tests mit Nutzer*innen als verwirrend. Gelöst haben wir das Problem nun dadurch, dass bei jedem Beitrag, der direkt einer Frage zugeordnet ist, nun auch die Kurzfassung der Frage angezeigt wird. Auch bei redaktionellen Beiträgen, die z.B. nur für ein Voting erstellt wurden, ist das nun so.

Entwürfe für die Zeitleiste

Zwei Varianten der Fragedarstellung hatten wir diskutiert: als eigene Box oder direkt »auf« einem Beitrag. Wir entschieden uns aufgrund des beschränkten Platzes bei der Bildschirmdarstellung für Variante B. [Grafik: Visionapps]

Weiterhin hat die neben der bisherigen Vorwärtsnavigation neu eingeführte Rückwärtsnavigation zur Folge, dass neben den Folgepfeilchen auch die „eingehenden“ Pfeilchen zu jedem Schritt anzuzeigen sind. Das machte die Anzeige schnell unübersichtlich. Wir haben daher mit diesem Update die eingehenden Pfeilchen ein wenig versteckt, indem diese künftig virtuell „hinter“ die Box zeigen.

Zeitleiste in Aktion

Die Zeitleiste in Aktion: Mit der Maus über einen eingehenden Pfeil navigiert, erfährt man auf wie viele Beiträge sich diese Box bezieht. Mit einem Klick auf das Pfeilchen öffnen sich diese Boxen.

Aus ästhetischen Gründen werden die Pfeilchen wieder mittig und nicht, wie seit 4.5.0, oben an der Box, angezeigt.

Außerdem konnte ein Fehler behoben werden, der nur bei Benutzung des Firefox aufgetreten war: Der Download von Reaktionsdokumenten hatte bisweilen nicht zuverlässig geklappt.

Bekanntes Problem der Zeitleiste: Immer schöner, aber derzeit etwas schwerfällig

Ein bekanntes Problem derzeit ist, dass die Reaktionen-Zeitleiste zu einem Beitrag etwas schwerfällig reagiert. Wir werden die Anzeigegeschwindigkeit in den nächsten Wochen mit dem nächsten Update deutlich erhöhen. Noch im August soll diese Version erscheinen. [Update 7. August: Mit dem heute erschienen Version 4.5.3 treten bei der Zeitleiste erfreulicherweise keine Verzögerungen mehr auf]

Kleines Fehlerbehebungsupdate: ePartool 4.5.1

Heute veröffentlichen wir ein kleines Fehlerbehebungsupdate für das ePartool: Mit der Version 4.5.1 wurden mehrere kleine Korrekturen im Bereich „Reaktionen & Wirkungen“ vorgenommen. Das betrifft insbesondere die Textboxen in der Zeitleiste, bei denen die Anzeige des Abstimmungsrang und der Dokumentvorschau korrigiert wurde.

Weiterhin erschienen Systemmeldungen im Backend in der letzten Version nicht immer in der eingestellten Sprache. Ebenso wurde noch ein Abbruchfehler beim Installer behoben.

An der Verbesserung des Follow-up-Bereichs arbeiten wir derzeit auch weiterhin: Nach ersten Nutzerrückmeldungen bei Tests soll die Verfolgung von Originalbeitrag bis hin zu Rückmeldungen aus der Entscheider_innen noch etwas intuitiver werden. Hier gibt es bald weitere Neuigkeiten.

Derzeit bekanntes Problem ist, dass der Button »Herunterladen« eines Reaktionsdokuments von der Zeitleiste aus unter dem Firefox-Browser nicht funktioniert. [Update 1. August: Mit der ePartool-Version 4.5.2 ist dieses Problem behoben.] Umschiffen kann man das Problem durch Aufrufen der Reaktionsdokumente direkt von der Startseite des Bereichs »Reaktionen & Wirkung«.

Wie immer findet sich der aktuelle Installer auf unserer Downloadseite zum ePartool.

Fremde Inhalte einbinden und trotzdem „sicher“ bleiben?

Das Besondere am World Wide Web ist, dass alle Inhalte miteinander vernetzt sein können. Mit nur einem Klick gelangt man zu weiterführenden Informationen oder neuen Inhalten. Zugleich wurde auch das traditionelle Konzept von „Seiten“ durch das WWW dank seiner Vernetzungs- und Interaktionsmöglichkeiten deutlich erweitert. Neben Fließtext und Bildern kann eine Seite aus weiteren Elementen bestehen, die aus ganz unterschiedlichen Quellen interaktiv eingebunden sind: Youtube-Videos, aktuelle Podcasts, Instagram-Fotos, Tweets (Twitter) oder Präsentationen mit Prezi sind nur ein paar der bekannteren Beispiele.

Diese Einbinde-Möglichkeit hat aber auch ihre Kehrseite, da man selbst als Seitenbetreiber_in kaum mehr überblicken kann, was am Ende auf einer Seite zu sehen sein wird. Thematisch unpassende, aufdringliche Werbeanzeigen nerven; Tracking-Cookies von Werbetreibenden oder von Social Media Funktionen durchleuchten die Besucher_innen meist ohne Vorwarnung und ohne Opt-out-Möglichkeit.

Über solche unerwünschte Aspekte hinaus bedeutet die vernetzte Herangehensweise des World Wide Web auch, dass sogar gefährliche Inhalte in eigentlich harmlose Seiten hineingeraten können.

Typische Einfallstore

Die Einfallstore sind zum Einen die eigentlich willentlich eingebundenen externen Quellen und zum Anderen (unbewusst) bestehende Sicherheitslücken: Wenn die eigene Website durch ein Content Management System befüllt wird, finden sich trotz aller Sorgfalt immer wieder Schwachstellen in der Programmierung dieses Redaktionssystems. Gerade interaktive Funktionalitäten sind besonders gefährdet. Typische Beispiele sind hierfür

  • Formulare (Anmeldemasken, Registrierungsformulare, Fragebögen, Suchfelder), die die eingegebenen Daten nicht auf den eigentlich beabsichtigten Inhalt prüfen oder beschränken, sondern z.B. statt der Eingabe einer eMail-Adresse dann möglicherweise die Übertragung von Programmiercode erlauben;
  • Funktionen zum Hochladen von Dateien (im Kern ebenfalls Formulare), die es versäumen zu überprüfen, ob z.B. wirklich nur eine Grafik oder doch stattdessen Programmcode übertragen wurde;
  • Suchfilter oder andere Parameter, die von einer Seite an die nächste übergeben wurden und bei denen aufgrund mangelnder Überprüfung Code-Einschleusung nicht verhindert wurde.

Eine so präparierte Website kann dadurch ganz andere Inhalte anzeigen als ursprünglich beabsichtigt. Wenn Nutzer_innen dann per eMail oder über Social-Media eine Einladung erhalten die Seiten zu besuchen, können sie nur sehr schwer erkennen, dass die Inhalte manipuliert wurden. Die Web-Adresse sieht ja weiterhin vertrauenswürdig aus und selbst die möglicherweise vorhandene https-Verschlüsselung funktioniert wie eh und je.

Die Lösung naht: Fremde Quellen explizit durch CSP freigeben

Um diesem Dilemma etwas entgegenzusetzen, wurde das Konzept der »Content Security Policy« (CSP) ersonnen. Im Kern funktioniert es so, dass die Betreiber einer Website im Rahmen einer Liste (Whitelist) einzeln aufführt, von welchen fremden Quellen Inhalte überhaupt auf der Website erscheinen dürfen. Die Liste ist dabei in einzelne Sektionen unterteilt. So kann beispielsweise festgelegt werden, dass für Audio und Video bestimmte Quellen zugelassen sind, Schriftarten oder eingebundene Fragebogen aber wiederum nur von anderen Quellen. Dadurch soll verhindert werden, dass eingebunde Quellen Inhalte mit ausliefern, die man als Betreiber_in einer Website nicht vorher eingeplant hat.
Dieses „Whitelisting“ hat allerdings eine Kehrseite: Nicht explizit freigegebene Quellen werden auch ohne weitere Erklärung unterdrückt. Wenn man beim Befüllen der Inhalte die Liste der Freigaben nicht im Kopf hat, wird man bei nicht-angezeigten Inhalten kaum die Ursache des Problems erkennen. Eine Einführung von CSP-Mechanismen sollte daher immer in enger Abstimmung zwischen den technisch und den redaktionell verantwortlichen Teams erfolgen.

Umsetzung von Content Security Policy im ePartool

Das ePartool unterstützt seit dem Frühjahr 2017, ab den Versionen 4.3.x, das Konzept der Content-Security-Policy.

Seither haben wir die Konfiguration noch etwas vereinheitlicht und verbessert. Die Quellen können in der Datei config.ini des ePartool eingetragen werden. Aus Sicherheitserwägungen heraus kann die Liste leider nicht bequem über die Redaktionsoberfläche verändert werden (da sie sonst angreifbar wäre und der Sicherheitsaspekt konterkariert würde). Wir liefern das ePartool bereits mit häufig benutzen Quellen aus, allerdings lohnt es sich auf jeden Fall, die Liste selbst noch zu überprüfen.

Der Aufbau und eine Übersicht der vorhandenen Einstellungsmöglichkeiten finden sich in der config.ini-Beispieldatei, die im selben Ordner zu finden ist wie die config.ini selbst: tool/application/configs/config.local-example.ini

; CORS settings - contains list of allowed addresses from where can be loaded external resources
; allow address for specific type of resource
; for details see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy

; Serves as a fallback for the other fetch directives
; cors.default-src[] = "*.example.com"

; Specifies valid sources of application manifest files - <link rel=manifest>
; cors.manifest-src[] = "*.example.com"

; Specifies valid sources for loading media using the <audio> and <video> elements - <video> <audio> <source> <track>
; cors.media-src[] = "*.example.com"

; Specifies valid sources for the <object>, <embed>, and <applet> elements
; cors.object-src[] = "*.example.com"

; Restricts the URLs which can be used as the target of a form submissions from a given context
; cors.form-action[] = "*.example.com"

; Specifies valid sources of images and favicons
; cors.img-src[] = "data: *.example.com"

; Specifies valid sources for fonts loaded using @font-face
; cors.font-src[] = "*.example.com"

; Specifies valid sources for JavaScript
; cors.script-src[] = "*.example.com"

; Specifies valid sources for stylesheets - <link rel=stylesheet>
; cors.style-src[] = "*.example.com"

; Restricts the URLs which can be loaded using script interfaces - XmlHttpRequest() WebSocket() EventSource() sendBeacon() fetch()
; cors.connect-src[] = "example.com"

; Defines the valid sources for web workers and nested browsing contexts loaded using elements such as <frame> and <iframe>
; cors.child-src[] = "*.example.com"

 

Browserunterstützung: Fast alle sind dabei

CSP wurde bereits weiter entwickelt und ist derzeit in der zweiten Ausbaustufe technisch definiert. Während die Grundfunktionen mittlerweile in den meisten Browsern Einzug gefunden haben, wird der aktuelle Level 2 des Content Security Policy Konzepts vom Opera Mini und dem Internet Explorer 11 nicht unterstützt (aber vom Microsoft-Edge-Browser). Detaillierte Informationen hierzu finden sich bei »Can I Use …« unter https://caniuse.com/#search=csp

Tipp: Antragsgrün-Installation aktualisieren

Antragsgrün wird laufend weiterentwickelt. Fehlerbehebungen und neue Versionen erscheinen manchmal im Abstand von wenigen Tagen. Damit Installationen mit nicht allzu großem Aufwand auf dem aktuellen Stand gehalten werden können, gibt es einen Assistenten für das Installationspaket von Antragsgrün. Er kümmert sich um eventuell notwendige Datenbankanpassungen selbst:

  1. Die neueste Version von Antragsgrün herunterladen.
  2. Alle Dateien extrahieren und damit die bestehende Installation überschreiben. Die bisherige Konfiguration bleibt dabei unangetastet (zu finden in /config/config.json).
  3. Die Datei /config/INSTALLING entfernen
  4. Auf der Kommandozeile ./yii migrate ausführen, um die ggf. notwendigen Datenbankänderungen der neuen Version automatisch zu erledigen. Falls man lediglich ein Webhostingpaket benutzt, gibt es den Ausweg eine exakte Kopie auf dem lokalen Rechner zu aktualisieren und dann erst auf den Server hochzuladen.

Trotz dieses Assistenten sollte man nie vergessen, vorher ein Backup der Installation sicherzustellen: Nur dann kann man ohne Weiteres auf die alte Version zurückkehren, falls die Aktualisierung schiefgelaufen ist.

 

Von glücklichen Pandabären: ePartool 4.3.2

Panda (Unicode-Symbol U+1F43C)Mit dem internen Codenamen »Happy Panda« veröffentlichen wir heute die Version 4.3.2 des ePartool. Der ungewöhnliche Beiname rührt daher, dass das ePartool nun den erweiterten Unicode-Standard in allen Modulen unterstützt. Konkret bedeutet das, dass wir neben allen Schriftzeichen der Erde nun auch alle Emojis unterstützen, theoretischerweise auch alle zukünftigen. Das Panda-Symbol 🐼 war unser Testbeispiel.

Als neues Sicherheitsfeature unterstützt das ePartool nun auch »Content Security Policy (CSP)«. Das bedeutet, dass man als Seitenbetreiber_in künftig festlegen kann, von welchen externen Quellen Inhalte nachgeladen und angezeigt werden dürfen. Wir testen derzeit noch verschiedene Möglichkeiten zur (möglichst übersichtlichen) Konfiguration und werden das Feature demnächst in einem eigenen Blogbeitrag vorstellen. [Update 30. Juni 2017: Beitrag ist hier zu finden]

Das ePartool wird künftig zur Kompatibilität mit PHP 7.x und MySQL 5.6 getestet. Derzeit wird zwar PHP in der Version 5.6 noch weiter unterstützt, jedoch testen wir die Kompatibilität ab Juni 2017 nicht mehr.

Das ePartool kann wie immer über die Installationsseite heruntergeladen werden.

ePartool: Mindestvoraussetzungen aktualisiert (PHP 7, MySQL 5.6)

Im August 2015 haben wir zum letzten Mal die Mindestanforderungen für den Betrieb des ePartool aktualisiert. Seitdem hat sich das Internet und seine Technologien bedeutend weiter entwickelt. Auch wollen wir Sicherheitsaspekte für Nutzende und Betreiber_innen im Auge behalten.

Aus diesem Grund haben wir uns entschieden, die Unterstützung für (sehr) veraltete Server einzustellen. Konkret bedeutet das, dass wir künftig als Datenbank-Server MySQL 5.6 oder neuer voraussetzen. Diese Version steht seit Februar 2013 zur Verfügung. Außerdem wird unsere Entwicklung nur noch mit PHP ab Version 7.0 getestet, das im Dezember 2015 erschienen ist. Derzeit wird das ePartool voraussichtlich noch auf Webhostings mit PHP 5.6 laufen; das werden wir jedoch nicht mehr garantieren.

Bei Problemen mit der Umstellung sind wir gerne behilflich.

Probleme beim Aufrufen von Yourpart.eu?

Probleme beim Ansteuern von Etherpads auf yourpart.eu? Kein Problem: Lasst das „www.“ in der Adresse weg.
Was passiert ist: Beim Übergang zur verschlüsselten https-Verbindung ist uns das www. wohl in der Konfiguration durchgerutscht. In den kommenden Tagen wird das Problem behoben sein und ihr könnt mit und ohne www. – und stets automatisch verschlüsselt – wieder darauf zugreifen.
[Update 31.01.2017] Mittlerweile ist der Server auch mit „www.“ wieder erreichbar.

Spin-Offs: Synergien durch Ausgliedern einzelner Tool-Funktionen

OpenSource-Software mit einer entsprechend freien Lizenz bietet die Möglichkeit, auf bestehenden Entwicklungen aufzubauen und diese auch in anderen Projekten weiterzuverwenden. Im ePartool verwenden wir zahlreiche OpenSource-Entwicklungen aus der Community.

Im Rahmen unserer Tool-Entwicklung versuchen wir Möglichkeiten zu finden, dass auch bestimmte Module oder Einzelfunktionen unserer Tools in anderen Projekten verwendet werden können. Dazu müssen zwar Bestandteile möglicherweise extra ausgegliedert werden, aber der im Vergleich zur (Neu-)Entwicklung eher geringe Zusatzaufwand kann sich lohnen: Der Gedanke dahinter ist, dass die Ressourcen, die wir in die Entwicklung von Werkzeugen stecken, nicht ausschließlich in eigenen Tools „vergraben“ werden sollten. Einige der Funktionen können auch in anderen Projekten nützlich sein.

Unser Ziel ist dabei, dass das Zurverfügungstellen einzelner Bausteine für Andere dabei stets unter einer möglichst wenig beschränkenden OpenSource-Lizenz erfolgen und auf einer öffentlichen Plattform wie Github zu beziehen sein soll. Dieses Ausgliedern von Modulen führt im Idealfall dazu, dass diese von anderen Entwickler*innen aufgegriffen und für weitere Einsatzzwecke angepasst werden. Diese Veränderungen können wiederum auch in unsere Projekte zurückfließen.

Das größte daraus bisher entstandende Projekt ist „Bootstrap UI“: „a Bootstrap extension for building beautiful web app user interfaces.“. Dank dieses Projekts können komfortable Benutzeroberflächen schneller und schöner gestaltet werden. Das Projekt entstand in mehreren Jahren der ePartool-Entwicklung und wird mittlerweile von der Prager Agentur VisionApps ohne unser Zutun weiterentwickelt. Auf der dafür eingerichteten eigenen Website steht eine Demoversion zum Testen zur Verfügung (auf „Demo“ klicken, die E-Mail-/Passwortfelder ignorieren und einfach auf „Sign In“ gehen).

Screenshot der Bootstrap UI Demoversion

Screenshot: demo.bootstrap-ui.com (© VisionApps | MIT-Lizenz)

Ein kleineres Helferlein, das erst dieses Jahr entstand ist ein Video-ID-Extraktor, damit Websites ohne eigene Streaming-Infrastruktur komfortabel und einheitlich Videos aus anderen Quellen einbinden können: Nutzer*innen müssen nicht mehr darauf achten, wie das Video jeweils genau anzusteuern ist und kann im weiteren Verlauf daher das Umschalten zwischen Desktop- und Mobilversionen hilfreich sein.

Falls ihr in unseren Projekten weitere interessante Teil-Module entdeckt, die ihr gerne woanders nutzen wollt, wendet euch gerne an uns!

Serverumzug Barcamptools & Yourpart-Etherpad

Die beiden Internetangebote barcamptools.eu und yourpart.eu sollen in Zukunft wieder zuverlässiger zur Verfügung stehen. Daher findet in der Nacht vom 5. auf den 6. Dezember ein Serverumzug statt. In dieser Zeit sind die Angebote nicht erreichbar.

Die Nutzerinhalte werden auf die neuen Server mit übertragen und stehen voraussichtlich ab dem 6. Dezember nachmittags wieder zur Verfügung.

[Update 7. Dezember] Leider hakte der Serverumzug an einigen Stellen. Mittlerweile läuft aber wieder alles.