Der kommende Release von Drupal zeichnet sich Schritt für Schritt ab. In der Version 7 wurde der Kern um zahlreiche Features erweitert. Dies ist genau der richtige Moment um neue Architekturen und Konzepte anzugehen und Weichen für die Zukunft zu stellen.
Das neue Fields-Konzept ist beeindruckend und perfektioniert für allgemeine Entitäten, was man unter Drupal 6 von Beiträgen (Nodes) mit Inhaltstypen und Feldern (CCK) kennt. Weil z.B. nun auch ein Kommentar eine solche Entität ist, kann man ihn mit neuen Feldern versehen.
Projektidee "Properties"
Das Fields-API definiert Felder und Feld-Instanzen welche Bundles zugeordnet sind. Ein Bundle wird z.B. einem Inhaltstyp zugeordnet, was dazu führt, dass alle Instanzen dieses Typs (Node) identische Feld-Instanzen haben.
Bei der Untersuchung von Online-Shop-Architekturen zeigt sich neben dem Bedürfnis nach fundamentalen gleichbleibenden Produkte-Feldern und Freitext wiederholend ein Bedürfnis nach halbstrukturierten Produktdaten.
Ein moderner Produktekatalog visualisiert dem Shop-Nutzer Produkteigenschaften (speziell technische Daten) in tabellarischer Form und erlaubt auch tabellarische Produktevergleiche. Beim Durchsuchen der Produkte können dynamische Facetten die Suchresultate zusätzlich verfeinern (Facettensuche).
Die Idee "Properties" soll nun ein Feldtyp definieren, welcher eine Sammlung von kategorisierbaren Attributen darstellt. Diese Attribute können pro Entitäts-Instanz (z.B. ein Node) variieren. Je nach Produkt können also freie Eigenschaften abgebildet werden.
Ohne dieses Konzept müssten für ein reales Shopsystem mit vielseitigen Produkten sehr viele Nodetypen definiert werden. Die Durchsuchbarkeit hält sich in Grenzen und das System wird extrem schwergewichtig. Die starren Produktetypen entsprechen zudem nicht den Bedürfnissen, da häufig Mischproduktformen existieren. Wird z.B. in einem Shop ein Handy zum Smartphone, sind unzählige neue Features möglich, welche auch in den technischen Daten vergleichbar abgebildet werden sollen. Die konkreten Features und Eigenschaften können dabei von Modell zu Modell variieren.
Eine erfolgreiche Umsetzung dieses Basismoduls könnte Drupal eine neue Basis für komplexe E-Commerce-Projekte geben.
Durchführung der Semesterarbeit
Die Idee wurde als Semesterarbeit an der HSLU ausgeschrieben (siehe Anhang). Nach erfolgreichem Auswahlprozess und Projektvergabe, wird das Projekt definitiv zwischen dem 23.09.2010 und dem 23.12.2010 durchgeführt.
Erste Schritte der Umsetzung zeigen, dass die Umsetzung des Teams die Idee optimal trifft und sämtliche ursprünglichen Ideen betreffend Nutzbarkeit sogar noch übertroffen werden.
Wir hoffen, dass dieses Modul bald eine grosse Nutzergemeinde findet und die wollen nach Projektabschluss auch längerfristig die Entwicklung gemeinsam mit Kunden und Community vorantreiben.
Team
Folgende Studenten haben sich für das Projekt entschieden:
Sascha Grossenbacher, Informatik, HSLU
Peter Stöckli, Informatik, HSLU
Die Arbeit wird betreut durch:
Roland Gisler, Dipl. Inf. Ing. HTL, Dozent HSLU
Quellen
Properties (Github)
https://github.com/Berdir/properties
Hochschule für Technik Luzern (HSLU)
http://www.hslu.ch/technik-architektur
Fields in core
http://drupal.org/community-initiatives/drupal-core/fields
Field API
http://api.drupal.org/api/drupal/modules--field--field.module/group/field/7
Modul CCK
http://drupal.org/project/cck