Nachtrag: Genossenschafts-IT-Kooperation

Vor einigen Wochen hat sich im Umfeld einiger Wohnbaugenossenschaften in Bern eine lockere Kooperation der verschiedenen IT-Gruppen gebildet: Das Wohnbau Geno IT-Netzwerk.

Weitere Interessenten oder alternative Namensvorschläge sind willkommen, du kannst dich einfach bei mir melden. Bis jetzt gibt es einen Slack-Kanal und ein gelegentliches Onlinetreffen. (Nächster Termin: Mittwoch, 16. Juni 2021)

Impfung zum Wochenende: Teil 2 von 2

Mein zweiter Impftermin war am Samstag Morgen, 08:40.

Fünf Minuten später war ich geimpft.

Und weitere fünf Minuten später erhielt ich bereits die Notifikation für den Download meines Impfzertifikates.

Mag sein, dass nicht alles ideal lief in dieser Pandemie, aber in welcher globalen Katastrophe läuft schon alles ideal? Auf jeden Fall funktionierte bei mir der Impfprozess einwandfrei.

Und Nebenwirkungen scheine ich nach der zweiten Dosis Moderna ausser etwas Schmerzen im Arm auch nicht zu haben.

Gehen wir weiterhin verhalten optimistisch in den Sommer.

Impfung zum Wochenende: Teil 1 von 2

Pflaster auf dem Arm

Heute morgen durfte ich mein persönliches Ende der Corona-Pandemie einläuten: Die erste Dosis der Impfung habe ich erhalten. Technisch und organisatorisch Tip-topp organisiert.

Jetzt nur noch ein wenig Geduld. Sicher wird die Übergangszeit bis alle Willigen geimpft sind nicht ganz ruhig: Jetzt kommt wieder eine Hochkonjunktur für Politiker und Hobbyexperten um möglichst viele Lockerungen zu fordern und möglichst viel politisches Kapital daraus zu schlagen.

Link zum Wochenende: Datasette.io

Screenshot api-datasette für hydro_parameters

Das Open Source-Tool Datasette verwandelt SQLite-Datenbanken (Oder indirekt quasi jede CSV-Datei) schnell und unkompliziert in eine Webseite inkl. API. Es erlaubt einfach durch die Daten zu reisen, filtern, analysieren.

Screenshot api-datasette für hydro_locations

Erweiterbar mit Python-Plugins erlaubt es zusätzliche Visualisierungsmöglichkeiten wie diese Kartendarstellung.

Ich benutze es für meine OpenData-APIs für die Metadaten der Hydrologie- und SwissMetNet-Datenbanken. Dazu ruft ein Skript jeweils beim Deployment die API-Methoden auf und speichert die Resultate in die SQLite-Datenbank. Das ganze Skript als anschauliches Beispiel gibt es auf GitHub.

Office Hours

Auf das Projekt bin ich via diesem Artikel gestossen: Open source projects: consider running office hours. Letzte Woche habe ich einen dieser Slots gebucht und 20 Minuten mit Simon Willison konferiert.

Alles in allem ist Datasette eine ausserordentlich tolle Erfahrung, sowohl technisch wie auch menschlich. Ich kann es kaum erwarten noch mehr Anwendungsfälle dafür zu finden.

Spontane Saisoneröffnung 2021

Aare-Temperatur 11.6° C

Glücklicherweise hatte ich vor einer Geburtstagsparty im Eichholz schon mein Sommergepäck gepackt: Immer dabei ist ein wasserdichter Beutel mit Badehose.

Und so habe ich heute Nachmittag spontan meine persönliche Badesaison 2021 eröffnet. Allerdings kam ich bei 11° nicht weit, es ging mehr ums Prinzip als ums Baden.

Übrigens: Wir vom Aare.guru-Team haben einen neuen Onlineshop eröffnet und wunderschöne Badesäcke bedrucken lassen. Ein tolles neues Badetuch folgt auch bald.

Selbsttest zum Wochenende: Entspannter durch die Pandemie

Selbsttest an der ersten Corona-Party seit einem Jahr

Die Eltern sind geimpft, die Schwiegereltern ebenfalls. Und dank der jetzt verfügbaren Selbsttests habe ich diese Woche einen äusserst gemütlichen Abend im Freundeskreis verbracht. Der erste seit wohl einem Jahr. Sehr empfehlenswert.

Ich fühle mich entspannter. Noch etwas Geduld, vielleicht, vorsichtig optimistisch, ist ein Ende absehbar.

Aare.guru- & Existenz-API Newsletter Auftakt 2021

Den folgenden Text habe ich am 6. April 2021 an die API-Newsletter-Liste verschickt. Trag dich in den Newsletter ein um auf dem Laufenden zu bleiben.

Christian

Eine kurzfristige Ansage: Aufgrund einer Änderung an der Datenlieferung der Wasserwerte musste ich das sorgfältig entwickelte Refactoring der Existenz-API ohne weiteres Testen deployen. Es sind keine grossen Änderungen passiert, aber vielleicht habe ich etwas übersehen.

Keine Änderung an der bestehenden Aare.guru-API. Ein neuer Endpoint: widget

Minimale Änderungen an den Metadaten (Stations- und Parameterliste) der Existenz-API: Die details-Felder sind umgestellt und etwas ausführlicher.

Was gibt’s sonst noch Neues?

  • Die APIs sind intern poliert und auf den neuesten Stand gebracht: Bessere Testabdeckung, schnellere Deployments, zentralisierteres Logging, neues Hintergrundbild für die Doku. Wir sind damit etwa auf Faktor 327 von 12.
  • Eine experimentelle InfluxDB-Datenbank steht zum Ausprobieren zur Verfügung. Die Credentials für die Verbindung sind auf api.existenz.ch dokumentiert. Es gilt Bring-Your-Own-Visualization. Ich hoffe im Verlauf des Sommers das ganze Datenarchiv der letzten Jahre dort hinaufzuladen.
  • Alle Metadaten zu den SwissMetNet- und Hydrologie-Zeitreihen sind jetzt als nifty Datasette verfügbar: api-datasette.konzept.space. Das ersetzt meine handgestrickte Karte.

Zu guter Letzt bin ich stolz mein Lockdown-Projekt zu präsentieren: Das AareDisplay.

Und jetzt heisst es warten bis der Schnee zusammen mit den Viren endgültig definitiv verschwindet, die Wassertemperaturen steigen und wir hoffentlich einen gemütlichen Sommer geniessen dürfen.

GitHub Action: Mehrzeiliges Secret in eine Datei schreiben

Um beispielsweise eine .env-Datei in einer GitHub Action aus einem Secret heraus zu befüllen, muss sich leider mit fehlenden Zeilenumbrüche herumschlagen.

Ein einfacher Trick habe ich in einem Stackoverflow-Kommentar gefunden: Die unerwünschten Leerzeichen mit tr in Newlines verwandeln.

- name: Write .env
  run: |
    echo $ENV_FILE | tr ' ' '\n' > .env
  shell: bash
  env:
    ENV_FILE: ${{secrets.DOTENV}}

Nachteil dieser Methode: Das Secret selber darf keine Leerzeichen enthalten.

IT-Infrastruktur einer Wohnbaugenossenschaft

Ich wohne seit acht Jahren in der Wohnbaugenossenschaft Oberfeld in Ostermundigen und engagiere mich dort unter anderem in der IT-Grupp. Letzte Woche haben wir von einer anderen Genossenschaft eine Anfrage bezüglich unserer IT erhalten.

Ich habe die Anfrage ausführlich beantwortet und dachte dass das vielleicht auch für andere Institutionen nützlich sein könnte.

Disclaimer: Alle Firmenangaben ohne Absicht zur Werbung, sondern nur um möglichst konkret zu werden.

Zusammenfassung

Nicht gross konzipieren, mit einfachen Lösungen anfangen.

Vielleicht längerfristig: Einen Blick auf Flink.coop werfen.

Kontext: Unsere Wohnbaugenossenschaft

Die WBG Oberfeld gibt es seit knapp 20 Jahren, die Wohnungen wurden von 2013 bis 2015 erbaut und bezogen. Wir haben 100 Wohnungen, die Hälfte im Stockwerkeigentum, die andere Hälfte vermietet. Baulich sind es 7 Häuser. Es wohnen ca. 170 Erwachsene und 70 Kinder in der Siedlung.

Organisiert ist das Ganze in einem komplizierten Konstrukt mit Stockwerkeigentümerschaften (STEG), Miteigentümerschaften (MEG) und der Genossenschaft (WBGO). Damit haben Mieter und Eigentümer die gleichen Mitspracherechte. Eine externe Verwaltung kümmert sich um die Mietabrechnungen & STEG-Abrechnungen. Ansonsten haben wir eine interne Verwaltung welche zuständig ist für Bau, Rechtliches, Kontakt zur Gemeinde etc.

Der Alltag spielt sich aber hautpsächlich in den Themengruppen ab. Diese konzentrieren sich auf einzelne Themen (Aussenraum, Gemeinschaftsräume, Werkstatt, Sauna, Integration etc.), sind unterschiedlich gross, haben unterschiedliche Budgets zur Verfügung und sind unterschiedlich aktiv. Es gibt keinen formellen Prozess um eine Themengruppe zu gründen, nur wenn du Budget willst musst du das an der GV beantragen.

IT-Gruppe

Vor und während dem Bau gab es die IT-Gruppe nicht. Die Verwaltung hat sich um die Kommunikation und die Datenablage (SharePoint bei Greendisk) selber gekümmert. Ein externer Dienstleister hatte eine öffentliche Webseite auf Drupal-Basis erstellt.

Nach dem Bezug der ersten Wohnungen hat sich schnell ein erhöhter Bedarf nach Austausch innerhalb der Häusern ergeben. Ich gehörte damals zu den Bewohnern im ersten fertiggestellten Haus und habe als Informatiker einfach mal eine Domain registriert und Mailverteiler eingerichtet. (Auf welchen dann eifrig Word-Dateien als Know-How-Dokumente herumgemailt wurden.)

Nachdem alle Häuser gebaut und bezogen wurden, haben wir einen ersten Versuch mit einer fixen IT-Gruppe gestartet: Ein Team von sieben Informatikern haben geplant, konzipiert, evaluiert und konzipiert. Wir haben Rückfragen gemacht bei den Bewohnern, Verwaltung, Themengruppen über Bedürfnisse und Ideen.

Geplant wurden eigens entwickelte Mitglieder- und Genossenschaftsverwaltung, Mailinglisten, Know-How-Datenbank, Tauschbörse, Reservationssysteme, Kalender, Datenablage, öffnentliche Webseite, wenn möglich alles mit Single-Sign-On.

Schlussendlich sind praktisch alle Efforts im Sand verlaufen: Es hatte niemand den Lead übernommen, es wurden keine harten Anforderungen oder Deadlines von der Verwaltung gestellt. Und die Siedlung funktionierte auch ohne die oben genannten Systeme. Die Minimallösung bestand aus den Mailinglisten und einem Reservationssystem für die Gemeinschaftsräume.

Die Verwaltung hat versichert dass für die Infrastruktur ein Budget zur Verfügung stände, wir waren aber immer der Meinung dass das nicht notwendig sei und wir alles selber machen können. Aber niemand hatte wirklich Zeit dafür.

IT-Gruppe Aktuell

In der Zwischenzeit ist die IT-Gruppe auf drei Mitglieder zusammengeschrumpft. Das macht die Terminfindung einfacher und zwingt uns aufgrund der beschränkten Ressourcen auch zum Fokussieren auf einfache Lösungen. Wir treffen uns unregelmässig ca. 1x pro Monat (Zumindest vor der Pandemie) entweder zum koordinieren oder zum gemeinsamen hacken. Da wir alle Kinder haben ist unsere verfügbar Zeit limitiert und es ist nicht immer einfach oder produktiv am Abend sich noch daran zu machen. Versuche mit Hackdays waren ermutigend, aber die Zeit dafür können wir auch nicht jeden Monat aufwenden.

Also müssen pragmatische Lösungen her, nicht zu viel selber entwickeln wollen.

Koordination über Trello, Slack und GitHub.

Mailinglisten

Der Löwenanteil an siedlungsinterner elektronischer Kommunikation läuft über die Mailinglisten (Mailman, gehostet bei unserem Provider Cyon).

Es gibt eine moderierte Liste um alle BewohnerInnen zu erreichen. Diese ist angedacht für siedlungsrelevante Themen. Später kam die Marktplatz-Liste dazu, unmoderiert. Auf diese kann man ohne schlechtes Gewissen auch nicht so siedlungsrelevante Themen schreiben. Weil das potentiell für mehr Mails sorgt, ist die Mitgliedschaft auf der Marktplatz-Liste freiwillig. Praktisch haben sich bisher nur 2 Personen austragen lassen.

Zusätzlich gibt es für jedes der sieben Häuser eine eigene interne Mailingliste.

Um die Mailschwemme etwas zu kanalisieren sammelt eine Bewohnerin jeweils Informationen um alle drei Monate ein ausführlicheres Infomail zu verschicken (Es gab mal einen Plan das als Papier/Zeitung zu machen, aber wurde nie realisiert.)

Aus Datenschutzgründen ist das Archiv der Mailinglisten auf dem Cyon-Server abgeschaltet.

Vorteile:
– Alle kennen das Medium Mail, braucht keine Einführung.

Nachteile:
– Nicht alle Mails kommen an, bleiben in irgendwelchen Spamfiltern hängen, eher unzuverlässig.
– Moderation ist ein dauernder Zeitaufwand, muss relativ schnell passieren und ist aufgrund der alten Mailman-Oberfläche etwas umständlich.
– Der Moderator (Ich) hat viel Macht was den Informationsfluss betrifft.
– Administrativer Aufwand bei BewohnerInnen-Wechsel.
– Konfigurationsaufwand für neue Listen.

Mailverteiler

Weil die Mailinglisten etwas unhandlich sind, gibt es für die Themengruppen einfache Mailverteiler: Eine Mail auf die Verteileradresse wird sofort an die Mitglieder verteilt, ohne Moderation oder Kontrolle (Feature von Cyon.)

Vorteile:
– Einfacher Unterhalt, einfacher Umgang.

Nachteile:
– Kein Spamschutz.
– Administrativer Aufwand bei Mitglieder-Wechsel.

Know-How-Datenbank: Die Grünen Seiten

Schnell ergab sich das Problem dass das Know-How welches über die Mailinglisten verteilt wurde, sich nirgendwo mehr auffinden lies. Gerade neue BewohnerInnen hatten keinen einfachen Zugang dazu.

Wir hatten uns verschiedene FAQ-Tools und Wikis angesehen, aber sind schlussendlich bei einer einfachen WordPress-Instanz gelandet. Ohne spezielles Plugin; unsere Know-How-Artikel sind einfache Seiten in WordPress. Gehosted auf unserem Shared Hosting bei Cyon.

Glücklicherweise haben wir ein Verwaltungsmitglied welches regelmässig bei Anfragen an die Verwaltung die entsprechenden Informationen auf den Grünen Seiten erfasst und danach nur noch darauf verlinkt. So wächst der Berg von Informationen stetig.

WordPress bewährt sich hier sehr gut.

Vorteile:
– WordPress ist ein intuitiv bedienbares CMS.
– Mittlerweile aktualisiert es sich auch praktisch von alleine und braucht wenig Unterhalt.

Nachteile:
– Um die Informationen einfach zugänglich zu machen, sind sie ungeschützt im Netz. Kein Password, nur via robots.txt vom Google-Index rausgenommen.

Dateiablage: Chischte

Wir tauschen Dateien über eine Nextcloud-Instanz aus. Mit dem Plugin Group Folders erstellen wir geteilte Ordner für Themengruppen, Häuser, Verwaltung etc. Darin befinden sich auch Baupläne und Hausdokumentationen. Umfang ca. 100 GB Daten. Gehostet in einem Docker-Container in der Hetzner Cloud.

Parallel dazu läuft ein Elastic Search als Volltextsuche-Provider um die ganzen Dateien durchsuchbar zu machen.

Zusätzliche Features wie Kalender oder Kontakte benutzen wir nicht (Mit Ausnahme Nextcloud Talk, siehe unten.)

Wir haben einen anonymen geteilten Benutzer mit reinem Lesezugang. Nach Bedarf erhalten unsere BewohnerInnen eigene Konten mit Zugang zu den gewünschten Haus- und Themengruppen-Ordnern.

Nextcloud bewährt sich hier sehr gut.

Jeweils Nachts um 03:00 wird die ganze Chischte kurz offline genommen und ein inkrementelles Backup mit Volumerize auf S3 gemacht.

Aufgrund des hohen technischen Aufwandes sehen wir uns aber im Moment nach einer gehosteten Lösung um. Allerdings bieten viele Lösungen die Volltextsuche nicht an.

Vorteile:
– Mächtig.
– Relative intuitiv.

Nachteile:
– Technischer Aufwand ist hoch, besonders für die Volltextsuche und die Updates.
– Genügend RAM im Server notwendig.
– Administrativer Aufwand bei den Zugriffsrechten und Gruppenordner.

Nextcloud Talk

WhatsApp ist auch in unserer Siedlung die erste Wahl für Gruppenchats aller Art. Mit der Revision deren Datenschutzbestimmungen kam die Anfrage nach einer Alternative. Mit Freude haben wir festgestellt dass wir diese bereits haben: Nextcloud Talk ist in Nextcloud integriert. Eine einfache mobile App erlaubt den Zugang dazu, die bestehenden Benutzerkonten können gleich wiederverwendet werden.

Mindestens zwei Themengruppen benutzen Nextcloud Talk aktiv.

Vorteile:
– Einfach Chat-Lösung, besteht bereits.
– Facebook ist nicht involviert.

Nachteile:
– Chat-Apps sehr einfach gehalten.

Reservationssystem

Für unsere Gemeinschaftsräume benötigen wir ein Reservationssystem für Buchungen. Weil wir eines selber schreiben wollten aber nicht schnell genug vorwärts kamen, hat die zuständige Themengruppe vor 8 Jahren als temporäre Lösung angeschafft, die zahlungspflichtige Lösung hier: https://www.supersaas.de

Die Lösung läuft noch immer und erfüllt die Anforderungen für die zwei Räume die damit verwaltet werden (Gemeinschaftsraum und Skylounge). Alle anderen Räume verwalten ihre Reservationen analog auf Papier (Sauna, Werkstatt, Pizzaofen).

Angedacht wäre aber eigentlich schon immer das von SuperSAAS zu entfernen und zum Beispiel in die Nextcloud-Kalender zu integrieren.

Vorteile:
– Funktioniert.
– Kein Login notwendig.

Nachteile:
– Kostet.
– Kein Schutz der Daten, Reservationen können offen eingesehen und manipuliert werden.

Externe Webseite

Unsere externe Webseite ist bewusst getrennt von den internen Grünen Seiten. Die veraltete Drupal-Lösung haben wir wieder mit einer WordPress-Instanz ersetzt. Inhalte werden nach Bedarf ergänzt, wir haben eine Ansprechsperson welche da das Auge darauf hat.

Auch hier haben wir einfach mal was gemacht, ohne gross zu konzipieren und designen. Hauptsache wir haben eine. Die Anforderung ist primär dass freie Wohnungen darauf ausgeschrieben werden können. Allerdings finden wir dass etwas zu wenig Informationen zur Siedlung selber darauf zu finden sind.

Gehostet im Shared Hosting von Cyon.

Vorteile:
– Funktioniert, intuitiv.

Nachteile:
– Inhaltlich noch etwas blutleer.
– Aber inhaltliche Fragen arten gleich immer in grosse Konzepte aus.

Hosting

Wir benutzen ein klassisches Shared Hosting bei Cyon (Basel) für die interne und externe Webseite sowie für die ganze Mail-Funktionalität und DNS.

Für Applikationen benutzen wir Docker auf einem Hetzner Cloudserver (Deutschland) mit 64 GB RAM und 200 GB Festplattenplatz.

Backups werden auf S3 zu Amazon gemacht.

Wir haben immer ein bisschen das Augenmerk auf Datenschutz und ziehen darum selber gehostete Lösungen vor. Allerdings macht uns diesbezüglich der technische Aufwand zum Unterhalt zu schaffen.

Lücken & Alternativen

Wir haben eine Lücke im Ganzen: Die eigentliche Genossenschaftsverwaltung. Diese passiert zum einen bei unserem externen Verwalter, zum anderen intern in einer Excel-Datei auf der Chischte. Unsere Wohnbaugenossenschaft ist klein genug dass das gerade noch geht, aber komfortabel ist es nicht.

Beispielsweise ist es im Moment nicht einfach, eine Subgruppe unserer Mitglieder anzuschreiben (z.B. alle Mieter im C1 mit Kindern).

Die Buchhaltung ist auch extern gegeben und kostet demensprechend.
Wir sehen uns mehr oder weniger intensiv diese Alternativen an:

Clubdesk

Gehostete Vereinsverwaltungssoftware mit Mailinglistenfunktionalität.

Hitobito

Gehostete oder selber hostbare Verbandsverwaltungssoftware, auf Ruby basierend, Open Source, evt. etwas Overkill für eine Wohnbaugenossenschaft unserer Grösse. Aber würde es erlauben dass sich Themengruppen selber organisieren.

Flink

All-in-one-Lösung für Wohnbaugenossenschaften, sehr spannendes Modell, Open Source, Angular, zusammen gehostet mit anderen Genossenschaften.

Wir haben uns aber noch keine Demo von Flink geben lassen, vielleicht wäre das ein sinnvoller nächster Schritt.

WLAN

Wir haben kein gemeinsames WLAN oder LAN über die ganze Siedlung. Es gibt im Gemeinschaftsraum ein einzelnes WLAN mit eigenem Abo.

Ein einziges Haus hat zu Beginn alle 10 Wohnungen auf Eigeninitiative mit einem LAN verkabelt. (Grosser Switch im Keller, LAN-Kabel durch die Rohre zu den Sicherungskästen gezogen.) Sie teilen sich einen Internetanschluss und benutzen VOIP für die Fixnettelefonie.

Kleinigkeiten

  • Unsere gemeinsame IT-Gruppen-Adresse mit Verteiler hat sich bewährt, damit ist man nicht alleine mit dem Beantworten von Fragen & Anliegen.
  • Wir wollten alle Angebote so niederschwellig wie möglich halten. Beispielsweise die Tauschbörse: Die Lösung via Mailingliste ist ziemlich effektiv. Eine eigenen Webseite dafür würde wohl weniger regelmässig beachtet.
  • Feedback ist immer wieder mal: Man braucht doch nicht eine digitale Lösung, man kann ja auch miteinander reden. Und tatsächlich: Die Offline-Lösungen wie Papierreservation und Anschlagbretter funktionieren auch.
  • Nicht alle haben Email und Internet. Einige unserer BewohnerInnen sind offline und dürfen nicht vergessen gehen.
  • Was ich nach 8 Jahre hier bereue: Keinen Blog geführt zu haben zur historischen Dokumentation.

Für weitere Fragen stehe ich gerne zur Verfügung.