Aus der Werkstatt

Wochenrückblick KW27 / 2022

veröffentlicht: 08.07.2022 · Franziska Köppe | madiko

Zeichnung eines Bunsenbrenners mit Kolben an einem Stativ, Reagenzglas mit Setzling und ein Prisma als Symbole für eine wissenschaftliche Werkstatt / Wissensarbeiter:innen. Dazu der Titel Aus der Werkstatt 2022.

Die Themen der Woche: REDAXO Entwicklung – nächster Meilenstein auf dem Weg zum neuen EnjoyWork-Portal ist gemeistert: Eingabe-Logik für Redakteure bei der Auswahl von News. Ich gebe einen tiefen Einblick in die Entwicklung quelloffener Programmierung und meine Fortschritte in der Umsetzung und nachhaltigen Digitalisierung unserer Bewegung und Kooperative. Social Media – Pause. Zeitwohlstand für alle.

Aus der Werkstatt 2022
[ 2022-01-01 Franziska Köppe | madiko ]

Es ist Samstag Morgen, der 16. Juli anno MMXXII. Ich höre klassische Musik. Mich beschäftigt, was sich in den letzten beiden Wochen ereignet hat – die Hochs und die zähen Phasen. Gestern nutzte ich die Zeit, am Kerngeschäft zu arbeiten, statt zu Bloggen. Heute drängt es mich danach, alles aufzuschreiben und den Kopf wieder geradezurücken.* Wohlan!

[ * Letztlich wurde meine Rückblende eine Langstrecke. Ich entschloss mich daher, die Erkenntnisse auf zwei Beiträge – also für die entsprechenden Wochen wie erlebt – aufzuteilen. Es ist dennoch jeweils ein längerer, weil tieftauchender Text. Du bist gewarnt! ]

Nachhaltige Digitalisierung
von EnjoyWork

Ich programmiere weiter fleißig am Online-Portal von EnjoyWork und madiko. Vor zwei Wochen war es mir gelungen, die ersten Versionen meiner REDAXO-AddOns Indexierung und News fertigzustellen. Damit bin ich nun in der Lage, Daten strukturiert in die Datenbank zu schreiben.

Aktueller Schritt ist, mit den eingegebenen Werten weiterzuarbeiten. Konkret geht es mir darum, dass Redakteur:innen über ein Modul die Ausgabe von News mithilfe der zum jeweils hinterlegten Artikel und in der Indexierung ablegten Informationen steuern können.

Eingabe-Logik für Redakteure
bei der Auswahl von News

So sollen natürlich erst einmal nur die News angezeigt werden, die mit “online” markiert sind und das Veröffentlichungsdatum erreicht haben. Auf diese Weise gehen Nachrichten automatisiert online, die vorbereitet wurden. Beziehungsweise werden Meldungen ausgeblendet, die als offline kenntlich gemacht sind.

Dabei folge ich dem inzwischen allgemein zu beobachtenden Standard, dass – anders als in Social Media – auf Internetseiten neueste News oben bzw. am Anfang der Leserichtung im europäischen Raum stehen. Es ist denkbar, auch das von Redakteur:innen steuern zu lassen. Ich verzichte in meiner Programmierung bewusst darauf und gebe das vor. Sollte sich zukünftig ein anderer Trend herauskristallisieren, ist es leicht, das zu ergänzen.

Zudem soll es möglich sein, über das News-Redaktionsmodul zu steuern, welche News aus der Datenbank ausgegeben werden:

  • in beschränkter Zahl der Nachrichten (z. B. nur die neusten 3/6/12… oder eben alle),
  • News eines spezifischen Typs (z. B. nur Interviews, Fachbeiträge, Blogbeiträge usw.),
  • News zu einem gewählten Thema (z. B. Blogbeiträge “Aus der Werkstatt” oder Fachbeiträge zu “Biodiversität” oder einem anderen über die Indexierung vorgegebenen Themenfeld),
  • und alle Spielarten in Kombination natürlich…

Das Ganze wird um Fragen zum Design im Frontend ergänzt – also das, was Nutzer:innen des Portals sehen –, beispielsweise

  • ob die einzelnen Meldungen als Karte, als Liste oder oder oder dargestellt werden…
  • welche Details die Übersicht enthält, ergo ob sie – neben Überschrift und Datum der Veröffentlichung – das Foto, einen Anreißer-Text, die Autor:innen usw. anzeigt,
  • ob die Fotos in Graustufen umgewandelt werden,
  • wie viele News auf kleinen / mittleren / großen Displays jeweils pro Zeile angezeigt werden.

HEUREKA!
Ein großer Meilenstein ist gemeistert

Diese Vorüberlegungen verdeutlichen die Komplexität der Software-Entwicklung. Es ist an sehr viel zu denken. Alles spielt ineinander und muss von mir in eine logische Reihenfolge zum Abarbeiten in der Applikation gebracht werden. Dabei handelt es sich für die Programmierung des EnjoyWork-Portals noch um eine der leichteren Herausforderungen ;-)

Am Donnerstag gelang es mir dann erstmals, eine Eingabe-Maske für Redakteur:innen so zu programmieren, dass auf die über die AddOns angelegten Datenbank-Tabellen, die -Felder und Datensätze zugegriffen wird. HEUREKA! Was für ein grandioser Erfolg. Ich kann es noch immer nicht glauben. Darauf habe ich so lange schon hingearbeitet.

Den Freitag nutzte ich, um das, was ich als Code-Snippet erarbeitet hatte, auf alle Elemente für die Eingabe-Maske zu übertragen. Fleißarbeit, die hohe Konzentration erfordert. Ich nutzte es zugleich als Übung, die Aufgabe neun Mal zu wiederholen. Damit erhoffe ich mir, dass sich der Ansatz festigt. Spickeln war erlaubt.

Am Freitag Abend konnte ich dann hoch zufrieden aufs Werk der Woche blicken: Wieder ein großer, wichtiger Meilenstein gemeistert auf dem langen Weg zur Online-Plattform von EnjoyWork.

Bildschirm-Schnappschuss einer Eingabemaske mit unterschiedlichen Feldern.. Bild: cc Franziska Köppe | madiko

REDAXO Modul "News": Eingabe für Redakteur:innen
[ 2022-07-16 Franziska Köppe | madiko ]

Was waren dabei die Herausfordernungen und wie löste ich sie?

REDAXO Modul “News”:
Eingabe-Maske für Redakteur:innen
im Backend

Das Redaktionsmodul baute ich so auf, dass es “mitlernt” mit den von Redakteur:innen via der AddOns eingegebenen Daten. Die Kunst war, mit der Eingabe-Maske für die Redakteur:innen sowohl auf die Datenbank-Struktur (Tabellen und Spalten) als auch auf die Datensätze zuzugreifen – und das Formular für sie dynamisch zu gestalten.

Dabei war mir wichtig, einen effizienten Ablauf und ein intuitiv zu bedienenden Fragebogen zu programmieren. Dass ich selbst seit vielen Jahrzehnten Redakteurin bin, ist hierbei von enormem Vorteil. Ich kenne die nervtötenden Applikationen von anderen und wusste, worauf ich achten musste. Meine Herausforderung war, meinem hohen Anspruch technologisch gerecht zu werden. Ich bin total glücklich, dass mir das im Modul sogar besser gelungen ist als in den AddOns.*

[ * Letztere hoffe ich nachziehen zu können. Mal schauen, wann ich das JavaScript, das dafür nötig ist, eingebaut bzw. aktiviert bekomme. Da fehlt mir ein Trick, den ich noch nicht durchschaue. Irgendein Zufall wird das sicher auflösen, wenn ich nicht damit rechne. ]

Soweit sinnvoll haben Redakteur:innen im News-Modul gleichwohl die Chance, über das Formular neue Datensätze für die Indexierung anzulegen. Sie müssen dafür nicht ins jeweilige AddOn wechseln, wenn sie dies nicht möchten. So ermögliche ich ihnen, dass sie Daten eingeben, sobald sie im individuellen Arbeitsablauf notwendig werden.

Mithin bleiben sie in ihrem Arbeitsmodus nahe an ihren Bedürfnissen. Das System zwingt sie nicht zu einem Prozess, sondern passt sich flexibel ihren Entscheidungsprozessen an. Sie können ihre Aufgaben im Mono-Tasking fokussiert auf den jeweiligen Arbeitsschritt erledigten. Oder simultan in einem Rutsch.

Ein tief humanistisch-aufgeklärter Ansatz für die Software-Entwicklung also und zentrales Element meiner Hacking-Ethik. Ein Teil der Programmierung, auf den ich stolz bin (sagte sie in aller Bescheidenheit).

REDAXO Modul

REDAXO Modul "News": Eingabe für Redakteur:innen – Widget
[ 2022-07-16 Franziska Köppe | madiko ]

Für das Programmieren einer solchen bedienerfreundlichen Eingabe-Maske bringt das eigene Herausforderungen mitsich. Mit YForm habe ich als REDAXO-Entwicklerin ein sehr mächtiges Werkzeug. Doch genau das war die Herausforderung: Zu lernen, wie ich es sinnvoll und effektiv im Backend einsetze.

In meiner ersten Version der Eingabe-Maske baute ich komplett auf mySQL/PHP-Code und Elementen von MForm (einem weiteren kleveren Developer-AddOn von REDAXO). Dabei stieß ich auf ein für mich unlösbares Problem. Ich wandte mich in unserem REX-Slack an die Community. Binnen weniger Minuten bekam ich einen genialen Tipp, der einen anderen Ansatz für die Umsetzung meiner Aufgabe wählte. Also noch einmal zurück auf Anfang und alles mehr oder weniger komplett neu programmieren. Einschließlich der iterativen Prozesse, mit denen ich gelernt habe, die Software nach und nach zusammenzubauen.

Screenshot Visual Studio Code: Quellcode des Modul-Input für das News-Modul. Bild: cc Franziska Köppe | madiko

Screenshot Visual Studio Code: Quellcode des Modul-Input für das News-Modul
[ 2022-07-16 Franziska Köppe | madiko ]

Ein Umweg, der sich gelohnt hat. Mein Code ist nun nicht nur deutlich schlanker, er ist zukunftsrobuster und update-sicher, wenn ich beispielsweise später auf PHP 8 umstelle. Zudem wird es einfacher, Weiterentwicklungen im Modul einzubauen, ohne an zu viele Stellen im Quellcode Hand anlegen zu müssen.

Meine Frage hatte zahlreiche Antworten und eine rege Diskussion ausgelöst. Unter anderem wurde mir ins Gewissen geredet, meine Progrämmchen in noch kleinere Häppchen aufzuteilen. Weiterhin wurde mir geraten, meinen Quellcode noch detaillierter zu dokumentieren, als ich es ohnehin schon getan hatte.

Den Zusatznutzen von kleinteiligen, gut dokumentierten Code-Snippets habe ich früh erkannt: Es erleichtert zukünftige Anpassungen. Mal ganz davon abgesehen, dass ich mir für die eigene Programmierarbeit das Handwerk erleichtere. Programm-Schnipsel lassen sich schneller erfassen und somit einfacher remixen und für Neues / Erweiterungen adaptieren.

Davon profitiere ich schlussendlich sogar bei Rückfragen. Auch anderen Entwickler:innen fällt es sehr viel leichter, mir im Coding weiterzuhelfen, wenn ihr Aufwand klein ist, meine Aufgabenstellung und das Progrämmchen zu durchschauen – und das Problem zu erkennen. Die Wahrscheinlichkeit, eine Antwort zu erhalten, die mich direkt weiterbringt (ohne mein Problem noch einmal umständlich erklären zu müssen), steigt also immens. Das ist essentiell für “Open Source”-Projekte und nicht zu unterschätzen!

Übrigens ebenfalls ein guter Grund für Software-Entwickler:innen, sich in Open Source Projekten zu engagieren. Da schlummert ein enormes Verbesserungspotenzial und eine steile Lernkurve.

Bei allen Schwierigkeiten, mit denen ich zu kämpfen habe, fand ich unverhofft einen Lichtblick: Mir wurde aus der REX-Community zurückgemeldet, dass die Qualität meines Codes gut ist und ich inzwischen Maßstäbe für andere setzen kann. Wow! Was für ein schönes Kompliment. Eines das mich besonders freut, da es von Menschen kommt, die ich für ihre Fachkenntnisse und Expertise schätze. Danke! Ihr ahnt nicht, wie mich das in den letzten Tagen durch die schwierigen Phasen getragen und motiviert hat, nicht aufzugeben und weiter an mich zu glauben.

Was mich zurück zur Aufgabe bringt. Beim Umsetzen der Tipps fielen mir eine ganze Reihe Dinge auf, die ich in der AddOn-Programmierung verbessern kann. Beispielsweise feilte ich an einer Vervollkommnung der relationalen Tabellen und der Integration meiner beiden AddOns. Die logische Verknüpfung zweier Datenbank-Tabellen und der darin enthaltenen Datensätze ist kein Hexenwerk. Knifflig ist die Logik im Aufbau der Datenbank-Struktur, die ich vorab leisten musste und die mir hier noch einmal Denksport abverlangte.

Ich habe den Anspruch, ein schlankes System aufzubauen. Das dient einem kleinen digitalen wie nachhaltigen Fußabdruck. Gleichwohl war ich wohl zu “lean” unterwegs und musste “anbauen”. Also sprang ich in der Software-Entwicklung wiederholt zwischen Programmieren des Moduls und Weiterentwickeln der AddOns hin und zurück.

REDAXO Screenshot AddOn Adminer: Datenbank-Tabellen für die AddOns Configurator Indexing und Configurator News. Bild: cc Franziska Köppe | madiko

REDAXO Screenshot AddOn Adminer: Datenbank-Tabellen für die AddOns Configurator Indexing und Configurator News
[ 2022-07-16 Franziska Köppe | madiko ]

In diesem Prozess wiederum kommt es vor, dass ich an Grenzen stoße – an Grenzen der eigenen Fähigkeiten und zuweilen an Grenzen des Systems. Diese Erkenntnis war ausgesprochen lustig. Bug or Feature? Über meine Fragen im Slack habe ich für die Entwicklung von REDAXO wohl auch den ein oder anderen Impuls gesetzt in den letzten Wochen. :-)) Eine ebenfalls neue Erfahrung für mich. Ich habe quasi ein höheres Level aufgeschaltet. Das gilt es mit zu verarbeiten in meiner Reflexion, was gerade alles passiert und sich emergent entwickelt. Faszinierend!

Ich zählte die Iterationen im Entwicklungsprozess nicht mit. Vermutlich waren es an die 300… Denn in GitHub stehen für die letzten zwei Wochen allein schon 64 commits – und das sind ja nur die, die ich als erfolgreiche Weiterentwicklungen einstufte. Der Teufel steckt im Detail. Meine Lernkurve ist steil. Gleichzeitig empfinde ich den Prozess weiter als zäh und extrem kräftezehrend. Umso wichtiger, die Erfolge zu feiern!

Ausblick & nächster Schritt

Für die Kalenderwoche 28 stand auf dem Programm: Auslesen und sinnvoll Ausgeben der Ergebnisse der Eingabe im Backend. Also das, was Redakteur:innen im Content Management System angezeigt wird und sie in der Pflege der Seite unterstützt – was sich in diesem Fall fundamental von einem “What you see is what you get” (WYSIWYG) unterscheidet.

Meine Idee beim News-Modul ist, dass Redakteur:innen auf einen Blick erfassen können, was sie in die Eingabe-Maske eintrugen – ohne in den Bearbeitungsmodus des Moduls gehen zu müssen. Das erfordert, dass die Datenbank-Einträge aus den diversen Quellen ausgelesen, zusammengesetzt und aus Maschinensprache “zurückübersetzt” werden in für Menschen verständlichen, sinnvollen Text.

Dazu dann mehr im Bericht “Aus der Werkstatt [ KW28 ]”.

Social Media: Pause

Tazet. Ich beschloss, eine kreative Pause in Social Media einzulegen. Meine Strategie ist ja, das Positive, das Konstruktive, das Bestreben des Menschen nach dem Guten zu teilen. Momentan schwappen mir dort jedoch hauptsächlich die Aufreger, die negativen Emotionen, die Hiobsbotschaften entgegen. Mir fehlt die Kraft, die mir in diesem Spannungsfeld abverlangt wird, mein Fähnchen des Optimismus hochzuhalten. Abstand halten tut wohl.

Zeitwohlstand für alle

Die gewonnene Zeit investiere ich in Bücher. Ich lese zurzeit “Zeitwohlstand für alle” von Stefan Boes – ein großartiges Buch. Dazu spätestens im Herbst mehr.

Zeitwohlstand für alle

Zeitwohlstand bedeutet ein Umdenken im Umgang mit der Zeit: Weg vom Steigern zweckorientierter Effizienz und einem “Zeit ist Geld”. Hin zu “zeitsouveränem Handeln”, bei dem wir selbstbestimmt über unsere Zeit verfügen, unsere verschiedenen Lebens- und Arbeitsbereiche in Einklang bringen, alles in einem angemessenen Tempo tun und in Resonanz mit uns und der Natur gehen.

Eng mit Zeitwohlstand verknüpft ist demnach die Frage, wie wir leben und arbeiten wollen. Welchen Menschen, welchen Aufgaben, welchen Dingen schenken wir Aufmerksamkeit? Betrachten wir Zeit als Konsumgegenstand, den wir verbrauchen und der uns durch die Finger rinnt? Oder betrachten wir Zeit als zyklisch – als Quelle, aus der wir ein Leben lang täglich aufs Neue schöpfen können?

Soziologe und Perspective-Daily-Autor Stefan Boes gibt eine Übersicht über Vergangenheit und Gegenwart soziokulturell geprägter Zeit-Nutzung in Europa und weltweit. Er liefert praktische Modelle für ein Leben in Zeitwohlstand, das allen Menschen offen steht – nicht nur einer privilegierten Oberschicht.

Ein Sachbuch für alle, die nicht einfach ihre individuelle (Arbeits)Lebensführung optimieren, sondern die Transformation zu Lebens- und Arbeitswelten mit Zukunft mitgestalten wollen.

zur EnjoyWork LeseLust

2021-12 · Stefan Boes | Perspective Daily

Zuguterletzt

Nach all der Kopfarbeit wird es Zeit für Musike!

Soweit für heute. Es ist wieder ein langer Blogbeitrag geworden. Als ich mit dem Schreiben begann, hatte ich das so nicht geplant. Danke fürs Lesen. Ich wünsche Dir einen schönen Tag.

Bleib neugierig, gesund und munter,

Hast Du eine Anregung gefunden?

Ich setze mich für den freien Zugang zu Wissen ein. Dieser Artikel zahlt auf das Ziel ein.
Bitte teile ihn in Deinem Netzwerk und werfe Geld in meinen virtuellen Hut.
Auch ein kleiner Betrag macht den Unterschied!

Neugierig was mit Deinem Geld passiert?
Mit der Schwarm-Finanzierung (einmalig via PayPal oder kontinuierlich via steady)
wirst Du Teil der Bewegung und Kooperative WandelMut.

Vielen Dank!

Mehr davon?

Weitere Beiträge “Aus der Werkstatt” findest Du in der Komplettübersicht für alle Jahre.
Hier die neuesten:

Adieu Andreas

2024-02-08

Mein persönlicher Nachruf auf Natenom – lang-jähriger Freund, Weggefährte und Verbündeter im Bestreben, Fahrrad-Fahren in Deutschland sicherer zu machen. Welch Tragik in diesem Satz steckt. Doch von vorn…

Aus der Werkstatt [ KW51 ]

2023-12-22

Die Themen der Woche: Jahres-Endspurt mit Organisatorischem, Sortieren, Lochen, Scannen, Ablegen und Ausmisten. Strukturen und Prozesse für 2024 anlegen. Reflexionen zu meiner Informations-Sammel-Wut als Auftakt zur Besserung hinsichtlich der all-jährlichen Zettel-Wirtschaft. WandelMut: keine Neuigkeiten sind gute Neuigkeiten. Scientists For Future 2024: Ankündigung und Angebote zum Wissens- & Erfahrungsaustausch – inklusive Abwägen der Neuausrichtung unserer Rolle(n). Podcast-Liebe: Kreative Blockaden erkennen und auflösen – Analyse und Lösungsansätze. Zuguterletzt: Endlich ein neues zitatinte.

Aus der Werkstatt [ KW50 ]

2023-12-16

Die Themen der Woche: Keine drehenden Teller für mich: COVID-19 ist nicht vorbei – die gemeinschaftliche Fürsorge von Vulnerablen sowie Eigenschutz. REXlive am Lagerfeuer: REDAXO und Maschinen-Lernen. Mein Engagement für quell-offene Programme: GitHub ausgepackt. Verkehrssicherheit für Radfahrende: zum aktuellen Stand von OpenBikeSensor. PodcastLiebe: WandelMut beim Tagesspiegel, mediasres zu künstlicher Intelligenz. Rechtsanwälte sind die wahren Künstler:innen: konstruktiver Aktionismus vom Zentrum für politische Schönheit. Zuguterletzt: 199 kleine Held:innen.


Ausblick & Flurfunk

Meine Berichte aus der Werkstatt erscheinen unregelmäßig. Ich strebe an, alle ein, zwei Wochen von meiner Arbeit und dem, was mich beschäftigt, zu erzählen. Meine Erkenntnisse und Einsichten zu teilen.

Klingt interessant und Du möchtest auf dem Laufenden bleiben?
Bitte trage Dich in meinen Flurfunk ein, abonniere meinen Web-Feed und folge mir via Social Media.

Interesse geweckt?

Klingt interessant und Du möchtest mehr erfahren? Buche direkt einen Termin mit mir und / oder werde Teil unserer Bewegung:

Ein erstes Kennenlernen

und ins Gespräch kommen
(gratis, jedoch nicht umsonst)

Direkt-Einstieg: Dein Anliegen klären

Ad-hoc-Beratung und Rückenwind für Dein Vorhaben (Mein Honorar bestimmst Du)

Teil der Bewegung werden

Werde Teil der Kooperative WandelMut (Schwarmfinanziert & WertVerträge)