Sep '19 30
Profihost informierte Anfang August alle Kunden über ein wichtiges SystemUpdate welches für Februar 2020 geplant ist.
Mit dem Update einher geht auch die Aktualisierung der PHP-Versionen. Danach stehen die Versionen 5.6 - 7.4 zur Verfügung. Ältere Versionen werden nicht mehr unterstützt!

Weitere Informationen dazu finden Sie unter folgendem Link:
https://wissen.profihost.com/wissen/artikel/informationen-zum-debian-buster-update-feb-2020/

Bitte prüfen Sie rechtzeitig mit welcher PHP Version Ihr Shop aktuell läuft. Die Information finden Sie im Adminbereich unter:
"Service -> Systeminfo".

Posted by Daniela Biewald

Sep '19 26
Für unser Modul "Heidelpay" gibt es ab sofort ein neues Update für die Shopversionen ab 6.0.1

6.1.0.0 Update Details

Konfigurationsumstellung

Wir haben für Shopbetreiber die Admin Konfiguration überarbeitet, damit eine flexiblere Konfiguration der Zahlungsarten und Channels möglich ist.
So sind bspw. unterschiedliche Konfigurationen für jedes einzelne Rechnungsland möglich.

Nähere Details finden Sie hier erklärt: https://docs.oxidmodule.com/Heidelpay/6.1.0.0/changelog/Channel_Rekonfiguration.html

Backward Compatibility Break (BC break oder auch Rückwärtskompatibilitätsunterbrechung)

Die automatische Installation wurde aufgeräumt. Bisher wurden Konfigurationen vor der Modulversion 6.0.0.0 abgearbeitet und migriert. Mit dieser Version werden lediglich die Konfigurationen der 6.0.0.0 oder größer berücksichtigt.

Hinweis:
Wenn Sie eine ältere Version einsetzen und auf die 6.1.0.0 oder höher aktualisieren wollen, haben sie 2 Möglichkeiten:

  1. Konfiguration neu anlegen

  2. Zwischenupdate auf 6.0.3.1
    • Sie aktualisieren das Modul auf 6.0.3.1, führen die automatische Installation durch. Danach aktualisieren Sie das Modul auf 6.1.0.0 oder höher

Unterscheidung zwischen Live- und Testdaten

Mit der Konfigurationsumstellung haben Sie nun die Möglichkeit, unterschiedliche Daten für Live/Test einzugeben.
Welche Daten aktuell verwendet werden, können Sie anhand der grünen Umrandung erkennen.

Bugfix: zusätzliche URL Parameter für Tracking wurden in der Response Datei nicht verarbeitet

Vielen Dank an der Stelle an Herrn F. Sturm für die Meldung des Fehlverhaltens.
Die Kommunikation erfolgt teilweise zwischen dem Kundenbrowser und dem Heidelpayserver. Hier ist es wichtig, dass anhand von einem Parameter analytische Werkzeuge erkennen können, dass der Referrer weiterhin der Kunde ist und nicht der Heidelpay Server (Bspw. nutzt Google Analytics den Parameter utm_nooverride=1).

Sie können die Einstellung im Admin einsehen:
/D³ Module/Heidelpay/Einstellungen/Stamm/Erweiterte Einstellungen zu den Heidelpay-Zahlarten/zusätzliche URL Parameter für Tracking/

Erwerben können Sie das Modul wie gewohnt über unseren Moduleshop.

Die E-Payment Komplettlösung

Posted by Daniela Biewald

Sep '19 25
Für unser Modul "Erweiterte Suche" gibt es ab sofort ein neues Update für die Shopversionen ab 6.0.0

Folgende Änderungen sind enthalten:
  • gefilterte Seiten werden nicht im Dynamic Content Cache aufgenommen
  • Debug-Ausgaben wurden von der Browser-Ausgabe zur Browser-Konsole verschoben
  • Suggest (Schnellsuche) verwendet ArticleList-Objekt statt natives Array
  • setze passende Leerwerte, wenn jeweiliger Filter nicht aktiviert ist, vermeidet warning-Meldungen im Log
Erwerben können Sie das Modul wie gewohnt in unserem Moduleshop.

fehlertolerante Suche mit zusätzlichen Filter- und Anzeigemöglichkeiten

Posted by Daniela Biewald

Sep '19 24

Seit gestern ist unser neues D3 Helpcenter unter https://faq.d3data.de online!

Hier finden Sie ab sofort Handbücher zu unseren Modulen sowie Hilfen, Tipps und Tricks zu den verschiedensten Bereichen des Online-Shops.

Mit dem neuen Helpcenter wurde unsere FAQ unter faq.oxidmodule.com abgelöst.

Posted by Daniela Biewald

Sep '19 4
Der aktuelle OXID-Shop besteht, im Gegensatz zu älteren Versionen, nicht aus einem großen Dateipaket, welches den gesamten Shop enthält. Vielmehr setzt sich die Shopinstallation heute aus vielen Einzelpaketen zusammen. Um dessen richtige Zusammenstellung kümmert sich Composer während der Installation.

Startpunkt für die Shopinstallation ist das Paket oxid-esales/oxideshop-project welches selbst aber keine Shopdateien enthält. Dieses bringt ausschließlich Informationen über weitere erforderliche Pakete mit (Metapackage). Installiert man dieses, werden die darin benannten Packages nachgeladen, die selbst ebenfalls weitere Pakete nachfordern können. Schlussendlich ergibt dies dann einen kompletten OXID-Shop.

OXID eShop CE originale Paketstruktur

Nun werden aber die Wenigsten diesen Basisshop verwenden. Meist werden noch Module nachinstalliert. Im besten Fall kommen diese ebenfalls als über Composer installierbare Pakete.
Wenn man diese Shop- und Modulkombination häufiger benötigt oder sich die Nachinstallation sparen will, kann man sich die individuelle Zusammenstellung auch schon passend vorbereiten. Dann steht nach der Installation sofort der komplette Shop mit allen Modulen fertig zur Verfügung.

Voraussetzungen:

  • ein über Composer zu installierender Shop
  • alle einzufügenden Module ebenfalls über Composer installierbar
  • ein öffentlich erreichbares Repository (z.B. kostenfrei bei Github)
  • einfache git-Kenntnisse
  • praktischerweise ein kostenfreies Konto bei packagist.org

Umsetzung

Um diese angepasste Installation vorzubereiten, tauschen wir einfach das oberste Package des Abhängigkeitenbaums aus und verändern dieses nach unseren Erfordernissen.

Hierzu legen wir uns einen Fork des Original-Repositories https://github.com/OXID-eSales/oxideshop_project an. Das geht bei Github ganz einfach über den Button "Fork" (rechts oben).

Den neuen Fork klonen wir zur lokalen Bearbeitung auf unseren Computer.

In unserer Kopie finden wir nun mehrere Entwicklungszweige (Branches). Im Master-Zweig befindet sich die Datei `composer.json`, in der wir die ID `oxid-esales/oxideshop-project` gegen eine neue individuelle ID austauschen. Ich habe mich dazu entschieden, den ersten Teil (den Vendor) anzupassen. Meine Version sieht dann so aus:

{
"name": "d3/oxideshop-project",
"type": "project",
"description": "This file should be used as an OXID eShop project root composer.json file. Entries provided here intended to be examples and could be changed to your specific needs.",
"license": [
"GPL-3.0-only"
]
}


Diese Datei speichern wir und übertragen diese (mit "add", "commit" und "push") in unser Repository in den Master-Zweig.

Dann wechseln wir in den Zweig für unsere aktuell gewünschte Shopversion. In meinem Fall wechsel ich zu **b-6.1-ce**, da ich später die Community Edition in Version 6.1.x installieren möchte. Auch dort ändern wir in der `composer.json` die ID auf unsere neue Version ab. Wählt für andere Shopeditionen und -versionen einfach den passenden Zweig.

Im Abschnitt `require` können wir nun zusätzlich alle Module eintragen, die automatisch mit installiert werden sollen. Die erforderlichen Angaben erfahrt ihr beim jeweiligen Modulautor. In meinem Fall habe ich unter anderem die Module Internals aus der Community nachgetragen. Alle Paket-Einträge müssen mit einem Komma getrennt sein. Nur der letzte Eintrag darf nicht mit einem Komma enden.

Der erste Eintrag (hier `oxideshop-metapackage-ce`) muss erhalten bleiben.

"require": {
"oxid-esales/oxideshop-metapackage-ce": "v6.1.3",
"oxid-community/moduleinternals": "^2.0"
}


Auch diese Änderung speichern wir und übertragen diese ins Repository.
Für andere Shopeditionen und -versionen könnt ihr die anderen Zweige ebenfalls noch anpassen.

Nun machen wir unser neues Paket der Öffentlichkeit noch bekannt.
Dazu melden wir uns auf packagist.org an und rufen "Submit" auf. Dort tragen wir die URL unseres Repositories ein. Dann wird geprüft, ob unsere vergebene ID eindeutig ist. Wenn diese schon verwendet wird, tauscht ihr die ID an den oben beschriebenen Stellen bitte noch einmal aus.
Nach einer kurzen Wartezeit könnt ihr die Shopinstallation mit diesem neuen Befehl gleich komplett ausführen:

composer create-project --no-dev d3/oxideshop-project my_oxid_eshop_project dev-b-6.1-ce

Verwendet darin natürlich eure eigene Paket-ID.

Wenn eine neue Shopversion veröffentlicht wird, gibt es auch Änderungen am oxidproject-Package. Übernehmt dann diese Änderung bitte in eure angepasste Datei, wenn ihr dorthin aktualisieren wollt.

Sonderfall "Pakete entfernen"

Über den beschriebenen Weg könnt ihr Pakete einfach hinzufügen. Etwas schwieriger wird es, wenn ihr Pakete entfernen wollt, die der Shop selbst mitbringt. Manch einer benötigt z.B. die Demodaten nicht oder möchte auf eines der Zahlartenmodule verzichten, die der Shop im Standard enthält.

Da sich diese Pakete mitten im Abhängigkeitsbaum befinden, wäre es sehr aufwändig, diese komplett aus der Installation zu lösen. Composer bietet jedoch die Möglichkeit, solche Pakete einfach zu ersetzen. Wir können dann stattdessen leere Pakete mitgeben, die sich wie zusätzliche Module installieren lassen.

Diese Ersatzpakete werden für jedes zu ersetzende Modul separat erstellt. Für die üblichen Fälle haben wir diese schon fertiggestellt:


Diese Pakete könnt ihr genauso in eure composer.json aufnehmen, wie neue Module. In unserem Installationsprojekt sieht dies dann beispielsweise so aus:

"require": {
"oxid-esales/oxideshop-metapackage-ce": "v6.1.3",
"oxid-community/moduleinternals": "^2.0",
"d3/oxideshop-demodata-ce-replacement": "*"
},


So verzichten wir in unserer Beispielinstallation auf die Demodaten.

Natürlich könnt ihr diese Ersetzungen auch jederzeit manuell in einem schon bestehenden Shop installieren.

Die Ersetzung lassen sich genauso jederzeit wieder entfernen, wenn ihr die originalen Module dennoch später einsetzen wollt.

Ersetzungen müssen natürlich nicht grundlegend leer sein. Damit könnt ihr theoretisch auch alternative Inhalte (z.B. temporäre Bugfixes o.ä.) für ein bestehendes Paket ausliefern.

Fazit

Unsere neue Paketstruktur sieht nun so aus:

OXID eShop CE angepasste Paketstruktur

Die eShop-Zusammenstellung muss nicht in Stein gemeiselt sein. Mit überschaubarem Aufwand lassen sich angepasste Installationpakete erstellen.

Die Replace-Funktion von Composer ist ein wenig dokumentiertes, aber mächtiges Werkzeug, um bestehende Paketzusammenstellungen und -inhalte zu ändern.

Das hier eben beschriebene Projekt findet ihr installationsfähig unter d3/oxideshop-project.

Wir wünschen euch viel Spaß beim Ausprobieren.

Euer Team von D3

Posted by Max Buhe