Dieses Weblog ist jetzt genau 1 Jahr alt (erster Artikel am 31.12.2013) und ich möchte den Sprung in's neue Jahr nutzen, um darzustellen, was geschafft wurde und andeuten, wie es weitergehen wird.
Es war von vorneherein klar, dass ich mich schwerpunktmäßig mit Drupal befassen werde, auch wenn ich für andere CMS - z.B. Typo3 - und vor allem auch Frameworks, wie Symfony, offen bleiben werde.
Die ersten Artikel befassten sich deshalb mit relativ trivialen Problemen, die jeder, der Drupal einsetzt, zu Beginn lösen muss.
XAMPP-Stack und Kinderkrankheiten Drupal
Hierzu gehört natürlich die Installation des Systems. Außerdem die Installation eines Wysiwyg-Editor und eines Syntax-Highlighters inklusive der damit häufig leider verbundenen Hakeleien bei Drupal. Diverse kleinere Problemlösungen und Tipps und Tricks im Umfeld Drupal folgten, wie man sie in jedem Techie-Blog findet.
Da meine Zielgruppe nicht nur Profis, sondern auch engagierte Laien sein sollen, die sich vielleicht um das CMS ihres Fußballvereins kümmern wollen oder die eine Internet-Geschäftsidee haben und keinen Technik-Partner, der ihnen ein System entwickelt und sich deshalb selbst in die Materie einarbeiten müssen, habe ich für die Installation einen XAMPP-Stack vorgeschlagen. Den bekommt man für alle Betriebssysteme, er ist relativ einfach meist intutitv zu beherrschen und wird durchaus auch von der einen oder anderen professionellen Firma im Rahmen von Entwickler-Workflows eingesetzt. Ein Umstieg von dort auf ein gehostetet System ist ziemlich einfach.
In der Praxis wird gerne mit Virtual Maschines gearbeitet. Als Grund wird angegeben, dass man damit die Umgebung des Produktionssystems inklusive Datenbanken, etc. auf dem lokalen Rechner spiegeln kann.
Ich halte das nicht für zwingend. Das Kopieren einer Produktionsumgebung inklusive Datenbank ist auch mit VM nicht gerade trivial und, was den Workflow betrifft, ein sehr zeitfressender Prozess.
Die in diesem Blog vorgestellen Workflows, vor allem die, welche das Staging & Depoloyment betreffen, basieren auf dem XAMPP-Stack. Inwieweit sich diese Vorgehensweise auch für Team-orientiertes Arbeiten eignet, wird vielleicht Gegenstand von Beiträgen im neuen Jahr sein.
Menurolerights: Ein sinnvolles Modul zur Einstellung von Menu-Berechtigungen
Ein kleineres bis mittleres Drupal-Modul wurde entwickelt (menurolerights) für die Einstellung von Menuberechtigungen, das eine Lücke füllt, die beim Einsatz des beliebten Workbench-Moduls entsteht.
Dieses Modul wurde offensichtlich häufig von meinem Git-Repository heruntergeladen. Es gibt einen Link im Help-Menu dieses Moduls auf den zugehörigen Artikel in diesem Weblog, der relativ oft betätigt wurde, wie ich in meinen Referrern entdecken konnte.
Es handelt sich offensichtlich um eine Problemlösung, die durchaus einen Gebrauchswert besitzt.
Integration von Symfony in Drupal 7
Ein Artikel, der es in sich hat, ist der, in dem dargestellt wird, wie man den kompletten Workflow von Symfony schon in Drupal 7 nutzen kann.
Dieser Artikel ist meines Wissens nach weltweit der einzige, in dem eine so weitgehende Integration von Symfony schon in Drupal 7 dargestellt wird.
Das Modul Symfony, welches von der Entwicklergemeinde zur Verfügung gestellt wird, ermöglich nämlich nur den Zugriff auf Symfony-Klassen und ist nach Aussage der Entwickler nur ein Proof of Concept. Die Verwendung z.B. des Console-Tools von Symfony ist damit nicht möglich. Mein Artikel schließt diese Lücke.
Der Core von Drupal 8 ist zum großen Teil in Symfony implementiert. Drupal-Entwickler scheuen sich im Moment noch, sich mit Symfony zu befassen. Man hat sich an die klare und einfache Art der aspektorientierten Drupal-Programmierung und das zugrundeliegende PAC-Paradigma (Presentation Abstraction Control) gewöhnt, so dass manche sich fragen, welche Vorteile ein MVC-Paradigma für Drupal überhaupt bringt.
Diese Argumente sind nicht ganz unberechtigt, aber es wird nichts helfen. Wer also jetzt schon zukunftssicher Module entwickeln will, der sollte auch für Drupal 7 schon das Symfony-MVC als Architekturprinzip für seine Module in Erwägung ziehen.
Installation von Piwik als Alternative zu Google Analytics
Auf verhältnismäßig großes Leserinteresse trafen meine Artikel zum Thema Piwik. Das hat mich überrascht, aber offensichtlich ist die Nachfrage nach unabhängigen Webanalyse-Tools ziemllich hoch.
Ich selbst bin gegenüber Piwik wieder etwas skeptischer geworde. Ich schaue kaum noch rein. Das System ist leider sehr träge und langsam und wie und was gefiltert wird, ist auch nicht sehr transparent.
Ich habe mir deshalb selbst ein kleines Analyse-Tool geschrieben. Vielleicht stelle ich das hier auch vor, wenn es noch etwas runder geworden ist. Es besteht im wesentlichen darin, schnell Filter einzustellen, um überflüssigen Spam und Suchbots wegzuklicken. Von dem, was übrig bleibt, lohnt sich dann stichprobenartig nachzuschauen, aus welchem Land bzw. welcher Stadt die Links kommen. Ausgewertet dafür werden die Daten des Statistik-Moduls von Drupal, welche für 3 Tage alle einkommenden IP-Adressen speichert.
Ich weiß, dass sich das ein wenig mit den Datenschutz-Hinweisen unten beisst. Ich müsste das dort vielleicht etwas genauer erklären. Mach ich vielleicht auch im nächsten Jahr. Aber ich kann hier versicheren, dass die IP-Adressen höchsten 3 Tage im Drupal-Speicher aufbewahrt werden (dass werden sie bei meinem Hoster ja sowieso auch aufgrund gesetzlicher Bestimmungen noch wesentlich länger) und sie dienen mir hauptsächlich dazu, einen groben qualitativen Überblick zu bekommen, welche Artikel überhaupt interessant sind.
Kleine Grunt-Einsteiger-Reihe zur Automatisierung von Workflows
Auf Interesse laut Statitik-Modul stoßen offensichtlich auch einige Artikel meiner kleinen Grunt-Reihe. Die habe ich unter dem Aspekt geschrieben, eine zum XAMPP-Stack passende Lösung für Upgraden, Maintenance, Staging & Depoloyment und Continous Integration zu finden.
Ich habe zwar keine Universal-Lösung hierfür vorgestellt - dies würde auch nicht funktionieren, weil jeder andere Bedürfnisse hat - sondern versucht, im Rahmen der Reihe, die wie ein einführendes Tutorial aufgebaut ist - die Know-How-Bausteine zu vermitteln, mit denen sich jeder selbst seine Lösung auf den Laib schneiden kann. Qualifzierung zur Selbsthilfe sozusagen.
Die Vermittlung von Lösungskompetenz - wie wir ehemaligen Arbeitswissenschaftler zu sagen pflegen - geht dabei so weit, dass der Leser am Ende für sich eine Lösung entwickeln kann, die komplett ohne Consolen-Kommandos auskommt. Sichtbar wird dies allerdings erst, wenn ich einen etwas umfangreicheren Artikel dazu im nächsten Jahr fertiggestellt habe.
Meiner Meinung nach werden damit einige komplette Systeme z.B. für Continous Integration überflüssig.
Etwas Node.js
Wann man sich schon ausführlich mit Grunt befasst, kann man auch gleich Node.js erlernen. Grunt ist ja nichts anderes, als eine Node.js Anwendung.
Node.js eignet sich hervorragend dafür, für Grunt eine GUI zu entwicklen. Es wird im nächsten Jahr ein entsprechender Lösungsansatz vorgestellt, den jeder nach seinen Bedürfnissen ausbauen kann.
Erstaunlicherweise habe ich hiefür noch nichts ähnliches gefunden. Denkbar sind Einsatz-Möglichkeiten, die weit über Staging & Deployment, Continous Integration und Maintenance für die Webentwicklung hinausgehen. Dazu aber im nächsten Jahr mehr.
Einsteiger-Tutorials für die Entwicklung hybrider Web-Apps
Einem ähnlichen Ansatz wie die Grunt-Reihe folgt die Beitragsreihe, die sich mit der Entwicklung von hybriden Web-Apps auf Basis von Html5, CSS3 und Cordova (PhoneGap) befasst.
Die vorgestellte Vorgehensweise und die Workflows setzen die NetBeans-IDE voraus, eine Entwicklungsumgebung, die für die oben schon skizzierte Zielgruppe sowieso sehr zu empfehlen ist. NetBeans ermöglicht den Einsatz vieler moderner Web-Technologien mit wenig Einarbeitung.
Die Artikel der Reihe hybride Apps wird im nächsten Jahr fortgesetzt.
Einen gute Rutsch in's neue Jahr
In diesem Sinne wünsche ich allen Lesern, die sich auf dieses Weblog noch sehr spärlich verirren und hoffentlich nächstes Jahr mehr werden, ein erfolgreiches und fröhliches neues Jahr.