Plugins und Subsites

Plugins, die keine eigenen Daten erzeugen (z. B. TableSort) funktionieren problemlos auch in Subsites und deren Zweitsprachen.

In normalen mehrsprachigen Installationen (ohne Subsites) funktionieren auch datenerzeugende Plugins problemlos.

Das Problem in Subsites

Bei Subsites kann es Probleme mit datenerzeugenden Plugins geben, wenn diese ihre Daten im Plugin Ordner der Hauptinstallation ablegen, und die Mehrsprachigkeit unterstützen, indem die Datendateien Namen haben, die die Sprache enthalten, wie z. B.:

usw.

Da die Sprachen in den Subsites und deren Zweitsprachen mehrfach verwendet werden, reicht diese Art der Unterscheidung nicht mehr aus.

Die Lösung

Dieses Problem kann nur von den Plugin Entwicklern zuverlässig gelöst werden, indem die Plugins so programmiert werden, dass sie die Daten im content-Ordner der jeweiligen Subsite oder Zweitsprache ablegen.

Ist der Datenpfad konfigurierbar, sollte er nicht aus dem CMSimpleRoot heraus konfigurierbar sein, sondern aus dem Root der jeweiligen Subsite oder Zweitsprache heraus.

Nur so ist gesichert, dass verschiedene Subsites und Zweitsprachen nicht auf die gleichen Daten zugreifen und diese verändern können.

Zugriffsgeschützte Plugindaten

Der Zugriffsschutz für Verzeichnisse per .htaccess ist nur auf Apache Webservern wirksam. Auf anderen Webservern muss sich der Administrator selbst um die Zugriffsrechte seiner Verzeichnisse kümmern.

Die Plugindaten sollten sinnvoller Weise in einem Unterordner des content-Ordners der jeweiligen Subsite oder Zweitsprache angelegt werden. Dieser Ordner ist von Haus aus per .htaccess vor neugierigen Blicken geschützt, und das vererbt sich auch auf die Unterordner.

Dieser Zugriffsschutz kann aber auch Probleme verursachen, z. B. bei Galerien. Da sind dann plötzlich die Bilder nicht mehr sichtbar, schuld daran ist der Zugriffsschutz per htaccess.

Deshalb gibt es einen Ordner

./content/plugins/

bei dem dieser Zugriffsschutz per .htaccess wieder aufgehoben wird. Auch diese Aufhebung vererbt sich auf die Unterordner.

Wenn es also keine sensiblen oder nichtöffentlichen Daten im Plugin gibt, kann der Datenpfad einfach in einen Unterordner des Ordners

./content/plugins/

konfiguriert werden.