Dienstag, 12 Juli 2011 10:08

xt:Commerce Veyton Community Edition aus der Entwicklerperspektive

geschrieben von 
Artikel bewerten
(0 Stimmen)

Heute haben wir den kostenlosen Online-Shop xt:Commerce Veyton (Version 4) unter die Lupe genommen. In diesem Artikel geht es nicht darum, was dieses Shop-System kann oder nicht, vielmehr aber darum, was xt:Commerce unter Community Edition versteht, denn ohne Zweifel kann diese Shop-Version definitiv mehr, sowohl im Front als auch im Back-End.


Ab dem 1.April 2011 gibt xt:Commerce Veyton Community Edition kostenlos. Jeder kann diese Shop-Version inklusive alle Updates kostenlos nutzen. Hier kann man die Shop-Version runterladen.

Der Installations-Prozess ist nicht mehr so einfach wie bei der alten xt:Commerce 3.04 Version. Hier braucht man vorher auch den IonCube Loader zu installieren. Was wir nicht ganz schön finden, dass auf der Seite der Community Edition gar kein Wort darüber erwähnt ist. Beim ersten Versuch, das Installationsskript zu starten, haben wir nichts außer einer weißen Seite gesehen, nicht einmal eine Fehlermeldung, dass IonCube fehlt.

 

IonCube Loader ist eine PHP Bibliothek, die dafür zuständig ist, die mit dem IonCube PHP Encoder kodierte Anwendung zu entziffern. Das Ziel ist dabei, den Source Code zu schützen. Somit haben wir erfahren, dass die Teile der Shop-Version kodiert sind.

 

Nachdem wir die IonCube Loader installiert haben, kann man das Installations-Skript endlich starten und da kommt wieder ein Bug – das Skript überprüft nicht, ob die angegebene Datenbank schon existiert oder nicht, man sieht direkt einen MySQL-Fehler. Gut, wir wissen sofort, dass die Datenbank nicht angelegt ist, ob es ein Anwender kann?

 

Als nächstes kommt die Fehlermeldung, dass ziemlich viele Ordner Schreibrechte benötigen, ob das gut oder schlecht ist… Demnächst kommt – magic_quotes_gpc muss “On” sein. Das haben wir schon lange nicht bei sicheren PHP-Anwendungen gesehen, sogar unsere PHP Juniors lernen, die Option auszuschalten, mehr dazu z.B. hier.

 

Alle Hürden sind genommen, der Shop läuft endlich. Der Front-End ist dem alten ähnlich. Ehrlich gesagt, haben wir mehr erwartet. Die Grund-Version von xtcModified ist definitiv interessanter. Der Back-End ist moderner und schneller geworden, bietet auch mehr Möglichkeiten. Uns interessiert aber das Innere.

 

Der Shop ist komplett überarbeitet. Datenbank ist größer geworden, jetzt hat Veyton 93 gegenüber von 80 Tabellen bei Version 3. Der Code ist richtig objekt-orientiert und gut strukturiert. In Veyton wurde ein eigenes Framework entwickelt und, anscheinend, gut umgesetzt, denn die Plugins sollen jetzt keine Kopfschmerzen bereiten, wenn man den Shop aktualisiert. Die Logik bei den Templates ähnelt der alten Struktur, Veyton setzt immer noch auf Smarty. Smarty als Template-Engine ruft gemischte Gefülle hervor und an sich hat sowohl Gegner, als auch viele Anhänger. Wir gehören eigentlich eher zu Gegnern, denn Smarty braucht viel Performance und versucht eigenes Skripting in einer Skriptsprache zu etablieren, was für uns zumindest nicht ganz effizient klingt. Es gibt aber natürlich andere Beispiele, wenn performance-fressende Anwendungen hohe Popularität und Verbleitung finden, Magento wäre hier die Nummer Eins.

 

Was sagt uns die Statistik über die kodierten Dateien.

 

In dem Backend sind von insgesamt  36 Dateien von 43 php-Dateien kodiert. Die kodierten Dateien im Backend und deren Größe im Überblick:

 

  Ordner und Dateiname
Dateigröße, in KB
  xtAdmin  
1 /var/www/xtveyton/xtAdmin/adminHandler.php 7
2 /var/www/xtveyton/xtAdmin/adodb_liveperformance.php 2,2
3 /var/www/xtveyton/xtAdmin/adodb_performance.php 2,6
4 /var/www/xtveyton/xtAdmin/chart-data.php 4
5 /var/www/xtveyton/xtAdmin/dashboard.php 21,5
6 /var/www/xtveyton/xtAdmin/DropdownData.php 10,5
7 /var/www/xtveyton/xtAdmin/ejsadmin.js.php 2,5
8 /var/www/xtveyton/xtAdmin/ejsadmin.php 5,8
9 /var/www/xtveyton/xtAdmin/feed-proxy.php 2,5
10 /var/www/xtveyton/xtAdmin/get-nodes.php 5,8
11 /var/www/xtveyton/xtAdmin/login.php 4,6
12 /var/www/xtveyton/xtAdmin/move-nodes.php 3,5
13 /var/www/xtveyton/xtAdmin/newsfeed.php 9,7
14 /var/www/xtveyton/xtAdmin/order_edit.php 22,4
15 /var/www/xtveyton/xtAdmin/page_includes.php 5,4
16 /var/www/xtveyton/xtAdmin/plugin_install.php 2
17 /var/www/xtveyton/xtAdmin/row_actions.php 4,3
18 /var/www/xtveyton/xtAdmin/rssfeed.php 4,1
19 /var/www/xtveyton/xtAdmin/rssreader.php 8,2
20 /var/www/xtveyton/xtAdmin/upload.php 7,7
21 /var/www/xtveyton/xtAdmin/uploadFlash10.php 5,2
22 /var/www/xtveyton/xtAdmin/upload_process.php 4
23 /var/www/xtveyton/xtAdmin/versioncheck.php 3,7
     
  xtAdmin/css  
1 /var/www/xtveyton/xtAdmin/css/css_flags.php 2,6
     
  xtFramework/admin/class  
1 /var/www/xtveyton/xtFramework/admin/classes/class.adminDB_DataRead.php 12,8
2 /var/www/xtveyton/xtFramework/admin/classes/class.adminDB_DataSave.php 18,6
3 /var/www/xtveyton/xtFramework/admin/classes/class.admin_handler.php 29,4
4 /var/www/xtveyton/xtFramework/admin/classes/class.ext.js.php 5,9
5 /var/www/xtveyton/xtFramework/admin/classes/class.ExtAdminHandler.php 21,9
6 /var/www/xtveyton/xtFramework/admin/classes/class.ExtEditForm.php 23,5
7 /var/www/xtveyton/xtFramework/admin/classes/class.ExtFunctions.php 116,5
8 /var/www/xtveyton/xtFramework/admin/classes/class.ExtGrid.php 31,8
9 /var/www/xtveyton/xtFramework/admin/classes/class.FunctionHandler.php 10,9
10 /var/www/xtveyton/xtFramework/admin/classes/class.navigation.php 14,9
11 /var/www/xtveyton/xtFramework/admin/classes/getAdminDropdownData.php 32,8
     
  xtFramework/class  
1 /var/www/xtveyton/xtFramework/classes/class.adminTask.php 8,6

In dem Backend sind von insgesamt 11 von 809 php-Dateien kodiert. Die kodierten Dateien im Frontend und deren Größe im Überblick:

  Ordner und Dateiname
Dateigröße, in KB
  xtFramework/classes  
1 /var/www/xtveyton/xtFramework/classes/class.filter.php 6,2
2 /var/www/xtveyton/xtFramework/classes/class.hookpoint.php 16,2
3 /var/www/xtveyton/xtFramework/classes/class.multistore.php 30,1
4 /var/www/xtveyton/xtFramework/classes/class.permissions.php 14,1
5 /var/www/xtveyton/xtFramework/classes/class.plugin.php 63
6 /var/www/xtveyton/xtFramework/classes/class.recursive.php 17,1
7 /var/www/xtveyton/xtFramework/classes/class.template.php 18,4
     
  plugins/xt_paypal/classes  
1 /var/www/xtveyton/plugins/xt_paypal/classes/class.paypal.php 50
2 /var/www/xtveyton/plugins/xt_paypal/classes/class.xt_paypal.php 4
     
  plugins/xt_moneybookers/classes  
1 /var/www/xtveyton/plugins/xt_moneybookers/classes/class.xt_moneybookers.php 9,4
     
1 /var/www/xtveyton/index.php 4,2

Somit sind im Frontend 83,7% und im Frontend 1,3% der Skripte kodiert, insgesamt also nur 5,6% aller php-Skripte. Wenn man sich aber auch die Dateinamen anschaut, wird man feststellen, dass dabei auch die wichtigen Dateien sind, bei denen man eventuell was anpassen wollen würde. Darunter sind auch die Dateien, die die Shoplogiken ansteuern, wie z.B. index.php. Über diese Datei läuft eigentlich alles im Shop. Der xt:Commerce Framework bleibt auch ein Geheimnis.

 

Fazit:

xt:Commerce Veyton ist ohne Zweifel eine modernere Anwendung mit besserer Code-Qualität und Struktur.  Veyton hat mehr Funktionen im Vergleich zu Version 3. Der Shop hat aber sicherlich noch Bugs, die noch zu beseitigen sind. Wir haben solche schon bei der Installation gesehen. Die Anwendung ist kostenlos, was für viele sehr lukrativ klingen kann. Als Community Edition ist der Shop aber überhaupt nicht tauglich, denn was soll man weiterentwickeln, wenn man nicht weiss, wie die Grundsätze funktionieren.

 

Für unsere Kunden werden wir den Shop anscheinend nicht empfehlen, leider, denn aus der Entwicklersicht bekommen wir kein vollständiges Bild davon, was eigentlich Schade ist. Wir können es nicht so entwickeln, wie wir wollen, und können dem Kunden nicht garantieren, dass wir alles umsetzen können, was der Kunde möchte. Man braucht natürlich auch Zeit zu investieren, um die Code-Teile zu studieren, die offen sind.

 

Warten wir ab, vielleicht wächst aus der Anwendung eine richtige Community Edition heraus.

Letzte Änderung am Freitag, 30 März 2012 13:36

Schreibe einen Kommentar

Achten Sie darauf, die erforderlichen Informationen einzugeben (mit Stern * gekennzeichnet).
HTML-Code ist nicht erlaubt.

Joomla! OXID eSales Gambio Magento OpenCart xt:Commerce Modified