Sollte es für einen Artikel notwendig sein, dass mehrere Dateien zur Verfügung stehen (z.B. ein Lied das in drei verschiedenen Formaten existiert, eine Dokumentation als DOC oder PDF, etc.) stößt das SW-Grundsystem an seine Grenzen. Es können zwar Archive (wie z.b. ZIP’s) hinterlegt werden, doch dann ist der Kunde gezwungen immer alles auf einmal herunterzuladen.
Um die Artikelerstellung zu vereinfachen, greift das Plugin den Ansatz der ZIP-Archive auf. Wenn Kunden jedoch den Downloadprozess anstoßen, werden sie auf eine Seite weitergeleitet, auf der ihnen alle Dateien innerhalb des Archives separat angeboten werden und auch die Option das gesamte Archiv herunterzuladen.

Die Downloadbegrenzung wird sowohl für die einzelnen Dateien als auch für das gesamte Archiv berücksichtigt. Dabei ist die Begrenzung der einzelnen Dateien in einem separaten Freitextfeld unterhalb des Normalen aufgelistet (s. “Downloadbegrenzung”). Die Dateiauswahl kann hierbei solange aufgerufen werden, solange das Gesamtarchiv noch nicht die Downloadbegrenzung erreicht hat. Die Auswahl einer zu oft heruntergeladenen Datei führt jedoch zu einer entsprechenden Fehlermeldung. WICHTIG: Dadurch dass die Begrenzung separat verfolgt wird, ist es theoretisch möglich, dass Kunden erst alle Dateien bis zur Begrenzung herunterladen und anschließend das Gesamtarchiv bis zu Begrenzung und somit effektiv die doppelte Anzahl Downloads zur Verfügung haben.
Sollte der Wunsch bestehen die Dateien in der Kundenauswahl in eine andere Reihenfolge zu bringen oder umzubenennen, ist dies über eine zusätzliche Datei im Archiv möglich. Diese zusätzlich Datei muss “config.txt” heißen. Ein Eintrag in dieser Datei muss folgendes Muster haben: DATEINAME:WUNSCHNAME. Mehrere Einträge dieser Datei müssen durch Semikolons getrennt werden. Bsp.:

  • software_1_version3_2018.exe:Unser cooles Programm (EN);software_1_version4_2018.exe:Unser cooles Programm (DE);
  • software_1_version3_2018.exe:Unser cooles Programm (EN);
    software_1_version4_2018.exe:Unser cooles Programm (DE);
Die Reihenfolge der Einträge in der config.txt bestimmt die Reihenfolge der angezeigten Dateien. Dateien für die kein Ersatzname angegeben wird, werden automatisch hinten angehängt.
Achtung: Ab Version 1.6 wird beim ersten Zugriff auf ein entsprechendes Archiv mit config.txt der Inhalt der config.txt in die Datenbank-Tabelle "s_plugin_pix_download_configs" geschrieben und die config.txt aus dem Archiv gelöscht, damit Kunden sich nach dem Download nicht über diese Datei wundern. Damit die Tabelle nicht mit der Zeit immer größer wird, löscht der CronJob "Extract and Check Download" alle Einträge in dieser Tabelle, deren Archiv nicht mehr existiert.

Aus Performance-Gründen werden die Archive intern entpackt.. Dies geschieht immer, wenn zum ersten Mal der Download aufgerufen wurde oder der CronJob “Extract and Check Download” durchläuft. Um Veränderungen in den Archiven erkennen zu können, ist der Ordnername ein Hash aus Archivname und -größe. Der Cronjob läuft einmal am Tag und entpackt zunächst alle Archive, die noch keinen entsprechenden Ordner haben und löscht anschließend alle Ordner zu denen es kein Archiv mehr gibt. Da dieser Prozess sehr viel Serverleistung in Anspruch nimmt, empfiehlt es sich diesen CronJob nachts laufen zu lassen.