Das Örtchen RSS-Feed
Suchen
Blog
Ähnliche Beiträge
Neueste Kommentare
Neueste Einträge
Populäre Einträge
Tagwolke
addon auswertung barcamp blog bug cms cms made simple datenkrake drupal feed film firefox frickeln friday gewinnspiel hardware how-to individualisierung meinung mmo modul nas php problem rss se7en server sicherheit sicherung software spiel teil theme trailer unterhaltung update windows windows 7 wordpress wow
Monatsarchiv

Webentwicklung: DrupalCamp 2012 und es kam alles anders

Wie schon letzten Sonntag geschrieben, gönne ich mir derzeit ein verlängertes Wochenende und besuche das DrupalCamp Essen 2012. Durch Krankheit, zu spätes Erscheinen und andere Problemchen konnte ich meine Session-Planung nahezu komplett in die Tonne treten. Zudem habe ich nach den ersten Sessions entschieden, die doch eher technischen Themen zu bevorzugen (auch wenn der Vortrag auf englisch stattfindet).

10:15 Uhr - Session 1

Ricardo Kelling:
"Module mit Hilfe von cTools Plugins erweitern" (deutsch)

Hooks

Zur Nutzung der cTools-API müssen drei Hooks eingebunden werden:

  • hook_ctools_plugin_api
    aktiviert cTools-Unterstützung
  • hook_ctools_plugin_type
    registriert eine Art "Namespace" (mehrere möglich)
  • hook_ctools_plugin_directory
    Rückgabewert ist der Pluginordner

Plugininhalt

  • Assoziatives Array $plugin zur Plugin-Einbindung/-Konfiguration
  • eigentlicher Plugin-Code

Weiterführende Infos

  • Nachschlagemöglichkeiten
    Advanced Help-Modul oder Example-Modul
  • Anwendungs-Beispiel
    Erweiterung von Panels

Meinung

Mir persönlich ging die Session nicht weit genug und trotz des kleinen Codebeispiels hätte sie etwas handfester sein können (z.B. mehrere Anwendungsfälle). Ich bin jedoch auf jeden Fall neugierig geworden und werde hoffentlich bald etwas Zeit finden, um mit der Materie zu experimentieren.

11:00 Uhr - Session 2

Moses:
"Beginning with Drupal Commerce" (englisch)

  • Projektseite
  • Es gibt fertige Installationsprofile zum Testen.
  • Die Einarbeitung kostet eine Weile, da man mehrere Konzepte verstehen muss (z.B. Entities und Rules).
  • Problematisch ist es Vorschaubilder für private Bilder anzuzeigen
    Lösung mittels create_derivative

Essenz der Session

Grundsätzlich scheint es noch Probleme an vielen Ecken zu geben und ich frage mich, wie es denn mit der Vorbereitung für den deutschen Markt aussieht.

12:00 Uhr - Session 3

Karsten Frohwein:
"Profiling Drupal with devel and xhprof" (englisch)

  • xhprof kompilieren/installieren
  • Devel-Modul installieren und konfigurieren
  • Excl. Wall Time ist die wichtige Angabe
  • drupal_alter -> perfomantere Alternative sind Entities
  • grundsätzlich möglichst wenige Datenbankzugriffe

Essenz der Session

Eine Session-Empfehlung ist der Einsatz des Moduls Entity cache.

Meinung

Dies war bisher die unterhaltsamste Session und der eindrucksvollste Dozent. Am Ende läuft es aus meiner Sicht jedoch auf das Caching möglichst vieler Datenbank-Zugriffe hinaus, da diese im Normalfall die meisten Ressourcen fressen.

14:00 Uhr - Session 4

S. Groetschel:
"Smooth collaboration and deployment using features and git" (deutsch)

Anforderungen

  • Mehrere Entwickler
  • Mehrere Projekte nutzen ein Produkt (Wiederverwendbarkeit)
  • Längerfristige Wartbarkeit
  • Einfaches Deployment
  • Versionierung (Beständigkeit der Daten)

Benötigte Tools

  • Git & Git UI (UI für höhere Akzeptanz)
  • Features
  • Drush (Kommandozeilensteuerung von Drupal)

Vorgehensweise

  1. Developer machine
    Änderungen werden in Features erfasst und mit GIT versioniert
  2. Stage machine
    Reverted alle fünf Minuten alle Features
  3. Live machine
    Initiale Datenbankeinspielung, danach Features-Import mittels GIT

Essenz der Session

Das Feature-Modul ist derzeit noch eine Baustelle und den exportierten Daten ist noch nicht 100%ig zu trauen (teilweise Handarbeit nötig). Features sollte man zum Transport von Strukturen und nicht von Content nutzen.

15:00 Uhr - Session 5

Christian Schramm:
"Drupal Deployment 2.0" (deutsch)

Benötigte Tools

  • Git
  • Jenkins Continous Integration Server
  • Drush (Rsync)
  • Features
  • Strongarm
  • Update- und Drush-Script-Prozessor (soll in ca. 2 Wochen veröffentlicht werden)
  • Inkrementelle Updateskripte
  • SimpleTest

Blog-Beiträge

16:00 Uhr - Session 6

Alex Wilde:
"Behavior Driven Development with Drupal" (englisch)

  • Tests sollten die komplette Codebasis abdecken
  • BDD (Feature-Specs und die eigentlichen Tests werden voneinander getrennt)

Benötigte Tools

Weiterführende Infos

Meinung

BDD ist derzeit für meine Drupalprojekte keine Option, da ich viel zu wenig eigenen Code erstelle, um den grundsätzlichen Overhead zu rechtfertigen.

17:00 Uhr - Session 7

Andreas Dantz:
"Frontend-Entwicklung mit SASS und Compass" (deutsch)

SASS

  • Erlaubt mit SCSS eine CSS-ähnliche Schreibweise
  • Variablen (z.B. für Farbwerte)
  • Basis-Rechenarten sind problemlos möglich
  • Werte können gerundet werden
  • Farben können variiert werden (z.B. Graustufen oder entsättigen)
  • Mittels &:hover kann man den Hovereffekt im Link verschachteln
  • Mixins erlauben Funktionen (z.B. für Vendor-Prefixe)
  • Diese wiederum ermöglichen Default-Angaben für Parameter
  • if-Abfragen (auch else) sind möglich

Compass

Essenz der Session

  • Versionierung
    nur Rohdateien (SCSS)
  • Mac-Editor
    Lokale Kompilierung mit CodeKit
  • Deployment
    Server-Kompilierung mit Capistrano

Weiterführende Infos

Meinung

Eine kurzweilige Session, die einige Dinge erwähnt hat, welche meine Designerin derzeit noch nicht nutzt. Vor allem die Request-Minimierung mittels Compass werden wir uns mal in Ruhe anschauen müssen.

Fazit Samstag

Es war insgesamt ein sehr interessanter und lehrreicher Tag, an dem ich mich vor allem für die Deployment-Strategien begeistern konnte. Im Bereich des Webspace-Hostings (in dem ich tätig bin) nutze ich Git zwar nur zur Versionskontrolle auf meinem Development-Rechner, aber die Erstellung von Installations-Profilen, Features und den Update- und Drush-Script-Prozessor (sobald veröffentlicht) werde ich mir schnellstmöglich genauer anschauen. Sofern ich danach noch etwas mehr Zeit finde, würde mich auch gerne mal mit den Modulen Boxes und Workbench auseinander setzen, welche in der abendlichen Runde Jeopardy auftauchten.

Hallo! Bist du neu hier? Dann abonniere doch den RSS-Feed dieses nicht mehr ganz so stillen Örtchens, um über meine geistigen Ergüsse auf dem Laufenden zu bleiben. Alternativ besteht auch die Möglichkeit, sich von FeedBurner per E-Mail über meine Ausscheidungen benachrichtigen zu lassen.

Kommentar hinzufügen

(If you're a human, don't change the following field)
Your first name.
Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
Der Inhalt dieses Feldes wird öffentlich zugänglich angezeigt, aber als nofollow markiert.
Hinweis

Kommentare beleben den Blog! Ich freue mich über jeden Kommentar. Du kannst hier offen Deine Meinung zum Artikel sagen, aber bitte beachte die Netiquette und vermeide es andere zu beleidigen.

Bitte unterlasst es die Kommentare zu SEO-Zwecken zu missbrauchen. Kommentare mit Links, die nicht zu Blogs führen (oder zu Blogs mit Grauzonen-Themen) und/oder Keywords als Namen verwenden und/oder Links im Kommentarbereich enthalten, sind nicht erwünscht!

Möchtest Du mir einen Blog-Artikel schmackhaft machen, dann schreib die URL ohne Link-Tag und ohne http(s):// in den Kommentarbereich und ich werde diesen bei Gefallen verlinken.

Die ersten vier Kommentare (mit den gleichen Daten bei Name, E-Mail und Blog) landen vor der Veröffentlichung in meiner Freigabe-Warteschlange und ich behalte mir das Recht vor, Kommentare entsprechend dieser Regeln anzupassen oder zu löschen!