Änderungen an Standard-Modulen (Dashboard und Client) nach ISPconfig Update weg

LaetzPlaey

New Member
Hallo zusammen,

ein Projekt von uns sieht Änderungen an den ISPconfig standard-Modulen vor. Unter anderem am Dashboard und am Client Modul. Es sollen weitere Felder zum Clienten hinzugefügt werden.
Das Problem besteht nun darin, dass die Änderungen an den Modulen vermutlich nach einem ISPconfig Updateweg wären. Wie lässt sich das verhindern? Ist es möglich Änderungen an Modulen vorzunehmen, ohne Verlust nach einem Update?

Danke im Vorraus.
 

Till

Administrator
Du kannst ISPConfig z.B. über Interface und server Plugins erweitern da ispconfig komplette evntbasiert arbeitet, oder über eigene Module. Wenn Du code in den Standardmodulen selbst änderst und keine Plugins verwendest, dann sind Deine Änderungen natürlich nach einem Update weg, wie bei jeder anderen Software auch.
 

Till

Administrator
Die beschriebenen Interface Plugins sind die Interface Modules, wie hier beschrieben (https://docs.ispconfig.org/development/interface/)?

Nein, das sind die Interface Modules. Interface plugins findest Du im Verzeichnis /usr/local/ispconfig/interface/lib/plugins/
Diese binden sich an events wie z.B. "client:client:eek:n_after_insert", schau Dir am besten mal den code der dort liegenden Plugins an. Wirklich Doku gibt es dazu leider nicht. Nur ein Hinweis, wenn Du neues plugin geschrieben hast, die events werden beim login des users einmalig einglesen, also ausloggen udn wieder einloggen wenn Du neues plugin oder neue events im code eingebunden hast.

Also lassen sich die standard Module garnicht anpassen, kann dementsprechend nicht einfach ein Feld zum Client hinzufügen?

Jein, es geht generell über die interface plugins, ist aber nicht ganz einfach. Such mal im interface code nach $app->plugin->raiseEvent, damit werden die events getriggert. Derzeit haben wir soweit ich weiß fast nur events beim speichern der formulare aber nicht beim laden, sollte an sich aber kein problem sein wenn wir nochmal ein paar Events z.B. für on_show, on_show_new, on_show_edit and on_show_end einbauen. Ich empfehle da zum lesen die tform.actions.inc.php Klasse, die im Grunde den gesamten Lebenszyklus eines Formulars abbildet und in der Du auch die meisten raiseEvent Aufrufe findst.

Im template handler (tpl.inc.php) gibt es auch automatisch generierte events für 'on_template_content' in die man sich einklinken kann um die generierte Ausgabe von Formularen anzupassen.
 

Werbung

Top