Browser-Skripting mit Puppeteer
Freitag, 08. Juni 2018

Wenn es darum geht, Arbeiten mit einem Browser zu automatisieren, dann kommt man mit sogenannten Headless Browsern in Berührung. Hierbei geht es darum, die Fähigkeiten eines Browsers nicht mit Maus und Tastatur zu nutzen, sondern die Bedienung mit Skripten fernzusteuern. In diesem Bereich gab es längere Zeit nur wenig mächtige Alternativen. Mit PhantomJS haben wir den de-facto Standard verwendet. Dieser wird nun allerdings nicht mehr weiterentwickelt und so wurde es Zeit für etwas Neues.



Zikula 1.5.7 und 2.0.7 veröffentlicht
Montag, 28. Mai 2018

Die zwei neuen Versionen bringen keine funktionalen Änderungen mit sich, beinhalten aber einige Sicherheitskorrekturen, welche unlängst in Symfony Einzug gehalten haben. Zikula 1.5.7 wurde daher auf Symfony 2.8.41 aktualisiert, während Zikula 2.0.7 die Symfony-Version 3.4.11 mitbringt.

Als Cross-Release wurden neue Versionen für die 1.5er und die 2.0er Linie des Zikula Cores veröffentlicht. Zikula 1.5.x basiert auf Symfony 2.8 und beinhaltet eine Kompatibilitätsschicht für ältere Erweiterungen und Anwendungen. Zikula 2.0.x verwendet hingegen Symfony 3.4 und bietet keinen Legacy-Support.  Beide Updates bringen diverse Aktualisierungen verwendeter Drittkomponenten und auch einige Korrekturen. Weitere Details finden sich auf der Projektseite.


Grundlegende Anpassungen im Hinblick auf die DSGVO
Dienstag, 15. Mai 2018

Mittlerweile hat sicherlich jeder bereits von der neuen EU-⁠Datenschutzgrundverordnung (DSGVO) gehört, welche ab dem 25. Mai 2018 anzuwenden ist und für alle Länder Europas ein einheitliches Recht im Datenschutz schafft.

Betroffene Unternehmen und Institutionen müssen sich für diese Verordnung in vielerlei Hinsicht vorbereiten. Zum Beispiel steht eine Prüfung interner Prozesse an und mit Kooperationspartnern bzw. Subunternehmern müssen neue Auftragsverarbeitungsverträge geschlossen werden. Außerdem stehen hierbei natürlich auch die Internetseiten im Fokus, insbesondere da sie in der Regel komplett öffentlich einsehbar sind.



Zikula 1.5.6 und 2.0.6 veröffentlicht
Freitag, 13. April 2018

Als Cross-Release wurden neue Versionen für die 1.5er und die 2.0er Linie des Zikula Cores veröffentlicht. Zikula 1.5.x basiert auf Symfony 2.8 und beinhaltet eine Kompatibilitätsschicht für ältere Erweiterungen und Anwendungen. Zikula 2.0.x verwendet hingegen Symfony 3.4 und bietet keinen Legacy-Support.  Beide Updates bringen diverse Aktualisierungen verwendeter Drittkomponenten und auch einige Korrekturen. Weitere Details finden sich auf der Projektseite.


Ich bin nun auf Patreon
Montag, 26. März 2018

Auf Patreon wird via Crowdfunding die Arbeit von Personen und/oder Projekten unterstützt, die einem am Herzen liegen. Damit besteht hier auch die Chance, dauerhaft mehr Zeit für Aktivitäten im Open Source Bereich zu gewinnen. Wenn diese finanziell gefördert werden, muß im Gegenzug weniger durch bezahlte Kundenprojekte verdient werden.

Daher habe ich auch eine Patreon-Seite eingerichtet, über die Ihr meine Tätigkeiten für Zikula und ModuleStudio unterstützen könnt: https://www.patreon.com/guite So könnt Ihr dazu beitragen, dass ich mehr Fokus und Energie in das Ökosystem von Zikula einbringen kann, zum Beispiel für die anstehende Umstellung des Content-Moduls.


Alle noch im Winterschlaf?
Donnerstag, 15. März 2018

Gegenwärtig passiert nicht wirklich viel Spektakuläres. Dennoch sind einige Aktivitäten im Gange. Dieser Beitrag gibt einen kurzen Überblick.

  • Im Zikula Core wurden nach dem letzten Cross-Release zwischenzeitlich neue Vendor-Updates eingespielt. So gab es unter anderem bereits neue Symfony Upgrades für Zikula 1.5.6 und 2.0.6.
  • Bei ModuleStudio sind seit dem Release von 1.3.0 ein paar kleinere Änderungen für 1.3.1 eingeflossen. Auch wenn diese recht bescheiden aussehen, so ist es doch die Summe der kleinen Dinge, die im Ergebnis die Qualität des Produktes ausmacht ;-) Es scheint, als wäre nun ein Momentum erreicht, was Stabilität und Funktionsumfang anbelangt. Im Tracker finden sich auch fast nur noch Feature Requests, die nicht allzu eilig sind.

Aktuell bin ich noch in Kundenprojekten eingespannt, wobei ein größeres Projekt bald abgeschlossen sein dürfte. Ich hoffe, dann endlich mehr Zeit für das Content-Rewrite zu finden.


Zikula 1.5.5 und 2.0.5 veröffentlicht
Samstag, 24. Februar 2018

Als Cross-Release wurden neue Versionen für die 1.5er und die 2.0er Linie des Zikula Cores veröffentlicht. Zikula 1.5.x basiert auf Symfony 2.8 und beinhaltet eine Kompatibilitätsschicht für ältere Erweiterungen und Anwendungen. Zikula 2.0.x verwendet hingegen Symfony 3.4 und bietet keinen Legacy-Support.  Beide Updates bringen diverse Aktualisierungen verwendeter Drittkomponenten und auch einige Korrekturen. Weitere Details finden sich auf der Projektseite.



Rewrite von Content geplant
Mittwoch, 17. Januar 2018

Eines der wichtigsten Module für Zikula ist Content, da es in vielen Projekten als gemeinsames Dach fungiert und Inhalte aus unterschiedlichen Quellen in eine einheitliche Schnittstelle zu den Redakteuren bringt. Daher ist es unabdingbar, dieses Modul fit für die aktuelle Generation Zikula 2.x zu machen.

In den letzten Wochen haben wir überlegt, was konzeptionell für eine neue und modernisierte Version 5 des Content-Moduls notwendig ist. Anfang Januar ging es dann endlich an die ersten Schritte: die Modellierung des Moduls. Der aktuelle Zwischenstand des ModuleStudio-Modells ist auf GitHub verfügbar. Auch bei der Projektplanung bzw. der Ticketverwaltung wurden bereits erste, noch geringfügige Schrittchen gemacht.

Gegenwärtig sind wir in Kundenprojekten eingebunden. Sobald sich zeitlich eine Lücke auftut, werden wir mit der Umsetzung beginnen.


Automatisierte Tests - ein Zwischenstand
Mittwoch, 27. Dezember 2017

Seit dem kürzlich angekündigten Start der Testautomatisierung von ModuleStudio ist bereits eine Menge geschehen. So gibt es knapp 1.000 Tests für die DSL, darunter vorwiegend für UI-unabhängige Komponenten, wie den Parser, den Serialisierer, den Formattierer und die Validierungsregeln. Hier haben wir eine Testabdeckung von etwa 95% erreicht und konnten einige Fehler in der Validierungsschicht beheben.

Auch der Generator wird bereits mit einer Abdeckung von über 90% getestet. Hier ging es bislang allerdings vorwiegend darum, möglichst viele Varianzen zu durchlaufen, um zum Beispiel Null Pointer Exceptions zu verhindern. Weitere Tests für einzelne inhaltliche Aspekte werden dann nach und nach auf der Basis von spezifischen Bug Reports ergänzt.

Insgesamt ist damit eine recht gute Grundlage für weitere Maßnahmen zur Qualitätssicherung gelegt. Es gibt übrigens auch bereits über 100 UI-Tests, allerdings wird dieses Thema erst zu einem späteren Zeitpunkt fokussiert.



Ran an die Tests!
Freitag, 01. Dezember 2017

Schon ewig geplant, aber lange schmählich vernachlässigt, habe ich bei ModuleStudio die automatisierten Tests. Zwar ist schon seit Längerem die Infrastruktur dahingehend ausgerichtet, was beispielsweise die Git-Struktur und die Jenkins-Pipelines anbelangt, allerdings bringt das relativ wenig, wenn es fast nur Dummy-Tests ohne jeglichen Inhalt gibt.

Da ModuleStudio 1.1.0 kürzlich veröffentlicht wurde, konnten danach in der Entwicklungsversion 1.2.0 einige Altlasten entfernt werden. Da hat es sich im Hinblick auf Timing und Ausgangslage angeboten, endlich zu starten.


Kategorien in Zikula - weit mehr als nur Themen
Freitag, 10. November 2017

Der Zikula Core enthält eine zentrale Verwaltung für Kategorien, mit denen man vielfältige Lösungen umsetzen kann. Die häufigste Verwendung von Kategorien ist sicherlich eine thematische Zuordnung von Inhalten. So lassen sich beispielsweise Newsartikel unterschiedlichen Themengebieten zuordnen. Dieser Artikel ist etwa in der Kategorie "Grundlagen und Best Practices". Im Folgenden wird ein Überblick darüber gegeben, was sich darüber hinaus noch alles mit Kategorien machen lässt.


Vereinfachung der DSL in Bezug auf Variablen
Donnerstag, 02. November 2017

Gegenwärtig arbeiten wir an der Konzeption einer Änderung in der Modellierungssprache von ModuleStudio, die uns schon seit Längerem umtreibt. Noch aus der Anfangsphase des Projektes gibt es neben den Feldern einer Entität auch Elemente für Variablen, die zentrale Konfigurationseinstellungen repräsentieren. Diese Variablen wurden bislang allerdings eher stiefmütterlich behandelt. Anstatt diese nun weiter aufzubohren, geht die Strategie eher in die Richtung, die normalen Feldtypen auch für Variablen wiederzuverwenden.


Schwerpunkt Marketing beim Camp Zikula 2017
Montag, 23. Oktober 2017

Am vergangenen Wochenende fand wieder das alljährliche Treffen der "Zikulaner" statt. Nach der obligatorischen Vorstellung der Neuigkeiten im Zikula Core seit dem letzten Jahr wurde der Prototyp der neuen Website des Projektes betrachtet und besprochen, welche Feinjustierungen hier noch bezüglich Struktur und inhaltlicher Aussage vorgenommen werden sollten.



DataGrid für Bootstrap
Mittwoch, 20. September 2017

Für ein Projekt habe ich kürzlich mehrere DataGrid-Komponenten im Hinblick auf den funktionalen Umfang, die Aktivität der Entwicklung und den Grad der Anpassbarkeit verglichen. Einige Kandidaten in der engeren Auswahl waren unter anderem SlickGrid, DataTables, bs_grid und jQuery Bootgrid. Für mich hat aber Bootstrap Table das Rennen gemacht. Es bietet eine ganze Reihe Extensions, bleibt dabei aber immer nahe an einer responsiven Bootstrap-konformen Darstellung. Vielleicht hilft dieser Tipp ja dem ein oder anderen, der eine ähnliche Funktionalität benötigt.



ModuleStudio 0.7.5 und 1.0.0 veröffentlicht
Montag, 31. Juli 2017
Bild 0 für ModuleStudio 0.7.5 und 1.0.0 veröffentlicht

Die Woche hat mit einem doppelten Paukenschlag begonnen! Was bereits angekündigt worden war, ist nun tatsächlich eingetreten: heute Morgen wurde zunächst ModuleStudio 0.7.5 veröffentlicht, mit Support für Zikula 1.4.x, 1.5 und 2.0. Anschließend kam direkt ModuleStudio 1.0.0 hinterher; das ist quasi identisch mit 0.7.5, allerdings ohne die Unterstützung für Zikula 1.4. Im Laufe der Woche erscheinen auch Zikula 1.5.0 und 2.0.0 final - dann ist der Weg frei für begleitende Marketing-Maßnahmen, um das Tandem "Zikula + MOST" zu pushen.


ModuleStudio-Releaseplan und Website-Design
Sonntag, 16. Juli 2017
Bild 0 für ModuleStudio-Releaseplan und Website-Design

In den nächsten Tagen werden Zikula 1.5.0 und 2.0.0 als Cross-Release erscheinen. Beide Versionen sind funktional identisch. Der Unterschied liegt darin, dass der Unterbau von Zikula 2 auf Symfony 3 basiert, wohingegen bei Zikula 1.5 weiterhin Symfony 2.8 zum Einsatz kommt. In Zikula 2 ist ferner jegliche Legacy-Unterstützung entfernt worden.

Aus Marketing-Gründen haben wir schon länger besprochen, dass zusammen mit Zikula 2.0 auch ModuleStudio 1.0 zur Verfügung stehen sollte. Daher geht meine Überlegung in die Richtung, dass zunächst ModuleStudio 0.7.5 veröffentlicht wird, welches alle aktuellen Generator-Fixes beinhaltet. Anschließend wird der Support für Zikula 1.4.x aus der DSL entfernt, welche aktuell noch als Standard eingestellt ist. Statt dessen wird per Standard für Zikula 2.0 generiert und weiter die Möglichkeit geboten, auf 1.5 umzustellen. Nach dieser kleinen Änderung wird dann ModuleStudio 1.0.0 direkt nach 0.7.5 das Licht der Welt erblicken.

Übrigens haben wir das Design der ModuleStudio-Website geringfügig optimiert, um dem Layout etwas mehr Halt zu geben, das Produkt auf der Startseite ansprechender darzustellen und den Fußbereich aufzuräumen.


Probleme mit Error Tracking proaktiv erkennen
Dienstag, 11. Juli 2017

Sobald ein Programm oder eine Internetseite erst einmal produktiv verwendet wird, stellt sich heraus, ob alle Eventualitäten bedacht sind oder ob doch etwas nicht berücksichtigt worden ist. Spätestens wenn sich Kunden oder Nutzer mit Reklamationen oder Klagen melden, wird klar, dass hier und da vielleicht nicht alles zu Ende gedacht wurde oder die automatisierten Tests eben nicht alle Fälle abgedeckt haben. In diesem Beitrag geht es darum, wie man Fehler, Warnungen und anderweitige Probleme früh erkennen kann.


Verschlüsselung mit Let's Encrypt
Samstag, 01. Juli 2017

In den letzten Tagen haben wir eine Reihe von Internetseiten auf einen neuen Cloud-Server umgezogen. Damit profitieren alle Seiten von einer verbesserten Ausfallsicherheit und Skalierbarkeit.

Außerdem werden nun alle Seiten per Standard mit Zertifikaten von Let's Encrypt ausgestattet, welche automatisch erneuert bzw. verlängert werden. Auch die Verbindung zu diesem Blog sowie zur Homepage von ModuleStudio läuft daher jetzt via https.


« 1 2 3 4 »
^