Seitenname = Pluginname

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Seitenname = Pluginname

Post by frase » Thu May 31, 2018 5:48 am

Ich weiß gar nicht, ob Sie's schon wussten ...

Gerade habe ich für die Beantwortung einer Useranfrage in einer Testinstallation mal schnell eine Seite mit Namen "advancedform" angelegt und dort den Pluginaufruf {{{PLUGIN:advancedform('Contact');}}} platziert.

Lustig:
Mit normalen Mitteln kommt man im Adminmodus nicht mehr an die Seite (den Seiteninhalt) heran. Egal, ob Vorschau oder Bearbeiten-Modus: Immer wird nur die Plugin-Administration angezeigt. (ausgeloggt ist alles OK)

Ich denke, es wird eher sehr selten vorkommen, dass jemand einen Seitennamen wählt, der exakt dem des Plugins entspricht.
Falls doch - so wie eben bei mir - dann gibts Ärger und Tränen ;-)

Wäre das irgendwie vom Core her vermeidbar?

manu
Posts: 1086
Joined: Wed Jun 04, 2008 12:05 pm
Location: St. Gallen - Schweiz
Contact:

Re: Seitenname = Pluginname

Post by manu » Thu May 31, 2018 8:18 am

Das gabs doch schon mal. Ist systembedingt und wohl nicht (so einfach) änderbar.

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Seitenname = Pluginname

Post by frase » Thu May 31, 2018 8:31 am

manu wrote:
Thu May 31, 2018 8:18 am
Das gabs doch schon mal. Ist systembedingt und wohl nicht (so einfach) änderbar.
Dachte ich's mir doch. 2009!
Ich denke auch, dass das nicht so leicht zu ändern ist.
Selbst, wenn der Pagemanager beim Seitenanlegen meckerte - installiert man später ein Plugin mit passendem Namen, dann knallts wieder.
Und auch eine "Bad-Words"-Liste nützt nichts, weil man nicht alles voraussehen kann.
Vielleicht könnte Hartmut in der Doku so etwas ähnliches wie: "Bekannte Probleme" aufnehmen, damit User, die wirklich mal in eine solche Situation kommen, dort nachschauen können - und nicht verzweifeln.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Seitenname = Pluginname

Post by cmb » Thu May 31, 2018 11:37 am

manu wrote:
Thu May 31, 2018 8:18 am
Ist systembedingt und wohl nicht (so einfach) änderbar.
Genau. Grundproblem ist, dass der erste Query-Parameter, falls ohne =Wert angegeben, immer als Seitenname interpretiert wird, aber auch diverse „interne“ Variablen gesetzt werden, wenn ein entsprechender Query-Parameter ohne =Wert irgendwo in der URL vorhanden ist. Das könnte man theoretisch leicht lösen, aber das führte zu einem insgesamt recht heftigen BC break (so manche Bookmarks würden nicht mehr funktionieren, und bei den meisten Plugins müsste nachgebessert werden). Eine vielleicht verkraftbare Besserung wäre es, wenn wir allen speziellen Seitennamen ein xh voranstellen.
frase wrote:
Thu May 31, 2018 5:48 am
Gerade habe ich für die Beantwortung einer Useranfrage in einer Testinstallation mal schnell eine Seite mit Namen "advancedform" angelegt und dort den Pluginaufruf {{{PLUGIN:advancedform('Contact');}}} platziert.

Lustig:
Mit normalen Mitteln kommt man im Adminmodus nicht mehr an die Seite (den Seiteninhalt) heran. Egal, ob Vorschau oder Bearbeiten-Modus: Immer wird nur die Plugin-Administration angezeigt. (ausgeloggt ist alles OK)
Man könnte sich das neue XH_wantsPluginAdministration(), das ja leider auch viel Leid verursacht macht, zu nutze machen. Ersetze doch mal diese Zeile durch:

Code: Select all

    return (bool) preg_match('/(?:&)' . preg_quote($pluginName, '/') . '(?=&|$)/', sv('QUERY_STRING'));
Dann sollte man per http://example.com/?advancedform auf die Seite, und per http://example.com/?&advancedform auf die Pluginadministration zugreifen können (ungetestet!) Es bleibt aber das potentielle Problem, dass URLs, die von Plugins konstruiert werden, dann eben nicht mehr passen.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Seitenname = Pluginname

Post by frase » Thu May 31, 2018 11:59 am

cmb wrote:
Thu May 31, 2018 11:37 am
Es bleibt aber das potentielle Problem, dass URLs, die von Plugins konstruiert werden, dann eben nicht mehr passen.
Und genau darum - und eben aus Zeitgründen - habe ich jetzt nicht weiter getestet.
Es ist ja eigentlich nur ein theoretisches Problem und mit einer Seitennamensänderung leicht behoben.
Ihr XH-Programmierer könntet das aber im Auge behalten. Einen großen BC-break möchte ich allerdings nicht provozieren. Wir sind ja noch nicht mal mit dem Wechsel zu 1.7 und allen Plugins fertig.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Seitenname = Pluginname

Post by cmb » Thu May 31, 2018 12:40 pm

frase wrote:
Thu May 31, 2018 11:59 am
Und genau darum - und eben aus Zeitgründen - habe ich jetzt nicht weiter getestet.
Ich hab's mal mit Fa_XH ausprobiert (also Seitename fa), und soweit funktioniert es.
frase wrote:
Thu May 31, 2018 11:59 am
Es ist ja eigentlich nur ein theoretisches Problem und mit einer Seitennamensänderung leicht behoben.
Na ja, so theoretisch ist es eben nicht. Außer manu ist zumindest auch kurtm darüber gestolpert. Schlimmer: damit hängt auch das $s Problem zusammen, das wir wirklich in den Griff bekommen sollten.
frase wrote:
Thu May 31, 2018 11:59 am
Ihr XH-Programmierer könntet das aber im Auge behalten.
Wir sollten! Zumindest wäre es sehr sinnvoll möglichst bald eine Möglichkeit anzubieten, die von Plugins genutzt werden kann, damit an diesen nicht später nachgebessert werden müsste.
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply