Update über mehrere Versionen

Benötigte Lesezeit: 12 Minuten


Einleitung

Hier am Beispiel des Updates eines PepperShops v.1.2 zur Shopversion 9.0:

Kenntnisse: Diese Anleitung richtet sich an erfahrene Techniker, welche Dateien mit UNIX-Zeilenumbrüchen editieren, MySQL Datenbanken via phpMyAdmin verwenden und mit (S)FTP umgehen können. Planen Sie auch einen Unterbruch ein.

Diese Anleitung führt in 4 Schritten zur neuen Shopversion:

Vorbereitungen

1.1) Benötigte Daten des alten Shops auslesen und bereithalten: Bis und mit PepperShop v.6.0: {shop_verzeichnis}/shop/Admin/ADMIN_initialize.php, nahezu unterste Zeile:

  • Datenbankrechner

  • Datenbankname

  • Datenbankbenutzer

  • Passwort des Datenbankbenutzers

Wenn zwei Datenbankbenutzer benutzt werden, hier vom zweiten DB-Benutzer auch noch den Namen und sein Passwort auslesen (siehe auch Kapitel 4): {shop_verzeichnis}/shop/initialize.php, nahezu unterste Zeile. Ab PepperShop v.7.0: Ab der Version 7 wird der Datenbankzugriff in einer einzigen Datei verwaltet. Aufgrund diverser Security-Optimierungen ist es also nur noch möglich, einen Benutzer anzugeben: {shop_verzeichnis_neu}/shop/Admin/config_admin.inc.php

1.2) WICHTIG: Erstellen Sie nun Backups der gesamten Shopdateien (z.B. via (S)FTP) und der Datenbank (z.B. via Control-Panel Ihres Hosting Providers oder via phpMyAdmin). Vergewissern Sie sich, dass die Backups an einem sicheren Ort abgelegt sind.

1.3) Sie verwenden eine ältere PepperShop Version mit der Sprachweiche auf Kategoriebasis anstatt pro Artikel (shop/config.inc.php: define(‘LANGUAGE_DB_FIELD_MODE’, false);). Diese Sprachweichenvariante wird ab PepperShop v.7 nicht mehr unterstützt und muss mit einer Datenmigration manuell überführt werden. Nehmen Sie in diesem Fall Kontakt mit Glarotech GmbH (support@glarotech.ch) auf um die weiteren Schritte zu besprechen.

Dateien überschreiben

2.1) Laden Sie den PepperShop in der neuen Version 9.0 herunter. Nach dem Download müssen noch die Datenbankzugriffsdaten wieder in der neuen Datei eingepflegt werden: {shop_verzeichnis_neu}/shop/Admin/config_admin.inc.php

Früher (vor Version 7) wurden diese Daten in den folgenden Dateien platziert {shop_verzeichnis_neu}/shop/Admin/ADMIN_initialize.php [DB-Benutzer 1] {shop_verzeichnis_neu}/shop/Admin/ADMIN_backup.php [DB-Benutzer 1] {shop_verzeichnis_neu}/shop/initialize.php [DB-Benutzer 1 oder 2] Die Dateien können nun auf den Webserver hochgeladen werden und bestehende Dateien werden überschrieben. Bilder und andere individuelle Dateien werden beibehalten.


** ACHTUNG, SEHR WICHTIG: BITTE DEN SHOP IN DIESEM ZUSTAND NICHT IM BROWSER ÖFFNEN, ** ** ZUERST NOCH PUNKT 6,7 UND 8 ABARBEITEN! **


2.2) Falls PHP auf einem UNIX-Rechner als Webserver-Modul läuft (Ihr Provider weiss das), muss an dieser Stelle dem Unterverzeichnis {shop_verzeichnis}/shop/Admin/log das Dateizugriffs-Recht 777 und allen darin befindlichen Dateien das Zugriffsrecht 666 gewährt werden.

2.3) Versions-Hinweise: Falls von einer Shopversion 1.x aktualisiert wurde, müssen nun noch folgende Schritte erledigt werden:

  • In der Datei shop/config.inc.php den Wert der Konstanten ‘KATEGORIEN_VIELSTUFIG’ auf false setzen.
  • Vorher: define(‘KATEGORIEN_VIELSTUFIG’,true);
  • Nachher: define(‘KATEGORIEN_VIELSTUFIG’,false);
  • In der Shop-Konfiguration wieder den Link namens ‘Datenbank aufräumen’ anklicken.
  • Nochmals in die Datei shop/config.inc.php wechseln und dort den Wert der Konstanten ‘KATEGORIEN_VIELSTUFIG’ wieder auf true setzen.
  • Vorher: define(‘KATEGORIEN_VIELSTUFIG’,false);
  • Nachher: define(‘KATEGORIEN_VIELSTUFIG’,true);
  • Zurück in die Shop-Konfiguration und nochmals den Link ‘Datenbank aufräumen’ öffnen.
  • Falls in der alten Shopversion mit dem Konstrukt ‘Leit- und Folgeartikel’ gearbeitet worden ist, so muss man (einmalig!) in der Shop-Konfiguration Maske unten auf den folgenden Link klicken + bestätigen: ‘Leit- und Folgeartikel in Parent- und Subartikel konvertieren (v.1.5 oder v.2.0 -> v.2.5+)’ Beim Update von v.1.5 auf v.2.0 kann es sein, dass man einen SQL-Fehler der Art Duplicate Entry erhält, weil ein PostFinance Patch in der v.1.5 schon eingetragen ist.
  • Um dies zu beheben, bitte die Update-Anleitung zur v.2.0 anschauen: https://www.peppershop.com/phpeppershop_files/v20_updateinfo.txt

Datenbank aktualisieren und aufräumen

3.1) Nun werden zuerst die Datenbank-Updates aller alten Zwischenversionen bis und mit Version 4.0 nacheinander eingespielt. Alle SQL-Dateien sind in Ihrem Kundenaccount des PepperShop Verkaufsystems erreichbar. Gehen Sie dazu ins Verkaufssystem auf https://www.peppershop.com/shop/ und melden Sie sich links an. Nun sehen Sie im Abschnitt Downloads alle verfügbaren Dateien, inkl. den Update-SQLs. Alle diese Dateien vorerst mal herunterladen: v.1.3 SQL-Update : https://peppershop.streaming-24.com/peppershop_files/v13_update.sql v.1.4 SQL-Update : https://peppershop.streaming-24.com/peppershop_files/v14_update.sql v.1.5 SQL-Update : Im PepperShop Verkaufssystem Kundenaccount herunterladbar v.2.0 SQL-Update : Im PepperShop Verkaufssystem Kundenaccount herunterladbar v.2.5 SQL-Update : Im PepperShop Verkaufssystem Kundenaccount herunterladbar v.2.6 SQL-Update : Im PepperShop Verkaufssystem Kundenaccount herunterladbar v.2.6.1 SQL-Update : Im PepperShop Verkaufssystem Kundenaccount herunterladbar v.3.0.0 SQL-Update : Im PepperShop Verkaufssystem Kundenaccount herunterladbar v.3.1 SQL-Update : Im PepperShop Verkaufssystem Kundenaccount herunterladbar v.4.0 SQL-Update : Im PepperShop Verkaufssystem Kundenaccount herunterladbar

Lesen Sie nun die SQL-Updates bis und mit v.4.0 ein. Neuere Versionen werden erst später eingelesen, da hierzu zuerst die neusten Shopdateien benötigt werden. Dies geht am einfachsten via phpMyAdmin oder in einer Server-MySQL-Eingabeaufforderung (MySQL-Monitor). Info: Wenn man den PepperShop mit zwei Datenbankbenutzern eingesetzt hat, mussten noch weitere SQL-Dateien heruntergeladen werden. Diese Dateien mussten zuerst noch bearbeitet und dann mit MySQL root oder grant Rechten eingelesen werden (alle bis und mit v.6.0). Aufgrund diverser Security-Massnahmen ist dies ab der Version 7.0 nicht mehr notwendig.

3.2) Wenn man auf die Shopversion 9.0 updated, müssen an dieser Stelle noch die Datenbank Updateroutinen zum DB-Update auf v.9.0 durchlaufen werden. Dies wird für diese Shopversion über ein Datenbank Update-Tool Web-basiert durchgeführt und nicht mehr durch das Einlesen von SQL-Dateien. Dazu öffnet man im Browser die URL: https://www.ihre_domain.tld/ihr_shopverzeichnis/shop/Admin/vers_db_updater.php

Das Datenbank-Update läuft Menü geführt ab. Man sollte sich bei grösseren Datenmengen etwas Zeit einrechnen. Falls man mehr als 20000+ Artikel im Shop hat, rentiert es sich, die Update-Scripts via Shell-Konsole manuell auszuführen. Zu finden in: shop/Admin/update_sqls/ Gegebenenfalls muss man dazu nochmals mit dem Provider Kontakt aufnehmen. Wenn das letzte Update-Statement durchlaufen wurde, können Sie die Seite neu laden (F5 oder CTRL+R). Wenn alles gut verlief, wird angezeigt, dass kein Update mehr notwendig ist.

3.3) Klicken Sie nach dem erfolgreichen Datenbank Update auf den Link “Shopdatenbank aufräumen”. ACHTUNG: Wenn hier Info- oder Fehlermeldungen angezeigt werden, sollte man diese notieren und entsprechende Anweisungen befolgen.

Abschlussarbeiten

4.1) Jetzt müssen noch die Verzeichnisrechte angepasst werden, wie in einem Kapitel “Anpassen der Datei-Zugriffsrechte” der Anleitung ‘Installation ohne Telnet/SSH’ beschrieben steht: https://www.peppershop.com/peppershop_files/installation_ohne_telnet_ssh.pdf

Ebenfalls in dieser Anleitung beschrieben, steht auch, wie man den htaccess-Administrations-schutz (wieder)herstellt. DIES IST SEHR WICHTIG!

4.2) *** BETRIFFT NUR ÄLTERE SHOPVERSIONEN ALS 5.0 *** Design zurücksetzen: Aufgrund ab der Version 5.0 komplett überarbeiteten Shop-Design empfehlen wir Ihnen, die Layout-Einstellungen von Ihrem Shop zurückzusetzen und das Design neu zu gestalten:

  • Öffnen Sie im Menü der Shop-Administration “Design -> Themes”
  • Drücken Sie beim Theme mit dem Namen “PepperShop” auf die Schaltfläche “reset”

4.3) WICHTIG: Falls Sie den obigen Schritt überspringen, müssen Sie unbedingt das “Design -> Einstellungen -> Design-Detailanpassungen” öffnen und dort auf die Schaltfläche “Speichern” klicken. Ebenfalls wenn Sie bereits die Version 6 verwenden sollten.

4.4) *** BETRIFFT NUR SHOPS, DIE VON EINER ÄLTEREN SHOPVERSIONEN ALS VERSION 5.0 UPDATEN *** Da ab Version 5.0 die Darstellung des Shops immer automatisch an die Bildschirmgrösse des Endgerätes angepasst wird, müssen für die verschiedenen Grössen auch unterschiedliche Logos hochgeladen werden. Dies können Sie in der Shop-Administration unter “Design -> Bilder hochladen”. Für das Shoplogo Mobile empfehlen wir eine Grösse von ca. 200x40 Pixel.

4.5) *** BETRIFFT NUR SHOPS, DIE VON VERSION 5.0 AUS UPDATEN *** Wenn Sie ein selbsterstelltes Theme verwenden, müssen die darin enthaltenen HTML-Templates auf erforderliche Anpassungen geprüft werden. Am besten werden die neuen hinzugekommenen / wichtigen Zeilen rauskopiert. Unter langugage/theme_templates im dazugehörigen Ordner die Templates mit Originaldatei überspielen und die manuellen Zeilen neu einfügen. Aufgrund möglicher neuer Abschnitte in den Templates ist dieser Vorgang äusserst wichtig!

4.6) Jetzt sollten noch bei “Einstellungen -> Allgemeine Shopeinstellungen” die Daten überprüft und gespeichert werden. Danach gleich noch im Menüpunkt ‘Lieferländer und Versandarten’ alles prüfen.

  • Falls der Shop MwSt. pflichtig ist, sollte man die MwSt. Zuordnung zu den Kategorien im entsprechenden Menü in der Shop-Administratation noch überprüfen.

4.7) Nach dem erfolgten Update sollten Sie unbedingt alle aktivierten Zahlungsarten testen! Wenn Sie Kreditkartenanbindungen haben, empfehlen wir unbedingt vollständige Testzahlungen zu machen!

4.8) *** BETRIFFT NUR SHOPS, DIE VON EINER ÄLTEREN SHOPVERSIONEN ALS VERSION 5.0 UPDATEN *** Der PepperShop verwendet ab Version 5.0 UTF-8 als Zeichensatz (sprachliche Kodierung). Dies muss in Ihrem PayPal Händlerkonto noch entsprechend konfiguriert werden.

  • Melden Sie sich in Ihrem PayPal Account an, z.B. via https://www.paypal.com/
  • Klicken Sie oben rechts auf das Icon für Ihr Profil
  • Beim aufklappenden Menü wählen Sie ‘Profil und Einstellungen’
  • Klicken Sie links auf ‘Verkäufer/Händler’
  • Klicken Sie unten im Balken in der Mitte auf den Link ‘Sprachliche Kodierung von PayPal-Buttons’
  • Klicken Sie auf den Button ‘weitere Optionen’
  • Wählen Sie im Dropdown Menü ‘Kodierung’ den Wert ‘UTF-8’ und bestätigen Sie dies mit Klick auf den Button ‘Speichern’

4.9) Falls Ihr Firmensitz in Deutschland ist, oder Sie Produkte in den EU-Raum versenden, sollten Sie unbedingt sicherstellen, dass Ihr Shop nach den Trusted-Shops Empfehlungen konfiguriert ist. Gehen Sie dazu entsprechend unserer Trusted-Shops Anleitung (Kapitel 4 - 5) vor: docs.peppershop.com/latest/de/trusted-shops/

4.10) Bitte kontrollieren Sie die Angaben im Impressum von Ihrem Shop und aktualisieren Sie die den Text unter “HIER AUSFUELLEN”.

4.11) *** BETRIFFT NUR SHOPS, DIE VON EINER ÄLTEREN SHOPVERSIONEN ALS VERSION 5.0 UPDATEN *** Anpassungen bei Verwendung von Bezahlungsart “Barzahlung” nötig:

  • Ab Version 5.0 wird die Bezahlungsart “Barzahlung” nur noch dann im Bestellvorgang angezeigt, wenn der Kunde eine “Abholungs-Versandart” als Versandart ausgewählt hat. Somit ist es beim Einsatz von der Bezahlungsart “Barzahlung”, beziehungsweise ab Version 5.0 “Bezahlung bei Abholung” genannt zwingend notwendig, dass mindestens eine Abholungs-Versandart eingerichtet ist. Mit “Abholungs-Versandarten” sind Versandarten gemeint bei denen die Kunden das Paket nicht geliefert bekommen, sondern vor Ort abholen müssen.
  • Indes werden “Abholungs-Versandarten” von den Modulen “Portal-Connector” und “Google Shopping” speziell berücksichtigt.
  • Diese Anpassung hat auch Auswirkungen auf die ERP-Anbindung, da neu eine Versandart definiert werden muss.
  • Um eine Versandart als Abholungs-Versandart zu klassifizieren gehen Sie bitte wie folgt vor:
  • Öffnen Sie im Menü der Shop-Administration “Einstellungen -> Lieferländer / Versand”
  • Klicken Sie bei der gewünschten Länderguppe auf die Schaltfläche “Bearbeiten”
  • Bewegen Sie den Mauszeiger zu den Versandarten und drücken Sie bei der gewünschten Versandart auf “Bearbeiten”
  • Aktivieren Sie die Einstellung “Abholungs-Versandart” und klicken Sie ganz unten auf die Schaltfläche “Speichern”

4.12) Falls das Webkasse-Modul eingesetzt wird (Version 5.0):

  • Das Modul und seine Oberfläche wurden komplette überarbeitet, womit auch eine neue Datei-struktur eingeführt wurde. Bitte notieren Sie sich Ihre Konfiguration.
  • Stellen Sie sicher, dass alle Webkasse-relevanten Dateien der Version 5.0.0 entfernt werden, und die Dateien der Version 6.0.0 neu eingefügt werden.
  • Auf jeden Fall prüfen, ob folgende zwei Dateien unter shop/module/webkasse/ noch existieren und löschen: webkasse_config.php / webkasse.def.php
  • Die Datenbank-Einträge zum Modul werden automatisch aktualisiert/erweitert, sobald man in der Shop-Administration das Webkasse-Modul aufruft.

4.13) *** BETRIFFT NUR SHOPS, DIE VON EINER ÄLTEREN SHOPVERSIONEN ALS VERSION 5.0 UPDATEN *** Nach dem Update von einem Shop der viel älter als Version 4.0 war, kann es vorkommen dass im Kategorienmanagement keine Kategorien angezeigt werden. So muss man in der Shop-Datenbank (phpMyAdmin) wie folgt vorgehen: Suchen der Kategorie-ID der Kategorie mit Namen ‘Nichtzugeordnet’. Nun folgenden SQL laufen lassen: UPDATE kategorien SET Parent_ID = 0 WHERE Kategorie_ID <> 12 Die Zahl 12 ersetzen durch die vorher notierte Kategorie-ID der Kategorie ‘Nichtzugeordnet’.

ACHTUNG: Dieser SQL-Befehl darf nur ausgeführt werden, wenn genau das genannte Problem auftritt! Im Zweifelsfall im Forum nachfragen: https://www.peppershop.com/forum/

4.14) Falls das Kategorienfilter/Drill Down Search-Modul eingesetzt wird:

  • Sollten Sie manuell einprogrammierte Filter in der Datei “shop/filter_kat_config.php” gehabt haben, müssen diese wieder übernommen werden.
  • Die Werte für “dropdown_padr” sollen entfernt werden
  • Der Werte für “dropdown_ab” sollen zu “scrollable_from” unbenannt werden
  • Wenn in oben genannter Datei allgemeine Konfigurationen verändert wurden, müssen diese an neuer Stelle platziert werden:
  • Prüfen Sie, ob getätigte Änderungen in der Administration unter “Module->Artikelfilter-> Konfiguration” zu finden sind und passen Sie diese in der neuen Maske an. Stellen Sie in jedem Fall sicher, dass für “Umgang mit Merkmalen ohne zugewiesene Filtervorlage” die Option “Standardvorlage verwenden” ausgewählt ist.
  • Sollten gewisse Konfigurationen dort nicht vorliegen, passen Sie die neue Konfigurations-Datei an folgender Stelle an: shop/module/filter_kat/classes/filter_kat_global_config.def.php
  • Unter Verwendung von Artikel-Merkmal-Filtern prüfen Sie ebenfalls folgende Datei auf notwendige Änderungen: shop/Admin/shop_filter_artikel_merkmale_config.php

4.15) Falls Sie NEUE Texte im Shop eingepflegt haben (shop/language/{Sprache}/localetext.inc.php) übernehmen Sie diese in die neue ausgesonderte Datei localetext_custom.inc.php an gleicher Stelle.

Tipp: Dasselbe können Sie seit Version 6.0 mit der Datei shopstyles.css tun. Haben Sie darin eigenes CSS, welches im Shop angewendet werden soll, können Sie dieses in eine Datei namens “shopstyles_custom.css” an gleicher Stelle aussondern.

4.16) Wenn Ihr Shop mehrsprachig ist und die alte Version älter als v.7 war: Ab PepperShop v.7 müssen Sprachen, welche kundenseitig aktiv verwendet werden auch in der Administration aktiv sein. Daher bitte in der Shop-Administration für alle aktiven Sprachen bei “Einstellungen -> Sprachen -> bei “Administration aktiv” ein Häkchen setzen”

4.17) Ab der Version 8 gibt es einige Konfigurationsmöglichkeiten, welche nicht mehr in der Konfigurationsdatei shop/config.inc.php, sondern in der Shop-Administration zu finden sind. Falls Sie eine dieser Möglichkeiten eingeschaltet haben, müssen Sie diese also neu in der Shop-Administration aktivieren. Folgende Konfigurationen sind betroffen:

  • SHOW_OPTIONSARTIKEL_WARENKORB_GELEGT ist neu in der Shop-Administration unter

    Einstellungen -> Allgemein -> Shop-Konfiguration -> In Warenkorb legen mit Cross-Selling

  • DIREKTKAUF_ANZEIGE_MEHRSTUFIGE_DARST ist neu in der Shop-Administration unter Einstellungen -> Allgemein -> Shop-Konfiguration -> Direktkauf in Artikelliste

  • DIREKTKAUF_ANZEIGE_MEHRSTUFIG_MULTIARTIKEL ist neu in der Shop-Administration unter Einstellungen -> Allgemein -> Shop-Konfiguration -> Multi-Direktkauf in einspaltiger Liste

  • DIREKTKAUF_ANZEIGE_OPTIONSARTIKEL ist neu in der Shop-Administration unter Einstellungen -> Allgemein -> Shop-Konfiguration -> Direktkauf für Optionsartikel

4.18) Ab PepperShop Version 9 gibt es keine Datei shop/config.inc.php mehr. Diese Einstellungen werden neu nur noch datenbankbasiert über die Administration via Einstellungen - Shop Konfiguration - Konfiguration - “Steuerungskonstanten dieses Systems ansehen und bearbeiten” bearbeitet

4.19) .htaccess Elemente sicherstellen und erweitern: Weiterleitungen fuer SEO Links (pi,fi,ki,…) RewriteEngine on RewriteCond %{REQUEST_URI} (.)(/|^)(pi|fi|ki|ds|bc)(/|$) Folgende Zeile nur aktivieren, wennn nicht ueber /~{user}/ oder Muster keine Datei ist RewriteRule ^(pi|fi|ki|ds|bc)(/|$)(.)$ /%1%2$1.php [QSA,L,E=PATH_INFO:$3$4] Weiterleitung von Routing-Pfade zum Router RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_URI} !^/401.shtml$ RewriteRule ^ r.php [QSA,L]

4.20) Falls vorhanden: Alter Cron-Job für Sitemap Generierung entfernen, da diese jetzt on-the-fly erzeugt wird:

  • crontab -e -u {username}
  • {shop_directory}/shop/Admin; php shop_sitemap_generator.php commandline

4.21) Ab PepperShop v.9 wird ein Favicon Generator mitgeliefert. Ein allfällig bereits vorhandenes Favicon:

  • Als PNG-Datei (nicht .ico) hochladen in der Shop-Administration bei “Design -> Bilder hochladen”
  • Falls bisher ein Favicon manuell im HTML-Head integriert worden ist: Manuelle Integration im entsprechenden HTML-Template wieder entfernen

4.22) PepperShop POS Webkasse mit EPSON Bondrucker Hardware: Nach dem Update auf Version 9.0 oder neuer wird die Druckeranbindung ggf. auf “SSL immer aktivieren” konfiguriert. Damit der Drucker ansprechbar bleibt, bitte dieses Häkchen in “Webkasse -> Webkasse Konfiguration -> Kassenbeleg Konfiguration -> Druckausgabe -> SSL immer aktivieren” entfernen und speichern. Wir empfehlen auf dem EPSON Gerät ein SSL-Zertifikat zu installieren und danach hier das Häkchen zu aktivieren. Self-Signed-Zertifikat: Wenn man nun zum ersten mal die Kasse betritt erscheint eine entsprechende Zugriffsfehlermeldung für den Bondrucker. Hier kann man dem Hinweis folgen und mit http://ip-des-bondruckers einen einmaligen Aufruf vom Kassen-PC aus tätigen. Danach funktioniert die Kommunikation mit dem Bondrucker wieder und ist verschlüsselt.

weitere Hinweise

Bei Problemen sollte das Forum auf https://www.peppershop.com/ weiterhelfen können.

Viel Spass mit der neuen Shopversion!


v.9.0, 11.01.2022, tma, fjo

🌶️
🔥
🌶️