Archive for the 'Magento' Category

Magento-Installation doppeln / umziehen

19. März 2010

Wir wollen eine Installation doppeln, also eine zweite Instanz für die Entwicklung schaffen.

Was bisher geschah:

  • FTP-Abzug der Directories der bestehenden Situation.
  • Sicherung der Datenbank mit Php-Admin
    (Diese ist so nicht verwendbar,
    da die Reihenfolge nach dem Aphabet
    erfolgt und es beim Load zu Fehlern kommt. Daher nächster Schritt!)
  • Sicherung der Datenbank mit Magentoboardmitteln im Adminbereich
    (Tat bei unserer Version zuerst nicht, da ein Programmfehler vorlag,
    dessen Behebung aber bereits im Forum beschrieben war.)

  • gelöst!!! im filesystem.php auf zeile 234
    foreach (glob($folder . DIRECTORY_SEPARATOR . ‘*’) as $node) {

    ergänzen durch

    foreach ((array)glob($folder . DIRECTORY_SEPARATOR . ‘*’) as $node) {
    juppi! hab jetzt bloss den fehler noch mit autoload, wenn ich das hinbekomme dann geh ich einen trinken…cafe latte =)

Vorbereiten der zweiten Instanz

  • Domain anlegen
  • Webspace vorbereiten
  • Check , ob geeignet
  • Datenbank anlegen
  • Import der DB-Daten in die neue Datenbank
  • Überarbeiten zweier Einträge in der Datenbank
    Die Base muss auf die neue Domain zeigen.
    Die Info steht in der Tabelle core_config_data.
    Reinschauen mit SQL z.B. in PHP- bzw. MySSQL-Admin

SELECT *
FROM core_config_data
LIMIT 0 , 30

Eintrag 3 und 4 müssen auf die neue Domain geändert werden.

update core_config_data
set `value`=“http://www.neueDomain.de/“
where `config_id`=3;

update core_config_data
set `value`=“http://www.neueDomain.de/“
where `config_id`=4;

  • Upload der Dateien auf den Server
  • Auch bei den Dateien ist einiges zu beachten.
    • Part 1:
      /demoshop1/app/etc/local.xml
      muss angepasst werden. Hier muss die neue Datenbankverbindung rein!
    • Part 2:
      Der Cache muss, wenn nicht bereits geschehen bereinigt werden.
      z.B. /demoshop1/app/etc/use_cache.ser umbenennen
      Besser ist es den Cache im alten System zu löschen und zu deaktivieren
      und dann erst den Code und die Daten per FTP zu holen.
      Haben wir auch erst später gelesen.
    • Part 3:
      downloader/pearlib/pear.ini muss noch bearbeitet werden.
      Dort muss der alte Hostname durch den neuen ersetzt werden.
      Allerdings auch hier wieder eine Stolperfalle!
      In der Datei steht vor den Samen immer s:42 oder s:49; das steht für String (-länge).
      Wenn also die Buchstabenanzahl von alt zu neu diefferiert, müssen Sie die Zahlen alle anpassen.
      Beachten Sie dies beim Ersetzen in den Editoren, dann sollte es schnell gehen.
    • Mehr sollte eigentlich nicht nötig sein. Goog luck.
    • Hier noch eine gute Beschreibung (in english)http://www.magentocommerce.com/wiki/groups/227/moving_magento_to_another_server

Aber bei uns:

Shop läuft immer noch nicht!

Die Adminoberfläche, also das Backend lief aber das Frontend, also der Shop selbst, wollte und wollte nicht laufen.
Er brach immer mit einem „fatal error“ ab.
Fatal error: Class ‘Mage_Checkout_Helper_Cart’ not found in …

Hier kam der Durchbruch: http://www.magentocommerce.com/boards/viewthread/17220/

/demoshop1/app/code/core/Mage/Checkout/Helper/Cart.php hatte die Größe 0 (nix, niente zero)

Ein Fehler bei der FTP-Datenübertragung. Das hat uns Stunden gekostet. 😦

Aber wir haben es geschafft. 🙂

Advertisements

Magento umziehen / klonen

19. März 2010

Jetzt steht der neue Shop kurz vor dem Going-Live, also muss nun eine zweite Instanz her. Bloss wie?

Im Regelfall wird jetzt ein Klon erstellt. Dazu Sicherung der Datenbank, Abzug des Webspace und dann einige Anpassungen an den Steuerdateien bzw. Steuereinträgen in der Datenbank.

Aber diesmal sind wir am stolpern. Warum?

Es stellt sich heraus, dass bereits beim Abzug des Webspaces mittels FTP Fehler auftauchen und auch der Upload scheint nicht problemlos zu funktionieren, doch wie kann man überprüfen, dass alle Daten down- bzw. upgeloaded wurden?

Noch auf der Suche…. Wir werden berichten.

720 000 000; 720 Millionen Products in Magento?

18. Januar 2010

Grundlage der Mathematik / Logik:

Jedes Produktattribut in Konstellation mit anderen Attributen multipliziert die Anzahl der möglichen Ausprägungen.

Da kennt man im Regelfall aus der Schule, der Ausbildung oder aus Erfahrung.

Wir müssen ein Produkt, welches meist als Spezialanfertigung verkauft wird, in einem Magentoshop abbilden.

Es besitzt im ersten Lösungsansatz 8 Attribute mit jeweils 2 bis 25 Möglichkeiten. Also kommt man pro Produkt (Modell) auf etwa 1,2 Mio möglichen Konfigurationen. Bei etwa 600 Modellen im Angebot sind wir locker bei über 0,7 Milliarden Bestell-Möglichkeiten. Wenn das nichts ist?

Jetzt nimmt man die Bücher oder Screencasts zu Magento heran; toll hier steht, wie man konfigurierbare Produkte erstellen kann. Man legt alle Produkte als einfache Produkte an, fasst diese als konfigurierbar zusammen und siehe da, der Interessent sieht nur ein Produkt mit den ganzen Möglichkeiten. Das ist doch die Lösung – oder?

Doch jetzt schlägt zum Glück das „Unterbewusstsein der Informatik-Ausbildung“ zu! Halt mal! 8 Attribute!

4*25*5*4*3*10*10*2  Das sind doch furchtbar viele!!! Wie bitte ? 1,2 Millionen einzelne Produkte anlegen, um eins von 600 Produktmodellen in der Datenbank abzulegen? Das wären über 700 Millionen einzelne Produkte, nur für diese Produktgruppe.

„Easy, kann man ja alles mit Excel automatisch generieren lassen und dann mit XML in die Datenbank auf dem Server laden.“ — Den möchte ich sehen, der das probiert.

Jedoch hege ich die Befürchtung, dass dann nicht ein Server, sondern eine ganze Serverfarm her muss.

Das war der Stand gestern abend. So kann es nicht gehen, da muss es noch etwas geben.

Nach einigen Stunden Schlaf, dann der Weg in die Foren und Chatrooms. Keine 10 Minuten und die Lösung  war ansatzweise gefunden. Da gibt es noch die „custom options“.

Jetzt bleibt natürlich die Frage: Warum trifft man eigentlich in den zugehörigen Fachbüchern nicht darauf?
Ein Schlimmer, wer schlimmes denkt.

Es wird trotzdem tierisch komplex, denn Teile werden voraussichtlich über „configurable products“ und Teile über die „custom options“ laufen. Jetzt geht es erst mal in die Denkstube, dann wird testweise umgesetzt und dann ausgiebig getestet. Schließlich soll dieser Shop der Usability-Hammer werden.

Seien Sie gespannt. Der Shop wird gut.

Magento: Anpassungen für deutschen Markt und Themes

30. Dezember 2009

Tja – es könnte (vielleicht) so einfach sein, aber …

Wie Sie vielleicht verfolgt haben, haben wir zuerst den Demoshop installiert. Darauf verschiedenen Extentions angewandt und uns gefreut, dass alles in etwa so kam, wie wir erwartet haben.

Sie ahnen es sicher schon, es blieb nicht so.

Der letzte Eingriff hat doch ziemlich alles verändert.

Jetzt bleibt natürlich, die Frage:

Wie zurück zum vorherigen Zustand?

Wir sind ja noch nicht produktiv, sonst hätten wir ja eine Sicherung der Datenbank und des Filessystems.

Muss man überhaupt zurück? Gibt es andere Wege?

Was war überhaupt passiert?

Ausgehend vom Demoshop haben wir diesen an deutsch und die Eigenheiten des deutschen Markts angepasst. (Plus noch ein paar Sachen, die aber aktuell nicht relevant sind.)

Dann haben wir dem Demoshop ein neues Design überstülpen wollen. Dazu sollte ein klassisches Design-Template der Templatemaster von Megento dienen. Es sollte die Basis für weitere Designarbeiten werden.

Nach einigem Holpern: Reload => siehe da, das neue Gesicht des Shops war da.

Toll.

Na ja, da oben stand noch etwas doppelt. Warum einmal in deutsch und einmal in englisch?

Wo waren eigentlich die ganzen CMS-Seiten, die man vorbereitet hatte?

Die waren noch da – ABER die Links dazu fehlten.

Das Designtemplate überschreibt also Inhalte bzw. Menüstrukturen. Übel!

Und jetzt?

Jetzt suchen wir mal die Stellen, die da überschrieben wurden …

Soviel zu: „Strikte Trennung von Inhalt und Design.“

Poff !!! Wieder ein Grundsatz verfliegt als Rauchwölkchen im Wind.

Demoshop Magento aufspielen

15. Dezember 2009

Wie in der Installationsanleitung beschrieben: Zuerst die Datenbank anlegen und dann mit den Demo-Daten bestücken und erst dann den Shop installieren!

Die größte Hürde war wirklich das Aufspielen der Software. Nahezu 8000 Dateien im Upload, das dauert viele  Stunden. Zum Glück läuft das nahezu automatisch. Leider nicht ganz, es sind einige Datein doppelt vorhanden. Das hängt möglicherweise an Klein- und Grossschreibung der Dateinnamen.

Anlegen von Datenbankenund deren Befüllung ist Routine und auch das Installationsscript zeigt sich als sehr robust. Hier ein spezieller Dank an die Entwickler.

Den Problemen mit den Ordner- und Dateirechten muss man sich stellen.

Wenn man die Übertragungszeiten abzieht, läuft der Demoshop nach dem grundlegenden Check des Spaces und der Datenbank  in einigen Stunden.

Magento-Check auf Server / Webspace

15. Dezember 2009

Wie schon mal angedeutet: ich erwarte ein Script, welches prüft ob der Webspace oder Server für Magento geeignet ist. Es kann sicherlich nicht die Geschwindigkeit prüfen, aber ob alle Komponenten aktiviert sind.

Gesucht – gefunden!

Das Script gibt es und kann bei Magentocommerce.com runtergeladen werden, es heißt Magento-Check.php.

Was auffällt ist, dass es natürlich nicht jede Konstellation „versteht“. Wir haben ja bewusst zu Beginn einen Webspace gebucht und nicht gleich einen ganzen Server. Bei diesen Webspaces ist es üblich, dass der eigentliche Datenbankserver ein anderer ist. Dadurch meldet das Script natürlich Fehler im Bereich der Datenbank. Aber man kann schnell die Version der Datenbank manuell prüfen.

Die meisten Provider bieten PHP-Admin an. Damit kann man auf die Datenbanken Zugriff nehmen und so auch ganz einfach die Version der My-SQL-Datenbank ermitteln.

Bei uns ergab der Check, dass der Webspace „OK“ ist.

Datenbanken für Magento

3. Dezember 2009

Ja es war soweit, die Datenbanken sind angelegt.

Und wichtig: die Querycache-größe ermittelt und für gut befunden: 32 MB.

Und wichtig: innodb : YES

Dann kann es wohl weitergehen.

Magento auf Hostingpaket also etwas langsamer

2. Dezember 2009

Irgendwo gibt es Unterschiede zwischen einem „managed Server“ und einem HighEnd-Hostingpaket.

War ja klar! Aber, dass es ausgerechnet schon bei den Einstellungen bzw. der Zusatzsoftware hakt, hätte ich nicht erwartet. Ich dachte wir sind nah an einem V-Server dran, aber weit gefehlt.

Nun ja, dann nehmen wir den Kampf gegen die zu erwartenden Laufzeiten mal auf. Anscheinend kann man mit einem CodeCache den Faktor 1,2 bis 10 rausholen. Wir können das nun nicht, vorerst nicht. Aber wenn das Businessmodell zieht, dann können wir wohl. In wenigen Wochen werden wir es wissen.

Resummee für die Leser: Magento tut wohl ein CodeCache, wie APC, XCache, eAccelerator gut. Vor Bestellung des Hostings (egal ob Paket, V-Variante, Managed Server) klären, ob dies möglich ist. Wenn es möglich ist, dann ist das sicher nicht schlecht.

Bücher zu Magento

2. Dezember 2009

Ich habe ja bereits einige Bücher zu Magento angesprochen:

Hier meine aktuelle Auswahl.

Für die Techniker, Programmierer und EDV-Affine Shopbetreuer:

Online-Shops mit Magento

Online-Shops mit Magento von Dr. Roman Zenner

Gerade jetzt imVorfeld der ersten Installation hat es viele wichtige Anregungen gegeben, an die man im ersten Schritt einfach nicht denkt.

Dabei ist es z.B. wesentlich, gleich von Anfang an, an die zu erwartende Performance zu denken.

Für die Shopbetreuer und Shopbetreiber im Vorfeld vor dem Aufbau des Shops:

Magento erfolgreich mit dem ersten Online-Shop von Susanne Angeli und Wolfgang Kundler

Magneto Erfolgreich mit dem ersten Online-Shop

Für die  Webdesigner oder die Programmierer, die ein Design umsetzen müssen

(englisch) Magento 1.3 theme design

Magento 1.3 theme design von Richard Charter

Möglicherweise kommen noch einige dazu. Wer weis?

Anforderungen von Magento an das Hostingspaket

2. Dezember 2009

Gemäß demBuch von Herrn Dr. Zenner benötigt man für die PHP-Umgebung einige Bestandteile.

Manche PHP-Freaks werden sagen, klar kann doch jedes Paket oder ….

Aber zuerst einmal erschrickt man aufgrund der langen Liste.

Also muss erst mal Punkt für Punkt verstanden und abgeprüft werden.

PDO_MySQL

PDO steht für Php-Data-Objects, das weiß schon mal nicht jeder.
Bisher haben alle Systeme bei den Hostern wunderbar mit MySQl zusammengearbeitet.
Wir sparen uns den Aufwand hier tiefer einzusteigen.

Aber, wie würde man trotzdem Informationen über die Installation des Hosters bekommen.
Genau: da gab es doch was. Phpinfo, eine Funktion die die PHP-Konstellation und die Variablen ausgibt.
Also eine Datei angelegt, bei mir ich-will-infos.php mit folgendem Inhalt: <?php phpinfo();?>

Diese muss dann auf den Webspace ins Rootverzeichnis bzw. dorthin wo der gewünschte Domainname hinzeigt.

Das machen wir jetzt mal. …