Drupal, als mächtiges Framework für Webanwendungen wie es heute aus gutem Grund bezeichnet wird, wurde ursprünglich als Community CMS auf den Markt gebracht. Dank Übercart (Drupal 6 oder Drupal Commerce für Drupal 7) existiert neben zahlreichen Community-Modulen ein umfangreiches Framework zur Entwicklung von Webshops und umfassenden E-Commercesystemen.
Der Ansatz ein Social-Commerce Portal mit Drupal zu erstellen ist zunächst nicht sonderlich komplex. Wie gewohnt erstellt man eine Community mit den "üblichen" Modulen und erweitert diese um einen Shoppingbereich mit dem Modul Übercart. Nun wäre der nächste Schritt, den Benutzern das Recht zu geben, Artikel im Shop zu erstellen um diese dort zu verkaufen. Diese werden zunächst unveröffentlicht "geparkt" und müssen von einem Shop-Admin freigeschaltet werden (das Erstellen von Provisionsabrechnungen sollte ein eigenes, hiervon unabhängiges Thema sein). Soweit so gut. In den meisten Fällen werden diese Produkte downloadbare Produkte, also Dateien sein. Auch das unterstützt Übercart mit einem File-Feature (nicht zu verwechseln mit den herkömmlichen Features des Moduls Features). Und genau hier beginnt der Usability-Gau. Das Filefeature erlaubt dem Benutzer beim Einstellen eines Produktes, eine Datei auszuwählen, die in einem Ordner auf dem Server liegt. Aus Sicherheitsgründen sollte dieser Ordner nicht im Document-Root liegen sondern in einem Ordner, auf den der Benutzer nicht über die URL zugreifen kann (daher auch der Umweg über ein File Download Feature, denn würde man die Datei standardmäßig per Filefield hochladen, landet sie in einem Ordner des Document-Root). Andernfalls wäre es möglich, die Datei einfach herunterzuladen und die Zugriffskontrolle "wurde die Datei vom Benutzer gekauft" zu umgehen.
Dieses Verlinken einer Datei auf dem Server zu einem Product Node als File-Feature hindert einen schnell daran, diese Funktion umzusetzen, denn es setzt voraus, dass sich die zu verkaufende Datei bereits auf dem Server befindet. Alternativ benötigt der evtl. anonyme Reseller einen FTP Account zum Product File Ordner auf dem Server. Sehr unschön das Ganze. Ansätz gabe es bereits in der Community - es wurde diskutiert, ob nicht ein Filefield genutzt werden soll, um Dateien an einen Product Node zu hänge um die Datei zu verkaufen. Der Ansatz schien auch mir am sinnvollsten und so ist das Modul uc_fielefield entstanden. Leider noch nicht ganz ausgereift aber schon in Projekten im Einsatz (nur für Drupal 6 zunächst).
Und das macht dieses Modul:
Zu einem Product Node wird ein Filefield erstellt (muss manuell getan werden). An diesem Filefield kann in den Fieldsettings unter "File as Product Feature" dann ausgewählt, ob das Filefield am Product-Node verwendet werden soll um die angehängte Datei zu verkaufen.
Nun wird automatisch das Feature Tab im Product Node ausgeblendet, denn alles soll ja nun über das Filefield laufen und nicht mehr umständlich über das Download Feature. Wird der Node gespeichert, wird die zum Verkauf im Filefield hoch geladene Datei in den Ordner verschoben, der von Übercart und dem File Download Feature angelegt wurde. Außerdem wird die Datei automatisch als Feature angehängt.
Wird die Datei entfernt, wird auch das Feature automatisch entfernt.
Mit diesem Modul wurde die oben beschriebene Hürde der Usability genommen. So kann man nun Resellern ein gewöhnliches Node-Formular an die Hand geben, in welchen diese einfach Ihre Dateien hochladen um Sie als downloadbares Produkt anzubieten.
| Anhang | Größe |
|---|---|
| uc_filefield.zip | 5.48 KB |












Kommentar hinzufügen