Schlagwort-Archive: zend

Aug
12

Firmenwebsite mit Zend Framework

Powered by Zend FrameworkIn den vergangenen Tagen habe ich mein erstes komplexeres Projekt mit den Zend Framework umgesetzt und heute gelauncht. Die Firmenwebsite unserer E-Commerce Spezialisten FATCHIP erfährt damit ihren dritten Relaunch in der Firmengeschichte. Die erste Seite in Flash wurde relativ schnell abgelöst von einer kleinen aber feinen dynamischen Website, die nun etwa 4-5 Jahre ihren Dienst getan hat. Diese basierte auf dem Mojavi Framework, welches seid PHP 5 nicht mehr weiterentwickelt wird, und nicht mehr kompatibel ist.

Die Umsetzung ging leicht von der Hand, und nach und nach lernte ich einige der Funktionen der Zend Klassenbibliothek schätzen. Besonders die einfache Erzeugung von Datenbank Models und die komfortable Art der Erstellung von MySQL Abfragen machten die Arbeit leicht. Andere Funktionen, wie zum Beispiel vernünftige Template Helper für Images und Links vermisste ich hingegen. Die Community und das Wiki waren eine grosse Hilfe bei der Erstumsetzung, allerdings ist die Dokumentation noch nicht sehr umfassend.

Zur Anwendung bei Fatchip.de kommen auch einige Prototype Javascripts, die für ausklappende Listen und Formulare sowie einige komplexere Mouse Over Effekte gebraucht werden.

Natürlich sind alle Elemente der Site vollständig dynamisch und können von eingeloggten Admins direkt im Frontend gepflegt werden. So wird die Administration erheblich vereinfacht und beschleunigt.

..und weil es mir so gut gefallen hat, habe ich bereits mit dem nächsten Zend Framework Projekt begonnen – diesmal für einen Kunden…

Mai
23

OXID eShop 4.0 Betatest

Laut dem OXID eSales Blog befindet sich die Entwicklung der neuen Version des Shopsystems auf der Zielgeraden. Schon seit Mitte letzten Jahres ist die neue Version im Gespräch, nun hat die OXID Entwicklungsabteilung zur „Bewerbung“ als Betatester geladen!

Natürlich habe ich mich als OXID certified Solution Partner gleich angemeldet, um möglichst bald einen Einblick zu bekommen. Gespannt bin ich insbesondere auf die Basis des neuen Systems und Möglichkeiten zur Übernahme von bestehenden Modulen und Erweiterungen, da ich da schon einiges programmiert habe.

Sollte es stimmen, dass die neue OXID Version ein massgebliches Refactoring erhalten hat und durch regelmäßige Unittests qualitätsgesichert und weitgehend bugfrei ist, sehe ich OXID gegenüber Magento klar im Vorteil. Denn mit Sicherheit wird bei der Entwicklung der neuen Version darauf geachtet, wieder die Trusted Shops Vorzertifizierung zu bekommen. Denn mit dieser Vorzertifizierung erhalten OXID Shop Betreiber Rabatt bei dem größten deutschen Gütesiegel und Rückversicherer für Onlineshops – und gehen sicher einen rechtssicheren Onlineshop zu betreiben.

Ich bin gespannt, wann ich über meine erste Testinstallation des neuen Systems berichten kann…

Apr
21

Magento Shopsoftware Testbericht

Magento ShopsoftwareMagento ist die neue Open Source Shopsoftware am Händlerhimmel. Viel gepriesen und auf dem Zend Framework basierend weckte der Neuling mein Interesse und ich habe mich einmal näher mit dem Projekt auseinandergesetzt.

Erster Eindruck

Die Magento Website kommt saubergestylt in schickem und zeitgemässem Design daher. Dafür, dass das Produkt sehr neu ist, ist es hervorragend präsentiert. Gut gemachte Produktvideos zu Frontend und Adminbereich machen Lust auf mehr. Natürlich fehlen auch die üblichen Elemente wie Wiki, Dokumentation, Community und Entwicklerforum nicht – allerdings sind diese noch nicht ganz so stark gefüllt wie bei der älteren Konkurrenz, z.B. OXID eShop oder XT-Commerce. Der Download ist schnell gemacht und natürlich kostenlos, denn Magento ist ja Open Source.

Screens

Basis Zend Famework

Das Zend Framework finde ich äußerst spannend! Der konsequente Model-View-Controller Ansatz von Zend ist absolut der Weg der Zukunft. Der Aufbau des Frameworks ähnelt sehr stark dem von z.B. Symfony, also eine grosse library mit zahlreichen Framework Funktionen, Die nutzung einer Datenbankabstraktion und die strikte Trennung von Anwendungslogik und Templates. Einziger Nachteil des Frameworks (und des ganzen MVC Konzeptes) ist der erhöhte Performancebedarf, der jedoch durch etwas größer dimensionierte Hardware und Caching kompensiert werden kann. Mehr zum Thema Magento Performance hat die TechDivision geblogt.

Ich finde es äußerst spannend mit einem Shopsystem zu arbeiten, welches nicht seinen eigenen MVC Rahmen bastelt, sondern auf einem optimierten Framework aufbaut. Das garantiert, dass sämtliche nur denkbaren Änderungen und Erweiterungen eigentlich problemlos integrierbar sein sollten. Ausserdem wird schnell jeder Programmierer, der das Zend Framework kennt, auch mit Magento zurecht kommen.

Installation

Im Installationspaket von Magento sind alle benötigten ZEND Framewor Bibliotheken enthalten. Daher ist die Installation – vorrausgesetzt man erfüllt mit PHP 5.2 alle Systemvorraussetzungen – durch das 5 schrittige Setup Prozedere denkbar einfach. Also ZIP Archiv herunterladen, auf den Webserver entpacken und die Domain aufrufen. Automatisch wird das Setup gestartet. Nach Angabe der Datenbankzugänge und Länderauswahl ist man dann auch schon fertig und kann in en Adminbereich wechseln oder sich das Frontend ansehen.

Im Admin erwarten den Anwender zahlreiche Optionen, doch sind diese sehr übersichtlich gegliedert – eine wahre Freude an Backend. Und wenn man einmal alle durchgeklickt hat, sind es dann doch auch nicht mehr so viele. Nach einigen Grundeinstellungen können dann auch schon die ersten Produkte eingetragen werden. Der Shop kommt mit einem vollständigen Demolayout – also kanns sofort losgehen…

Features

Die Produktpflege basiert ganz stark auf dem Prinzip von Attributen, auch Varianten – in Magentosprache „configurable products“, lassen sich darüber generieren. Ansonsten gibt es alle üblichen Shopfeatures: Crosselling, Bezahlmethoden, Newsletter, Versandmethoden, Kundenkonto, Wishlist etc. Auch ein sehr komfortables CMS ergänzt das Shopsystem. So lassen sich Promotionseiten, Landing Pages und Kundeninformationen komfortabel über das Backend pflegen und anlegen. Bewertungs- und Kommentarfunktion, Tell a friend und andere Communityfeatures runden das Programm ab.

Besonders ist auch die Möglichkeit Multishops, also mehrere Frontends aus einem Admin, zu erzeugen, wobei die Konfiguration noch etwas umständlich ist und wohl noch nicht viel Praxiserfahrung damit gemacht wurde.

Deutscher Markt

Problematisch ist natürlich bei Magento, dass es ein amerikanisches Produkt ist. Es ist einfach nicht für den Deutschen Markt entwickelt worden und erfüllt keinerlei rechtliche Anforderungen wie z.B. das „inkl. MwSt. zzgl. Versandkosten“ bei der Preisdarstellung, das Häkchen zum AGB akzeptieren im Checkout, eine Datenschutzerklärung etc. – ich glaube sogar gesehen zu haben, dass man Kreditkartendaten speichern kann. Umsatzsteuerausweisung gibt es nicht – weder im Warenkorb noch in der Bestellbestätigung. Auch habe ich es erstmal nicht hinbekommen, den Shop auf Deutsch umzustellen, obwohl ich es bestimmt 1,5 Stunden lang mit Forum und Wikirecherche versucht habe. So sind der Adminbereich sowie alle Beschriftungen wie „add to cart“ statt „in den Warenkorb“ englisch. Aber das soll sich wohl laut Forum irgendwie lösen lassen…

Fazit

Magento ist eine neue Entwicklung auf dem Shopmarkt. Das bringt Schwung und Konkurrenzdruck für die Mitbewerber und mit Sicherheit auch ein hervorragendes System auf einer soliden Framework Basis – etwas, was nach jahrzentelanger Nutzung von OS und XT Commerce mal Zeit wurde. Aktuellste Techniken und ein hervorragender Communityansatz werden dem Shopsystem mit Sicherheit viele gute Jahre bescheren, für den breiten Markt ist die Software allerdings noch nicht reif. Das liegt an der Deutschland-spezifischen Problematik und daran, dass es einfach noch zu wenig Erfahrungen, Third Party Module und Schnittstellen für das System gibt. So wird man sich derzeit als Shopbetreiber noch oft als Pionier mit einer Problematik auseinandersetzen, die bei anderen Systemen schon vor Jahren gelöst wurde. Für Entwickler sicherlich eine Freude – für Shopbetreiber sicherlich an vielen Stellen teurer als eine für den deutschen Markt ausgereifte kostenpflichtige Shoplösung wie z.B. OXID eShop – aber das kann sich mit der Zeit ändern!

Feb
29

Zend Studio Eclipse Webinar

Zend hat heute ein Online Seminar zu der neuen Software Zend Studio for Eclipse 6.0 gegeben. Eine einstündige Programmeinführung zu den Produktfeatures mit kleinen Anwendungsbeispielen. Thema war zum Beispiel der Featurevergleich zwischen Zend Studio for Eclipse und Eclipse PDT, das Zend Framework und seine Integration in die IDE, Refactoring, Debugfunktionen oder Websiteprofiling.

Ausserdem ging es um die Benutzeroberfläche und Ihre Bestandteile wie Workbench oder Perspectives, Teamarbeit mit der integrierten Subversion Lösung und Remotezugriff auf entfernte Webserver. Ziel der Entwicklung dieser Software war nach Jan Burkl, dem vortragenden Trainer von Zend aus Stuttgart, dem Programmierer ein Tool zu bieten, welches alle zur Entwicklung nötigen Tools und Werkzeuge in einer einzigen Installation bündelt. Das ist für meine Bedürfnisse auch ganz gut gelungen, jedoch ist die Software dadurch natürlich auch nicht gerade schlank! Vor allem anfänglich, wenn das Programm nach der Installation die ersten Updates saugt und die ersten angelegten Projekte indiziert, rödelt es erst einmal ganz schön rum. Dazu schlägt das Paket, welches im wesentlichen auf der Open Source IDE Eclipse besteht, preislich mit etwa 300 EUR netto zu Buche.

Für das Seminar benutzte Zend die Web Conference and Meeting Software Webex. Ich musste zwar eine javabasierte Client Software installieren, aber dafür hatte ich den Desktop (mit Powerpoint Präsentation und offenem Eclipse von Jan Burkl) auf dem Monitor und life Audio auf dem Kopfhörer, sodass das einem Vortrag „vor Ort“ schon ziemlich nahe kam! Dazu gabs ein Chat Fenster zum Fragen stellen und Feedback geben.

Feb
27

Gewährleistung für Internetseiten

Also man stelle sich folgende Situation vor:
Ein Kunde beauftragt eine Agentur mit der Erstellung einer Website. zum Beispiel eine Firmenpräsentation oder einen Onlineshop oder etwas ähnliches. Nach einer gewissen Bearbeitungszeit, Korrekturschleifen und Tests geht das Projekt online und die Agentur wird für Ihre Arbeit bezahlt.
Ein paar Wochen später gibt es auf einmal einen fiesen Bug in der Seite, zum Beispiel werden Bilder nicht angezeigt oder es gibt einen PHP Fehler oder sowas, und der Kunde ruft wild erzürnt die Agentur an und fordert seine Gewährleistung ein.

Dann setzt sich ein Programmierer ran und sucht nach Fehlern und Ursachen oder wundert sich, wie der Fehler zustande kommt, wo er doch vorher nicht auftrat, und mir nichts dir nichts gehen ein paar Stunden herum, bis man zufällig feststellt, dass ein oder zwei Dateien auf dem Server andere Bearbeitungsdaten haben als der Rest, zufällig auch nur ein paar Tage alt, obwohl man schon ein paar Wochen nicht mehr daran gearbeitet hat.
Das legt natürlich den Schluss nahe, dass da jemand anderes dran war und irgendeinen Bug eingebaut hat. Der Kunde behauptet natürlich steif und fest, dass er nichts gemacht hat, aber weitere Personen mit Zugangsdaten gibt es nicht.

Putt Situation! Wer bezahlt nun den Aufwand für das Bugfixing? Gewährleistungsfall oder Kundenverschulden?
Rechtlich sicher schwierig, allein die Erbringung eines gerichtsfähigen Nachweises ist nicht so einfach. Und auf jeden Fall führt die Sache zum Konflikt in der Geschäftsbeziehung.

Ein Gedankenansatz zur Lösung:
Ist es erst einmal soweit, sicherlich kompliziert. Viel einfacher ist daher ein präventiver Ansatz!
Wie wäre es, auf dem Webserver den Code nur in verschlüsselter Form zu hinterlegen, sodass der Kunde gar nicht die Möglichkeit hat, Änderungen vorzunehmen? Ist sowieso viel sicherer, was Hacker etc. angeht.
Man vereinbart dann mit dem Kunden, dass man den Code sicher für ihn aufbewahrt, und dass die Gewährleistung, sobald der Sourcecode ausgehändigt wird, erlischt. Auf diese Weise ist das Konfliktpotential und Nachweisproblematik in Fehlern schon vor dem Entstehen aus dem Weg geräumt.

Zum Verschlüsseln von PHP Code eignet sich zum Beispiel der Zend Guard, ein Tool, was zur Lizensierung und für Kopierschutz entwickelt wurde. Der Zend Guard ist allerdings kostenpflichtig und liegt bei etwa 1000 EUR jährlich… zum Ausführen der Dateien muss auf dem Webserver die Zend Platform oder der Zend Optimizer installiert sein. Die kostenpflichtige Platform bietet noch einige weitere Features wie Caching oder Debugging, der Optimizer ist kostenlos.
Es kann also zum Beispiel auch eine kostenlose aber verschlüsseltes Software zum Download angeboten werden, die die User herunterladen und ohne weitere Kosten auf Ihrem Webserver installieren können. Sie müssen nur zusätzlich den kostenlosen Optimizer installieren.