Derzeit haben wir einen "Wildwuchs" was den Speicherort von Helpern angeht, sowohl bei der Entwicklung als auch der CV Verzeichnisstruktur.
Beispiele:
rsslog-plugin - benötigt ein rsslog.php welches zusammen mit dem Plugin gespeichert wird (sowohl im GitHub als auch in der CV Verzeichnisstruktur)
wgplugin_info - benötigt ein script wg-plugindb.pl oder wg-plugindb.php welches hier https://github.com/OpenAutomationPro...ls/wg-plugindb gepflegt wird und vom Benutzer manuell in den webroot kopiert werden muss (Achtung: absoluter Pfad wird in CV benutzt um das Script zu finden)
GoogleCalenderHelper - kein eigenen Plugin sondern benutzt web-src, das nötige Helper-Script wird hier https://github.com/OpenAutomationPro...CalendarHelper gepflegt, es muss vom Benutzer manuell in ein zugreifbares Webverzeichnis kopiert werden und der Pfad entsprechend im Plugin genutzt werden
3 Scripts, drei verschiedene Repos und Wege es zu installieren, 3 verschiedene Speicherorte
"Eigentlich" mag ich die Variante vom rsslog-plugin, das benötigte Helperscript gleich im CV-Source zu haben. Das löst mehrere Probleme (z.B. keine manuelle Installations durch Nutzer nötig, relative Pfade möglich, damit "Reverse-Proxy freundlich"), allerdings gibt es ja noch helper scripts die nicht direkt an einem Plugin hängen.
Mein Vorschlag wäre es, mal einen Speicherort (sowohl in der Entwicklung als auch in der CV-Verzeichnisstruktur) als "Sollzustand" zu definieren und dann können wir nach und nach alles darauf anpassen.
(in beiden Optionen ist "/var/www/cometvisu" nur ein Beispiel für den Speicherort im Dateisystem)
Option 1) alle Helper Scripts sind zusammen mit dem zugehörigen Plugin zu speichern, also https://github.com/CometVisu/CometVisu/tree/develop/src/plugins/<plugin> und dann entsprechend /var/www/cometvisu/plugins/<plugin>
Frage: Wohin mit Helpern die nicht direkt an einem Plugin hängen, z.B. GoogleCalenderHelper
Option 2) alle Helper Scripts haben ihre Quellen außerhalb der CV (aber bitte generell entweder OpenAutomationProject/Wiregate _oder_ OpenAutomationProject/OpenAutomation) und werden in einem generischen Verzeichnis gespeichert, z.B. /var/www/cv-scripts, die CV sollte diese dann relativ ansprechen (z.B. ../cv-scripts/script.php)
In jedem Fall wäre es hilfreich, bei Plugins die ein Script nutzen, dass nicht mit der CV mitkommt den Pfad zu dem Script als Konfigurationsobjekt bei der Plugin-Nutzung abzufragen anstatt Pfade hart zu kodieren (Kandidat dafür wäre z.B. wgplugin_info)
Gedanke: Auch l,r,w könnte man evtl. in diese Überlegung einbeziehen, im Moment sind die ja auf /cgi-bin festgenagelt.
Wenn wir zu eine Konsens kommen würde ich das gern in Form von Pull Requests ändern.
Edit: Noch ein prominentes Beispiel (und damit auch schon der vierte unterschiedliche Fall) ist das diagram-plugin und rrdfetch, welches in /cgi-bin liegen muss und sogar als separates Paket daherkommt.
Beispiele:
rsslog-plugin - benötigt ein rsslog.php welches zusammen mit dem Plugin gespeichert wird (sowohl im GitHub als auch in der CV Verzeichnisstruktur)
wgplugin_info - benötigt ein script wg-plugindb.pl oder wg-plugindb.php welches hier https://github.com/OpenAutomationPro...ls/wg-plugindb gepflegt wird und vom Benutzer manuell in den webroot kopiert werden muss (Achtung: absoluter Pfad wird in CV benutzt um das Script zu finden)
GoogleCalenderHelper - kein eigenen Plugin sondern benutzt web-src, das nötige Helper-Script wird hier https://github.com/OpenAutomationPro...CalendarHelper gepflegt, es muss vom Benutzer manuell in ein zugreifbares Webverzeichnis kopiert werden und der Pfad entsprechend im Plugin genutzt werden
3 Scripts, drei verschiedene Repos und Wege es zu installieren, 3 verschiedene Speicherorte
"Eigentlich" mag ich die Variante vom rsslog-plugin, das benötigte Helperscript gleich im CV-Source zu haben. Das löst mehrere Probleme (z.B. keine manuelle Installations durch Nutzer nötig, relative Pfade möglich, damit "Reverse-Proxy freundlich"), allerdings gibt es ja noch helper scripts die nicht direkt an einem Plugin hängen.
Mein Vorschlag wäre es, mal einen Speicherort (sowohl in der Entwicklung als auch in der CV-Verzeichnisstruktur) als "Sollzustand" zu definieren und dann können wir nach und nach alles darauf anpassen.
(in beiden Optionen ist "/var/www/cometvisu" nur ein Beispiel für den Speicherort im Dateisystem)
Option 1) alle Helper Scripts sind zusammen mit dem zugehörigen Plugin zu speichern, also https://github.com/CometVisu/CometVisu/tree/develop/src/plugins/<plugin> und dann entsprechend /var/www/cometvisu/plugins/<plugin>
Frage: Wohin mit Helpern die nicht direkt an einem Plugin hängen, z.B. GoogleCalenderHelper
Option 2) alle Helper Scripts haben ihre Quellen außerhalb der CV (aber bitte generell entweder OpenAutomationProject/Wiregate _oder_ OpenAutomationProject/OpenAutomation) und werden in einem generischen Verzeichnis gespeichert, z.B. /var/www/cv-scripts, die CV sollte diese dann relativ ansprechen (z.B. ../cv-scripts/script.php)
In jedem Fall wäre es hilfreich, bei Plugins die ein Script nutzen, dass nicht mit der CV mitkommt den Pfad zu dem Script als Konfigurationsobjekt bei der Plugin-Nutzung abzufragen anstatt Pfade hart zu kodieren (Kandidat dafür wäre z.B. wgplugin_info)
Gedanke: Auch l,r,w könnte man evtl. in diese Überlegung einbeziehen, im Moment sind die ja auf /cgi-bin festgenagelt.
Wenn wir zu eine Konsens kommen würde ich das gern in Form von Pull Requests ändern.
Edit: Noch ein prominentes Beispiel (und damit auch schon der vierte unterschiedliche Fall) ist das diagram-plugin und rrdfetch, welches in /cgi-bin liegen muss und sogar als separates Paket daherkommt.
Kommentar