Hi,
man kann sich vorstellen das dies nicht gewollt ist, aber ich habe mehrere Webseiten mit einer Contenido Installation laufen und bräuchte hier und da dasselbe Modul. Es ist (vielleicht über Umwege) möglich gleiche Module in verschiedene Mandanten zu verwenden?
gleiche Module in unterschiedlichen Mandanten verwenden...
Re: gleiche Module in unterschiedlichen Mandanten verwenden...
Modul aus einem Mandanten exportieren und in den neuen Mandanten importieren!
Falls Du allerdings meinst, dass man ein Modul das einem Mandanten zur Verfügung steht ohne es für die anderen Mandanten als Modul zu importieren, von allen Mandanten nutzen kann
, so muss ich Dich enttäuschen. Das ist meines Wissens nach nicht möglich.
Gruß,
funomat
Falls Du allerdings meinst, dass man ein Modul das einem Mandanten zur Verfügung steht ohne es für die anderen Mandanten als Modul zu importieren, von allen Mandanten nutzen kann

Gruß,
funomat
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Re: gleiche Module in unterschiedlichen Mandanten verwenden...
Von Haus aus geht das nicht.
Folgender Workaround müsste eigentlich funktionieren: Die Module jeweils in eine php-Datei im Ordner /contenido/includes/ (oder einem Unterordner) auslagern. In den Modulen in allen Mandanten dann nur noch ein
einfügen. blabla steht für den entsprechenden Pfad mit Dateinamen ausgehend vom Ordner /contenido/includes/.
Aber: Dadurch werden die Module nicht mehr verisoniert (geht ja auch gar nicht mehr) und das Editieren geht nicht mehr in Contenido. Außerdem kannst du dann nicht mehr ohne Weiteres die CMS_VAR/VALUE verwenden (siehe http://forum.contenido.org/viewtopic.php?t=9522).
Dieses Vorgehen ist allerdings sehr riskant! Das Gesamtsystem kann schnell unübersichtlich werden und wenn man einen Fehler im Code einbaut, so tritt dieser sofort in jedem Mandanten auf! Hier ist also auch bei kleinen Änderungen ein separates Entwicklungssystem (oder wenigstens ein "Entwicklungs-Mandanten") unabdingbar.
Grüße
mfweb
Folgender Workaround müsste eigentlich funktionieren: Die Module jeweils in eine php-Datei im Ordner /contenido/includes/ (oder einem Unterordner) auslagern. In den Modulen in allen Mandanten dann nur noch ein
Code: Alles auswählen
<?php
cInclude("includes","blabla");
?>
Aber: Dadurch werden die Module nicht mehr verisoniert (geht ja auch gar nicht mehr) und das Editieren geht nicht mehr in Contenido. Außerdem kannst du dann nicht mehr ohne Weiteres die CMS_VAR/VALUE verwenden (siehe http://forum.contenido.org/viewtopic.php?t=9522).
Dieses Vorgehen ist allerdings sehr riskant! Das Gesamtsystem kann schnell unübersichtlich werden und wenn man einen Fehler im Code einbaut, so tritt dieser sofort in jedem Mandanten auf! Hier ist also auch bei kleinen Änderungen ein separates Entwicklungssystem (oder wenigstens ein "Entwicklungs-Mandanten") unabdingbar.
Grüße
mfweb
-
- Beiträge: 4316
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 4 Mal
- Kontaktdaten:
Re: gleiche Module in unterschiedlichen Mandanten verwenden...
Hallo,
Auch der Ansatz von mfweb hat seine Tücken. Nicht nur das Versionierung und CMS-Variable und die Quellcode-Validierung nicht mehr gehen, da durch ein cInclude das Modul in einer Funktion gekapselt includiert wird, kann es zu Problemen mit nicht globalen Variablen kommen, ein Grund warum die Einbindung von Plugins nicht (mehr) in einer Funktion gekapselt wird.
Bei einer Mehrfachverwendung von Modulen würde ich den klassischen Weg bevorzugen. Andere Wege sind meiner Meinung nach auf sichere Weise nur durch Anpassungen im Core zu machen. Dabei sollte es dann einen Zähler geben, wie oft (Anzahl Mandanten) solch ein "globales" Modul eingesetzt ist. Änderungen dürften nur an einer Stelle möglich sein, evtl. nur durch einen sysadmin, für alle anderen müßte es einen Hinweis geben das es sich um ein globales Modul handelt. Ebenfalls müßte es für Übersetzungen und Versionierung ähnliche Vorgaben geben. Bei jedem Mandanten in dem das Modul im Einsatz ist eine Versionierung vorzunehmen wäre dann unsinnig.
Ich selbst nutze das Filesystem nur im Rahmen der Entwicklung für Module, wobei ich dafür aber Anpassungen im Core gemacht habe, so daß ich ausgewählte Module (In- und Output) aus Dateien einlese, so als kämen In- und Output aus der DB. Hierbei können gemachte Änderungen durch Klick auf Speichern im Modulbereich in der DB abgelegt werden und ich kann während der Entwicklung direkt in meiner IDE arbeiten ohne nervtötendes und andauerndes Copy & Paste. Vorteil ist auch, das Alles funktioniert als würde ich im Backend arbeiten.
Diese Lösung ist aber definitiv auch nicht für das hier gestellte Problem anwendbar.
Gruß aus Franken
Ortwin
grundsätzlich ist es nicht möglich, und in meinen Augen auch nicht sinnvoll. Von der Unübersichtlichkeit einmal abgesehen wäre es eh mit Vorsicht zu geniesen, da sich Änderungen im Modul dann nicht nur auf den aktuellen Mandanten, sondern auch auf alle anderen Mandanten auswirken, was eventuell garnicht erwünscht ist.BoFiaZ hat geschrieben:Es ist (vielleicht über Umwege) möglich gleiche Module in verschiedene Mandanten zu verwenden?
Auch der Ansatz von mfweb hat seine Tücken. Nicht nur das Versionierung und CMS-Variable und die Quellcode-Validierung nicht mehr gehen, da durch ein cInclude das Modul in einer Funktion gekapselt includiert wird, kann es zu Problemen mit nicht globalen Variablen kommen, ein Grund warum die Einbindung von Plugins nicht (mehr) in einer Funktion gekapselt wird.
Bei einer Mehrfachverwendung von Modulen würde ich den klassischen Weg bevorzugen. Andere Wege sind meiner Meinung nach auf sichere Weise nur durch Anpassungen im Core zu machen. Dabei sollte es dann einen Zähler geben, wie oft (Anzahl Mandanten) solch ein "globales" Modul eingesetzt ist. Änderungen dürften nur an einer Stelle möglich sein, evtl. nur durch einen sysadmin, für alle anderen müßte es einen Hinweis geben das es sich um ein globales Modul handelt. Ebenfalls müßte es für Übersetzungen und Versionierung ähnliche Vorgaben geben. Bei jedem Mandanten in dem das Modul im Einsatz ist eine Versionierung vorzunehmen wäre dann unsinnig.
Ich selbst nutze das Filesystem nur im Rahmen der Entwicklung für Module, wobei ich dafür aber Anpassungen im Core gemacht habe, so daß ich ausgewählte Module (In- und Output) aus Dateien einlese, so als kämen In- und Output aus der DB. Hierbei können gemachte Änderungen durch Klick auf Speichern im Modulbereich in der DB abgelegt werden und ich kann während der Entwicklung direkt in meiner IDE arbeiten ohne nervtötendes und andauerndes Copy & Paste. Vorteil ist auch, das Alles funktioniert als würde ich im Backend arbeiten.
Diese Lösung ist aber definitiv auch nicht für das hier gestellte Problem anwendbar.
Gruß aus Franken
Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog