Yochat.eu – willkommen beim offenen Chatserver für die Jugendarbeit!

Wie auf diesem Blog schon gelegentlich berichtet, unterstützt der DBJR die Verbreitung von offenen Standards und möchte deren Nutzungsmöglichkeiten für die Jugendarbeit verbessern. Einer der Bereiche ist das Thema Chat & Messaging, also das Kommunizieren zwischen zwei oder mehreren Empfänger*innen. Hierfür gibt es den offenen Standard Jabber/XMPP, der nicht an einen Anbieter gebunden ist. Nutzer*innen haben freie Auswahl bei den hierfür genutzten Apps und dem Serverbetreiber (ähnlich wie bei E-Mail). Eine etwas ausführlichere Beschreibung zu XMPP haben wir hier zusammengestellt.

Ohne Infrastruktur geht es (leider) nicht

Grundsätzlich können alle XMPP-Nutzer*innen weltweit miteinander kommunizieren, egal über welchen Anbieter/Server sie den Dienst nutzen. Die Zahl der frei nutzbaren Anbieter ist allerdings noch rar gesät; und selbst einen Server aufzusetzen ist für kleinere Gruppen kaum möglich. Der DBJR hat vorgearbeitet: Seit mehreren Monaten betreiben wir einen solchen Server vor allem für den internen Gebrauch, um die E-Mail-Postfächer der Kolleg*innen zu entlasten und die Kommunikation zu vereinfachen.

Nun können wir diesen Dienst aber auch für alle Interessierten kostenfrei anbieten: Seit wenigen Tagen könnt ihr euch mit einem persönlich gewählten Spitznamen oder eurem echten Namen eine Chat-ID @yochat.eu anlegen. Die Registrierung geschieht dabei nicht über eine Web-Oberfläche, sondern kann von jedem XMPP-kompatiblen Chat-Client aus erfolgen.

Welche Chat-Apps kann ich dafür nutzen?

Folgende Chat-Clients können wir euch empfehlen:

Diese Liste ist bei Weitem nicht abschließend. Auch ChatSecure (iOS) oder Mozilla Thunderbird (Windows, macOS, Linux), MirandaNG (Windows), Pidgin (Windows, Linux) und viele Anwendungen mehr unterstützen den Jabber/XMPP-Standard. Die letzteren drei gibt es für Windows ebenfalls als PortableApp, d.h. sie können auch ohne Installation z.B. von einem USB-Stick aus genutzt werden.

XMPP unterstützt auch die Parallelnutzung einer ID von mehreren Geräten aus, also z.B. vom Smartphone und vom PC aus. Generell sind die Apps auf iOS-Geräten noch etwas weniger gut ausgebaut als auf anderen Betriebssystemen. Das liegt daran, dass Apple recht strikte Vorgaben macht, wie Anwendungen in den AppStore aufgenommen werden können. Der Veröffentlichungsprozess ist daher gerade für Open-Source-Projekte aufwändiger und etwas teurer.

Buchstabensalat – was ist da passiert?

Der reine Nachrichtenaustausch ist bei allen Clients transportverschlüsselt. Allerdings hat sich in den letzten Jahren gerade im Bereich der Ende-zu-Ende-Verschlüsselung viel getan (also auf den Endgeräten und im Speicher der übermittelnden Server); nicht alle Anwendungen unterstützen daher die Möglichkeiten wie OMEMO, OpenPGP oder OTR. Daher kann es manchmal zu Buchstabensalat kommen, wenn man seinen Client öfters wechselt und nicht den richtigen Modus aktiviert hat. Per Klick lässt sich das aber in der Regel beheben.

Für technisch Interessierte: Innenleben unseres Servers und Speicherlimits

Yochat.eu läuft auf ejabberd, einem der verbreitetsten Open-Source-Server für XMPP. Das Ganze ist installiert auf einem Debian-Linux-Server, der im Nürnberger Rechenzentrum des Providers Hetzner steht. Welche XMPP-Module wir unterstützen, lässt sich jederzeit einsehen über den Compliance-Tester von Conversations: https://compliance.conversations.im/server/yochat.eu/.

Pro Nutzer*in ist ein Zwischenspeicher für (alte und neue) Nachrichten von 200 MB vorgesehen. Nachrichten werden für 90 Tage gespeichert. Bei Erreichen der Speicherdauer oder -grenze werden die ältesten Nachrichten automatisch gelöscht. Dateiübertragungen sind derzeit auf 50 MB begrenzt. Derzeit sammeln wir noch Erfahrungen mit den Speicherkapazitäten und der -dauer, so dass sich diese noch verändern könnten.

Gut zu wissen – Feedback herzlich willkommen!†

Wir stellen den XMPP-Dienst im Rahmen unserer Möglichkeiten aus dem Projekt jugend.beteiligen.jetzt – für die Praxis digitaler Partizipation für euch kostenfrei zur Verfügung. Auch wenn wir natürlich unser Bestes geben, können wir keine vollständige Verfügbarkeit garantieren. Über Neuigkeiten werden wir euch hier im Blog informieren.

Das Angebot richtet sich in erster Linie an Jugendliche, junge Erwachsene und Multiplikator*innen in der Jugendarbeit, darf aber natürlich auch von euren Freunden, Familienmitgliedern und anderen Interessierten genutzt werden. Bei missbräuchlicher Nutzung (z.B. Spam, Belästigung Anderer) behalten wir uns vor Accounts zu deaktivieren.

Wenn ihr Fragen zu yochat.eu oder zu XMPP habt, meldet euch gerne bei uns oder chattet uns an: tim@yochat.eu oder tim.schrock@chat.dbjr.org (das ist keine E-Mail-Adresse!)

UPDATE 14.05.2019: Die Android-App Conversations behindert im Augenblick das erstmalige Hinzufügen von Einzelkontakten mit der Endung @chat.domain (also auch @chat.dbjr.org), weil es diese immer als Gruppe interpretiert. Der Entwickler ist bereits informiert. Die Abhilfe ist im Augenblick, dass die erste Kontaktaufnahme von Seiten der @chat.domain-Nutzer*in geschieht, dann ist es kein Problem.

Wechange-Tutorials für »Fridays for Future« und alle anderen

Screenshots der Erklärvideos
Felix Englisch | Wechange.de

Die genossenschaftliche entwickelte Plattform WECHANGE.de wendet sich insbesonderen an Aktive in Nachhaltigkeitsprojekten und andere gesellschaftlich engagierte Initiativen. Felix Englisch hat nun eine Tutorial-Sammlung zu WECHANGE.de speziell für »Fridays for Future« auf Youtube zusammengestellt. Die Erklärvideos führen durch alle Funktionen der Plattform und erklären auch ein paar Hintergründe. Definitiv nicht nur für F4F interessant!

Weitere Infos gibt’s hier:
wechange.de/group/forum/note/wechange-tutorials-fur-fridays-for-future-und/

Rückblick auf den XMPP-Sprint

Vergangenes Wochenende trafen sich 25 Entwickler*innen und Interessierte zu einem europäischen »XMPP-Sprint« in Berlin. Der DBJR fungierte als Gastgeber, weil wir offene Standards unterstützen und sie für die Jugendarbeit besser nutzbar machen möchten.

Was bitte ist XMPP?

XMPP-Logo

Bei XMPP handelt es sich um einen offenen Standard für Chat und Messaging, bei dem die Nutzer*innen unabhängig von geschlossenen und kommerziellen Systemen (z.B. WhatsApp) sind. Ähnlich wie bei Telefon, Post oder E-Mail spielt es bei XMPP keine Rolle, über welchen Anbieter man teilnimmt. Und man hat die freie Wahl der Werkzeuge, also über welche Apps/Programme man mit Anderen kommunizieren möchte.

XMPP besteht schon eine ganze Weile: Vor zwanzig Jahren als »Jabber« gestartet, ist XMPP dann 2004 als Internetstandard verabschiedet worden. In den ersten Jahren stellte Jabber/XMPP allerdings nicht viel mehr dar als eine weitere Möglichkeit von Rechner zu Rechner zu chatten – mobiles Internet und Smartphones gab es ja noch nicht. Zu Beginn unterstützten auch Google und Facebook den offenen XMPP-Standard, riegelten ihre Dienste dann jedoch immer mehr nach außen ab: Am Ende landeten wir da, wo wir heute sind: Google Hangouts, Apple Facetime, Microsoft Skype, Facebook Messenger, Snapchat – alles geschlossene Systeme, die sich untereinander nicht verstehen (wollen).
Besonders nach den Datenskandalen der großen Konzerne und der Geheimdienste wurde XMPP als einer freien Alternative neue Aufmerksamkeit zuteil.

Gerade für datenschutzsensitive Themen wie persönliche Beratung oder privatsphären-freundliches Ausschalten-Können einzelner Accounts (z.B. am Abend oder im Urlaub) eignet sich XMPP sehr gut. Zudem bleibt die persönliche Telefonnummer geheim und auch das eigene Adressbuch wird nicht von irgendeinem Anbieter ausgelesen.

Allerdings muss man sich auch ein wenig an neue Konzepte oder Abkürzungen gewöhnen: Auf die reine Übertragungsverschlüsselung können noch zusätzliche Sicherheitslevel wie OMEMO, OpenPGP oder OTR (Off-The-Record) draufgepackt werden, die sich aber nicht immer untereinander verstehen. Auch werden Chats mit mehreren Mitgliedern nicht unbedingt einheitlich benannt: Ist das jetzt ein Gruppenchat, ein Multi-User-Chat, ein Chatraum oder gar ein Channel?

Auch wenn die Möglichkeiten von XMPP am Anfang etwas erschlagend wirken können: Die Nutzung ist nach kurzer Zeit ganz einfach verständlich und unterscheidet sich im Alltag kaum von anderen Messenger-Diensten.

Auf zum Sprint! Vielfalt ist Stärke!

Jabber/XMPP wird von zahlreichen Programmen unterstützt, darunter so bekannte wie Mozilla Thunderbird oder der Pidgin-Multimessenger. Die Kehrseite eines offenen Standards ist, dass die Umsetzung des Standards recht unterschiedlich voranschreiten kann. Die Open-Source-Community rund um XMPP hat aber verstanden, dass man nur gemeinsam stark ist: Auf dem Sprint in Berlin kamen Programmierer*innen von einigen der bekanntesten Apps zusammen, wie z.B. Conversations, ConverseJS, Dino, Gajim, Salut à Toi und UWPX. Aber auch junge Projekte wie Kaidan oder solche mit besonderen Einsatzzwecken wie Poezio und Smack waren vor Ort. Und die Entwickler von Monal und des u.a. in Nextcloud eingebetteten JSXC brachten sich aus der Ferne ein.

Einige Teilnehmende des XMPP-Sprints in Berlin – der Rest war ins Coding vertieft oder wollte nicht mit aufs Foto. Der Anteil weiblicher Entwicklerinnen war leider niedrig, wenn auch nicht ganz so niedrig wie hier auf dem Bild.

Gemeinsam mit Interessierten diskutierten die Teilnehmenden über die Herangehensweisen an ihre Programme, über schöne und nützliche Bedienoberflächen und natürlich auch über die Weiterentwicklung des offenen Standards.

Neue Funktionen: Gruppenentscheidungen leicht(er) gemacht. Und: Vorsicht, Spoiler!

Vor Ort wurden daher auch neue Funktionen in die diversen Anwendungen integriert oder deren Umsetzung diskutiert. Spannend für Gruppenchats und spontane Meinungsbilder ist dabei z.B. ein Voting-Button, mit der man Fragen oder Vorschläge von Freund*innen in den Nachrichten unterstützen oder „downvoten“ kann. Moderne Chat-Apps könnten die Stimmen automatisch zählen und akkumuliert anzeigen, in älteren Apps würden Abstimmungen dann eher wie eine Liste von Emojis mit Daumen hoch/runter oder glücklichen/unglücklichen Smilies aussehen. Neu ist auch eine „Spoiler“-Funktion. Darunter verstehen die Programmierer*innen die Möglichkeit, dass man Bestandteile einer Nachricht am Anfang verbirgt und sie erst auf Klick angezeigt werden. Damit könnten einerseits Spoiler aus Film & Serien nur denjenigen gezeigt werden, die sie wirklich lesen wollen, andererseits eignet sich die Funktion auch für kleine Quizzes oder Fragen-und Antwortspiele (oder Prüfungsvorbereitung).

Wie es mit XMPP in der Jugendarbeit weitergeht

Dank zahlreicher Jabber/XMPP-Clients für die diversen Betriebssysteme hat man eine reichliche Auswahl an Optionen. Etwas schwieriger wird es, wenn man sich auf die Suche nach einem freien XMPP-Server macht, denn ähnlich wie bei einem Mailserver muss dieser von jemanden eingerichtet und betrieben werden. Hier hat der DBJR schon vorgearbeitet: Wir betreiben seit einigen Monaten einen vor allem intern genutzten XMPP-Chatserver. Wir prüfen gerade, wann und wie dieser für andere Nutzer*innen geöffnet werden kann. Voraussichtlich wird dies bereits in den kommenden Wochen der Fall sein.

Antragsgrün 4.2.1 – kleines Update

Am Wochenende wurde ein kleines Update von Antragsgrün veröffentlicht. Es beinhaltet vor allem Fehlerbehebungen sowie kleine Verbesserungen für den Multi-Site-Betrieb. Wir empfehlen euch das Update über den Online-Updater im Backend von Antragsgrün einzuspielen. Der Aktualisierungsvorgang erfordert nur wenige Mausklicks und ist in weniger als einer Minute abgeschlossen.

Welche Probleme wurden behoben

  • Logos, deren Dateinamen bestimmte Sonderzeichen beinhalteten, wurden beim PDF-Export nicht angezeigt.
  • Schlagwörter mit dem &-Zeichen wurden zuvor falsch kodiert. Wichtig zu wissen: Die Fehlerbehebung verändert die alten Schlagwörter nicht rückwirkend, sondern kann nur die korrekte Erstellung neuer Tags sicherstellen.
  • Wenn Nutzer*innen Kommentare entfernt hatten, trug Antragsgrün bisher verwirrende Einträge ins Aktivitäten-Log ein.
  • Wenn Nutzer*innen ohne Login PDF-Dokumente zu Bewerbungsverfahren hochgeladen hatten, zeigte Antragsgrün bisher das PDF auf der Bestätigungsseite nicht korrekt an.
  • Das Aussehen von Links in der Seitenleiste ist nun einheitlicher.
  • Beim Anlegen der Liste von administrativen E-Mail-Adressen für Benachrichtigungen kann als Trennzeichen nun sowohl Komma wie auch Semikolon verwendet werden.

Verbesserungen im Multi-Site-Betrieb

Wenn Antragsgrün im Multi-Site-Modus betrieben wird, also eine gemeinsame Antragsgrün-Installation über mehrere Domains angesprochen werden kann, sind Plugins nun einzeln pro Subdomain aktivierbar. Ebenso setzt Antragsgrün nun die E-Mail-Adresse des Admins automatisch als Reply-To für Systemmails, falls für die Subdomain nichts Anderes eingerichtet wurde.

Noch kein Antragsgrün in Benutzung?

Wer Antragsgrün erstmalig installieren möchte, erhält die Installationsdateien wie immer direkt im öffentlichen Github-Repository: https://github.com/CatoTH/antragsgruen/releases. Die Installations-Datei (z.B. als ZIP) muss entpackt und in ein Verzeichnis bei eurem Webhoster transferiert werden. Beim ersten Aufruf des Verzeichnisses über euren Browser startet der Einrichtungsassistent, der die Datenbank und die erste Veranstaltung anlegt.

XMPP-Sprint: Wir machen uns unabhängig von WhatsApp & Co! (29.-31. März in Berlin)

XMPP-Logo

Die SMS hat ausgedient. Abgelöst wurde sie von WhatsApp, Threema, Telegram oder dem Facebook Messenger. Diese Dienste verbindet jedoch dasselbe Problem: Man ist jeweils komplett von einem Anbieter abhängig, vertraut ihm alle Chats und manchmal sogar das Adressbuch an. Dass es auch anders geht, zeigt der offene Jabber/XMPP-Standard: Ähnlich wie bei E-Mail ist man frei in der Wahl des Servers und der verwendeten Chat-App.
Vom 29.-31. März treffen sich Entwickler*innen aus mehreren Ländern Europas beim DBJR, um gemeinsam an Konzepten zu diskutieren, an konkreten Anwendungen weiter zu arbeiten und XMPP nutzerfreundlicher zu machen.
Der »XMPP-Sprint« richtet sich an alle, die tiefer in XMPP einsteigen möchten und im besten Fall auch Programmiererfahrung mitbringen. Für Neuinteressierte bieten wir am Samstagvormittag einen Workshop zum Einstieg in XMPP und dessen Nutzung. Mitbringen: Smartphone, Tablet oder Notebook.

Für weitere Informationen und Anmeldung wendet euch an: digital@dbjr.de

WECHANGE – Projekte organisieren, sichtbar machen und vernetzen

Wir haben hier schon gelegentlich über die genossenschaftlich entwickelte Plattform WECHANGE berichtet, mit der wir loser Kooperation zusammenarbeiten. Da sich immer häufiger Jugendgruppen und Projekte nach einer Möglichkeit umsehen, über die sie sich vernetzen und organisieren können, möchten wir euch die Ideen und Funktionen von WECHANGE heute ein wenig ausführlicher vorstellen. Da sich die Plattform ständig weiter entwickelt, haben wir einen Experten des Projekts gefragt: Wir danken Markus Kollotzek von WECHANGE für die Zusammenstellung der Informationen und das Beantworten unserer Fragen.

Ihr sucht einen digitalen Ort für euer Projekt und wollt dabei nicht auf Facebook, Google & Co. angewiesen sein? WECHANGE bietet euch eine Onlineplattform für Projektorganisation, bessere Sichtbarkeit und Vernetzung mit anderen Projekten. Was anfangs als Kooperation mehrerer unabhängiger Organisationen entstand, ist mittlerweile als offene Plattform gerade für Träger und Gruppen mit Verortung in bürgerschaftlichem Engagement interessant.

Für wen ist WECHANGE geeignet?

Menschen, die etwas auf dieser Welt bewegen wollen – sei es in Form einer kleinen Initiative oder einer großen Organisation. Über WECHANGE organisieren sich bereits verschiedene Projektgruppen (bspw. lokale Foodsharing-, Transition-Town- und Gemeinwohlökonomie-Gruppen). Und auch ganze Netzwerke nutzen WECHANGE, bspw. der Deutsch-Russische Jugendaustausch (DRJA).

Die Plattform ist zur Zeit auf Deutsch, Englisch, Französisch, Polnisch, Russisch und Ukrainisch verfügbar. Sie kann sowohl direkt über WECHANGE.de wie auch als eigenständiges Portal mit eigener Adresse genutzt werden.

Die Plattform ist nutzbar für

  • Einzelne Engagierte
    • als digitale Dateiablage, Kalender, Linksammlung, etc. über ein Projekt
    • zur Suche und Vernetzung im Forum und über die Karte
  • Projekt-Arbeitsgruppen /Initiativen
    • Online-Zusammenarbeit in einem digitalen Arbeitsbereich (Projekt)
    • Projektdarstellung mit einer Microsite (wenn ihr also keine große Website selbst aufsetzen könnt oder wollt)
  • Als Intranet-Lösung für Organisationen
    • zur Organisation von Projekten und projektübergreifenden Gruppen
    • zur Kommunikation in die Organisation und nach Außen (Projektdarstellung, Forum, Website, Landingpage, Karte mit Projekt- und Schlagwortsuche
    • eigene Website, angepasstes Design, eigene Community

Was bietet WECHANGE?

Teams finden sich in Projekten zusammen. Gibt es eine Organisation, in der mehrere Projekte parallel laufen, kann diese eine „Gruppe“ eröffnen und die zugehörigen Projekte so zusammenfassen.

Die Landkarte von WECHANGE mit Filtermöglichkeiten je nach Interessenlage

Innerhalb der Projekte gibt es – erreichbar über ein Projekt-Dashboard – folgende Funktionsbereiche:

  • Dateien – hier können Dateien hochgeladen und in einer Ordnerstruktur organisiert werden
  • Dokumente – hier können beliebig viele Etherpads (s. a. https://jugend.beteiligen.jetzt/werkzeuge/tools/yourpart) und EtherCalcs erstellt und in einer Ordnerstruktur organisiert werden
  • Veranstaltungen – in einem Kalender können Veranstaltungen eingetragen werden
  • Aufgaben – es können Aufgaben erstellt und Projektmitgliedern zugeordnet und dokumentiert werden
  • Umfragen – Unterstützung im Bereich Entscheidungsfindung, Terminfindung
  • Neuigkeiten – ähnlich wie die Pinnwand bei Facebook können aktuelle Nachrichten veröffentlicht und dort diskutiert werden

Projektübergreifende Funktionen:

  • Nachrichten – es können Nachrichten an eine oder mehrere Personen oder Projekte versendet werden
  • Karte – es gibt eine Karte, auf der nach Personen, Veranstaltungen, Gruppen und Veranstaltungen gefiltert werden kann
  • Suche – in einer Suchfunktion werden alle für eineN NutzerIn sichtbaren Inhalte durchsucht

Für Fragen aller Art stehen eine Online-Hilfe sowie einige Tutorial-Videos zur Verfügung. Bei technischen Problemen hilft ein Supportteam. Organisationen können für ihren Bereich eigene Support-Beauftragte benennen.

Im Forum können sich Nutzer*innen austauschen und Ankündigungen veröffentlichen

Genossenschaftlich entwickelt… und betrieben

Die WECHANGE-Genossenschaft entstand vor einigen Jahren als ein gemeinschaftliches Projekt verschiedenster Akteure aus dem Feld des sozialökologischen Wandels. Die Plattform sollte dazu dienen, Ideen auszutauschen, Abstimmungen zu treffen, aber auch Dateien sicher zu lagern und Dokumente im Netz miteinander teilen, gleichzeitig bearbeiten und einsehen zu können.

Es sollte aber nicht „irgendein” Internet-Tool sein, sondern etwas, das zur Einstellung der zukunftigen Gründer*innen passte: fair, sicher und gemeinwohlorientiert. Die erste Version wurde 2014 ins Leben gerufen, seit 2016 ist WECHANGE als Genossenschaft registriert und um viele Erfahrungen, gemeisterte Herausforderungen reicher. Die Mitstreiter*innen stehen dabei nach wie vor voll hinter dem Konzept der Plattform von allen für alle.

Ende 2018 waren bei WECHANGE mehr als 25.000 Nutzer*innen registriert, die sich in über 3.000 Projekten und 300 Gruppen organisieren.

Die Nutzung von WECHANGE auf Projektebene ist frei und kostenlos zugänglich. Sobald es den Bedarf gibt, mehrere Projekte zu gruppieren, lässt sich eine kostenpflichtige aber günstige Gruppe einrichten.

WECHANGE setzt höchste Datenschutzanforderungen um; die mit grünem Strom betriebenen Server stehen in Deutschland. Da es sich um eine Open-Source-Lösung handelt, kann man sich den Quellcode herunterladen und einen eigenen WECHANGE-Server installieren.

Es gibt auch die Möglichkeit, dass WECHANGE die Installation und Wartung für eine Organisation übernimmt. In so einem Fall kann das Entwickler*innen-Team auch spezifische Anforderungen umsetzen. Erweiterungen können zudem wieder ins Gemeinschaftsprojekt zurückfließen und kommen so allen WECHANGE-Nutzer*innen zugute.

WECHANGE unterscheidet sich von klassischen Plattformanbietern dadurch, dass keine kommerziellen Interessen verfolgt werden. Das macht sich auch durch die Rechtsform bemerkbar – eine Genossenschaft. Anstatt sich auf Risikokapital zu verlassen und sich somit zu ständig schnellerem Wachstum zu zwingen, setzt WECHANGE auf Mitgestaltung und nachhaltige Finanzierungsmodelle.

Technische Details und Lizenz

WECHANGE ist Open Source und wurde unter der Affero General Public License (AGPL) veröffentlicht. Die Plattform verfügt über Schnittstellen, wie z.B. die Ausgabe der Veranstaltungskalender als iCal.

Kontakt

WECHANGE eG | c/o Thinkfarm | Oberlandstraße. 26-35 | 12099 Berlin

Mail: support@wechange.de | Tel.: mittwochs 11-16h 030 / 54 90 99 90

Antragsgrün 4.2 im Anflug: Designwahl, private Notizen

In wenigen Tagen erscheint Antragsgrün 4.2. Bereits jetzt kann der erste, stabile Release-Kandidat (RC) ausprobiert werden. Darin enthalten sind Funktionen, die schon häufig und auch seit Langem nachgefragt wurden:

Screenshot Farbschema-Einstellungen
Farben und Schriften können nun selbst angepasst werden. (Klicken, um Bild zu vergrößern)

Das Design von Antragsgrün kann nun direkt über das Backend angepasst werden. Eurer Kreativität (oder euren CI-Designregeln) zu Farben und Schriftarten sind damit keine Grenzen mehr gesetzt. Und falls doch mal was schiefläuft: Alle Werte lassen sich wieder auf die Standardeinstellungen zurücksetzen. Seit einigen Monaten bestand darüber hinaus die Möglichkeit, das Seitenlogo pro Veranstaltung neu hochzuladen: Der neue Logo-Picker macht die Anpassungen nun komfortabler als bisher.

Als zweite große Neuerung wird die Möglichkeit eingeführt, dass Nutzer*innen private, also nicht nach außen sichtbare, Notizen zu Anträgen hinterlegen können. Diese Kommentarfunktion orientiert sich dabei an den Textabsätzen und ist vor allem zur Vorbereitung von Live-Diskussionen auf Tagungen nützlich.

Neben diesen beiden großen Neuerungen werden natürlich auch einige Fehler behoben, z.B. der Erstellung aller PDFs in ein ZIP-Paket. Wer sich jetzt bereits an die Vorabversion wagt, kann später natürlich jederzeit zur endgültigen Version von Antragsgrün 4.2 aktualisieren. Weitere Informationen findet ihr unter https://github.com/CatoTH/antragsgruen/releases.

Auf Fehlersuche? Tipps zu ePartool, Antragsgrün, Nextcloud, WordPress & Co.

Wenn dieser Fehler auftaucht, ist guter Rat teuer … oder?

Mittlerweile stehen viele hochwertige Open-Source-Anwendungen für eure Onlineauftritte oder Onlinezusammenarbeit zur Verfügung. Auch wenn sich Entwickler*innen große Mühe geben eine tolle Software zu schreiben, so schleichen sich doch immer wieder Fehler ein. Ebenso können sich im Zusammenspiel zwischen Anwendung und eigenem Server Probleme auftun, die einer Lösung bedürfen. Vor der Lösung steht jedoch die Fehlersuche: Oft lässt sich nicht per Augenschein erkennen, woran es hakt. Im Folgenden geben wir ein paar Tipps, wie ihr euch dem Problem nähert.

Die Log-Datei ist dein Freund!

Glücklicherweise werdet ihr bei der Fehlersuche von der Software aktiv unterstützt. Die meisten Anwendungen und auch die Server selbst legen verschiedene Protokoll-Dateien an. In diesen wird aufgezeichnet, welche Aktionen stattgefunden haben bzw. bei welchen Aktionen unvorhergesehene Ereignisse auftraten. Aus unserer Erfahrung lohnt es sich bei Problemen im ersten Schritt die Log-Dateien der betroffenen Anwendung anzusehen. Die meisten Fehler lassen sich hierüber bereits eingrenzen.

Log-Dateien werden fast immer als Dateien mit der Endung .log angelegt. Es handelt sich dabei aber in der Regel um Textdateien, die sich mit jedem beliebigen Editor öffnen lassen (Notepad, Wordpad, usw.).

In den Logs der Anwendungen wird in der Regel protokolliert, wenn einzelne Funktionen oder Programmbibliotheken eine Aufgabe nicht ausführen konnten. Das könnte z.B. daran liegen, dass Zugriffsrechte nicht korrekt gesetzt waren, benötigte Dateien nicht gefunden wurden, ein Datenbankserver nicht oder nicht schnell genug geantwortet hat, oder Funktionen schlichtweg Fehler hatten (Beispiel: Versuch durch 0 zu teilen). Dennoch können sich die Inhalte der Log-Dateien bisweilen sehr unterscheiden – die Entwickler*innen können sich dafür entscheiden, nicht nur fatale Fehler zu vermerken, sondern auch bereits Warnmeldungen oder auch erfolgreich durchgeführte Aktivitäten. Letzteres kann zwar von Interesse für die Entwickler*innen sein, allerdings im Dauerbetrieb auch mit Datenschutzerfordernissen kollidieren. Daher lassen sich Anwendungen häufig darauf konfigurieren, ob sie sich im Betriebsmodus für „Entwicklung“ (development, debug modus) oder für „Produktion“ befinden.

Anhand von vier Anwendungen möchten wir euch beispielhaft aufzeigen, wo Log-Dateien zu finden sind:

Antragsgrün: Die Software zur demokratischen Texterstellung führt eine Log-Datei unter /runtime/logs/app.log. Die Einträge sind dabei sehr ausführlich gehalten.

ePartool: Das DBJR-Konsultationswerkzeug führt eine Log-Datei unter /runtime/logs/application.log. Die neuesten Einträge finden sich ganz unten.

Nextcloud: Die populäre Open-Source-Plattform für Dateiaustausch und Zusammenarbeit führt zwei unterschiedliche Log-Dateien. Während die Datei /data/updater.log nur über Installationsvorgänge Buch führt, ist die Datei /data/nextcloud.log für den täglichen Betrieb gedacht. Nextcloud beinhaltet zudem eine Zugriffsmöglichkeit auf diese Log-Datei über das Admin-Backend. Hier kann man auch einstellen, welche Art von Fehlern oder Problemhinweisen protokolliert werden sollen.

WordPress: In der Standardinstallation führt das CMS keine Log-Datei. Durch zwei Einträge in der Datei wp-config.php kann das Loggen aber aktiviert werden:

define('WP_DEBUG', true);

define('WP_DEBUG_LOG', true);

Weitere Informationen finden sich unter https://codex.wordpress.org/Debugging_in_WordPress.

Wenn man Log-Dateien über das administrative Backend betrachten und auswerten möchte, muss zudem ein Plugin installiert werden, z.B. der »Error Log Monitor« [https://de.wordpress.org/plugins/error-log-monitor/]

Weitere Log-Dateien

Gelegentlich helfen die Log-Dateien der Anwendungen aber nicht weiter. Das kann daran liegen, dass die Anwendung auf Probleme stößt, die außerhalb ihrer eigenen Analysemöglichkeit liegen. Im Extremfall wäre das bei einem Hardware-Defekt der Fall: Ob alle Kabel richtig stecken oder ob der Servercomputer selbst richtig rechnet, kann eine Anwendung kaum erkennen. Auf Log-Dateien der Betriebssystem-Ebene hat man jedoch in der Regel als Mieter*in eines Webhostings keinen Zugriff. Professionelle Provider stellen durch Überwachungsprogramme sicher, dass diese Art von Fehlern von ihnen selbst zeitnah entdeckt werden.

Zwischen dem Betriebssystem und Anwendungen wie den vier oben genannten liegt allerdings noch die installierte Web-Server-Software. Ein Web-Server ist meist als Sammelbegriff mehrerer Programme zu verstehen und beinhaltet neben dem eigentlichen Web-Server-Programmen wie Apache oder Nginx auch die PHP-Programmiersprache oder eine Datenbank). Diese alle führen ebenfalls Log-Dateien.

Welche Log-Datei hilft wann:

Web-Server: Hier werden der Zeitpunkt und die Herkunft der Zugriffe (IP-Adressen), Größe der abgerufenen Dateien und Statusmeldungen zu den einzelnen Verbindung geloggt. So lässt sich schnell herausfinden, ob es zeitgleich übermäßig viele Zugriffe gab (und daher der Server sehr langsam wurde) oder ob bestimmte Dateien nicht gefunden wurden (die bekannte Statusmeldung 404). Probleme im internen Programmablauf, die nicht die Zugriffe betreffen, werden meistens in einer separaten Log-Datei protokolliert.

PHP: Programmierfehler sind häufig kleine Tippfehler, wie eine vergessene Klammer zum Abschluss einer Funktion oder ein Buchstabendreher. Wenn der PHP-Interpreter nicht versteht, was er zu tun hat, können diese Fehler entweder geloggt oder direkt angezeigt werden. Letzteres hilft zwar, Fehler schnell zu finden, verrät aber Externen auch viel über mögliche Angriffspunkte. Bei PHP-Skripten kann man auch ohne viel Programmiererfahrung das Anzeigen von Fehlern aktivieren, indem man in die ersten Zeilen (nach dem Startkennzeichen <?php) folgende Befehle ergänzt:

error_reporting(E_ALL);
ini_set('display_errors', '1');

Voraussetzung dafür, dass nun konkrete Fehlermeldungen angezeigt werden, ist, dass der Server grundsätzlich dazu konfiguriert ist. Bei den meisten Providern lässt sich das im Administrationsmenü aktivieren und wieder deaktivieren. Bei direktem Server-Zugang und Schreibrechten auf die php.ini-Einstellungsdatei lässt sich dies durch display_errors = on aktivieren.

Datenbank: Da es verschiedene weit verbreitete Datenbanken gibt, fällt die Erkenntnismöglichkeit hier sehr unterschiedlich aus. General lässt sich über die Log-Datei herausfinden, ob der Service korrekt gestartet wurde, ob es gescheiterte Zugriffsversuche gab (z.B. wenn die Zugangspasswörter in der zugreifenden Anwendung falsch abgespeichert waren). Möglicherweise kann man über die Statusmitteilungen auch herausfinden, ob Datenbank-Anfragen ineffizient gestellt wurden und daher sehr lange zur Beantwortung brauchten oder gar komplett scheiterten. Dies könnte z.B. der Fall sein, wenn Suchindizes nach größeren Datenveränderungen nicht neu angelegt wurden oder durch zu viele parallel Schreibvorgänge versucht wurden. Auch der Ursprung von fehlerhafte Zeichenausgabe (Umlaute oder falsche Symbole) könnte hier liegen: Die Kette der Zeichenkodierung muss von der Datenbankablage über die Verbindung und Verarbeitung bei der Anwendung bis hin zum Browser bei den Nutzer*innen durchgehend richtig sein.

Der Einfluss von Fehler-Logs auf die Rechenzeit

Das Erstellen von Log-Dateien benötigt immer etwas Rechenzeit. Diese fällt umso größer aus, wenn man sich auf einem höheren Software-Level befindet (System → Server-Software → Anwendung). Daher lohnt es sich bei viel frequentierten Internet-Angeboten, im stabilen Betrieb das Logging durch die Anwendungen soweit wie möglich zu reduzieren.

Was ist eigentlich … ein »Cronjob«?

Wenn man neue Website-Anwendungen oder Online-Portale einrichtet, findet sich in der Installationsanleitung häufig auch der Hinweis, dass ein »Cronjob« einzurichten sei. Aber worum handelt es sich dabei eigentlich?

Cronjobs beinhalten Aufgaben, die regelmäßig oder zu bestimmten Zeitpunkten stattfinden sollen. Ein Beispiel wäre ein automatischer Versand von E-Mails zur Erinnerung an Fristen oder tägliche Zusammenfassungen eines Forums. Diese Mails werden in der Regel nicht jedes Mal von einem Menschen zusammengestellt, sondern von der Server-Software.

Gebraucht werden diese wiederkehrenden Aufgaben vor allem auf Systemen, die rund um die Uhr laufen: Backups werden automatisiert angelegt oder bestimmte Systembereinigungen können so regelmäßig zu weniger frequentierten Zeiten (meist nachts) ablaufen. Das Entkoppeln von Momenten hoher Systemlast und Hintergrundaufgaben, die auch zu anderen Zeitpunkten stattfinden können, stellt den neben termingebundenen Aufgaben einen weiteren großen Vorteil von Cronjobs dar – ein typisches Beispiel wäre die Aktualisierung eines Inhaltsindexes für die Suchfunktion: Diese muss nicht exakt in dem Moment geschehen, wenn ein neuer Artikel in die Datenbank eingetragen wird, sondern darf meist auch einige Minuten später erst erfolgen.

Auf Arbeitsplatzrechnern oder Notebooks hingegen sind Cronjobs seltener anzutreffen. Oft werden wiederkehrende Aufgaben wie die Suche nach neuen Antivirus-Signaturen einfach jedes Mal bei Systemstart durchgeführt.

Für einen Cronjob benötigt man die Aufgaben, die erledigt werden sollen, niedergeschrieben in einem Programmskript. Skripte in einer Programmiersprache wie PHP, die gerade bei Website-Anwendungen sehr beliebt ist, kann aber von einem Server nicht direkt verstanden werden, sondern muss von einem »Interpreter« übersetzt werden. Welcher das ist, muss beim Einrichten eines Cronjobs ebenfalls angegeben werden. Und schließlich sind die Zeitangaben für das Ausführen wichtig – hier gibt es eine Fülle von Möglichkeiten (siehe Grafik).

Dieser Cronjob läuft jeden Morgen um 7:00 Uhr.

Cronjobs werden tabellarisch in einer Crontab-Datei abgespeichert. Bei Webhosting-Providern ist häufig eine grafische Benutzeroberfläche vorhanden, um die Jobs einzutragen und zu verwalten. Leider sind dabei oft Begrenzungen vorgegeben, z.B. dass mindestens zwei Stunden zwischen der Ausführung eines Cronjobs liegen muss. Für Web-Anwendungen, die häufiger solche Hintergrundaufgaben benötigen, kann man den Cronjob dann ggf. mehrfach anlegen: Während der erste z.B. zu allen ungeraden Stunden ausgeführt würde, wäre Cronjob 2 für alle geraden Stunden zuständig.

Gelegentlich sind Cronjobs mit Zugriffstokens abgesichert, d.h. nur wenn man eine Art Passwort mit übermittelt, wird der Cronjob ausgeführt. Dieses Verfahren setzen wir u.a. im ePartool ein, um sicherzustellen, dass ein Cronjob nicht missbräuchlich zum Spam-Mail-Versenden fehlgeleitet werden kann.

Tipp: Nextcloud komfortabler verwalten mit »OCC Web«

Nextcloud ist ein datenschutzbewusster Gegenentwurf zu den großen Cloudanbietern und bietet vielfältige Möglichkeiten für Dateiaustausch und Onlinezusammenarbeit. Diese selbst betriebene Cloud ist dabei ausgesprochen genügsam: Sogar auf einfachen, gemieteten Webhosting-Paketen kann Nextcloud eingerichtet und mit Freund*innen und Kolleg*innen genutzt werden – sogar noch parallel zu einer bestehenden Website. Zusätzlich Kosten für den Betrieb können so vermieden werden.

Wer so eine kleine Nextcloud-Instanz betreibt, kann damit ohne Weiteres mit 20-50 gleichzeitig aktiven Nutzer*innen zurechtkommen: Die meisten Funktionen und Erweiterungs-Apps funktionieren ganz wunderbar. Einschränkungen treten im Betrieb am ehesten in Erscheinung, wenn mehrere Personen zeitgleich mit derselben Datei arbeiten oder auf aufwändige Funktionen zugreifen. In solchen Fällen geht nichts kaputt, aber es kann passieren, dass Nextcloud Dateien zu konservativ vor einem Löschversuch schützt.

Während die Nutzung von Nextcloud auf einfachen Webhosting-Paketen gut möglich ist, sind hier vor allem die administrativen Funktionen eingeschränkt: Auf einem „richtigen“ Server kann das Nextcloud-eigene Konfigurationswerkzeug OCC benutzt werden; kostengünstige Shared-Hostings erlauben jedoch meist keinen SSH- und damit keinen Befehlszeilen-Zugriff. Das erschwert Wartungsarbeiten, insbesondere wenn nach einer Versionsaktualisierung bestimmte Datenbank-Aktionen oder Neuindizierungen empfohlen werden oder zentrale Aufgaben für mehrere Nutzer*innen anstehen. Diese Aufgaben per Hand direkt in der Datenbank oder in diversen Installationsverzeichnissen zu erledigen ist unkomfortabel, technisch anspruchsvoll und fehleranfällig. Bisher gab es dazu aber keinen anderen Weg.

Das Wehklagen der Admins wurde von den Nextcloud-Entwickler*innen jedoch ernst genommen: Seit wenigen Tagen existiert ein Plug-in (in Nextcloud-Sprache: „App“), das die Befehlszeileneingabe direkt im Backend nachrüstet: Ein Admin kann sich also ins Backend einloggen und die notwendigen OCC-Befehle hierüber eingeben. Auch ist diese „OCC Web“ genannte Erweiterung recht hilfsbereit und zeigt nach Drücken der ENTER-Taste alle verfügbaren Befehle und deren Bedeutung an. Auch Wartungsfunktionen für andere installierte NC-Apps stehen bereit.

Befehlsübersicht von OCC_Web

Als Admin sollte man sich bei allen Vorteilen von »OCC Web« dennoch überlegen, ob man diese Erweiterung nur anlassbezogen oder dauerhaft einrichtet. Möglicherweise tun sich über die administrativen Funktionen Angriffsvektoren für Bots oder Schädlinge auf, die die Nextcloud-Instanz übers Web erreichen können. Generelle gilt, dass jede installierte App stellt ein mögliches Einfalltor darstellt, vor allem wenn sie sich noch recht jung in Entwicklung befindet. Daher könnte es sinnvoll sein, OCC Web nur im konkreten Bedarfsfall zu installieren und danach wieder herauszunehmen – in Nextcloud eine Sache von wenigen Sekunden.

Und wofür steht nun eigentlich das Kürzel »OCC«? „OCC“ wurde bereits eingeführt, als sich das Nextcloud-Projekt noch nicht von OwnCloud abgetrennt hatte. Daher bedeutet die Abkürzung OCC vermutlich „OwnCloud Configuration“ und wurde in Nextcloud so beibehalten.