Das sind doch Argumente die gar nichts mit der Realität zu tun haben...Das Argument gegen xPath müsste doch jedem klar sein. Das checkt doch kein "normaler" Admin mehr, wenn er dann an seinen Templates schrauben will. Außerdem: schon jetzt zerstören sich die Leute scharenweise die XHTML-Validität. Das ist meistens mehr oder minder "egal", aber bei XML ist die Validität nunmal essentiell! Wir wollen doch eine Forensoftware mit der auch bibini glücklich ist![]()
Selbst wenn wir annehmen würden das funktioniert, was ich nicht tue denn wenn das konsequent umgesetzt wird würden die Templates geradezu von Template-Events überschwemmt werden, wäre zwar die Problematik der Template-Events in den Templates der LGPL-Pakete gelöst. Da gibt es nur ein klitzekleines Problem: Das WBB mit seinen zahlreichen proprietären Paketen ist nicht auf GitHub - und die bringen auch zahlreiche Templates mit. Da wird man wohl davon ausgehen können dass sich hier die Situation gegenüber den alten Template-Platzhaltern nichts ändern wird: Wird einfach nicht gemacht.Jetzt kann man neue Events aber direkt im Github via Pull Request vorschlagen, was die Aufnahme wohl deutlich beschleunigen wird.
Ich würde mich sogar bereit erklären diesen Pull Request zu machen. Aber hey, du wirst es nicht glauben - der wird abgelehnt werden! Vollkommen egal, es wird nie passieren dass die Template-Patches ins WCF 2.0 wieder eingeführt werden nachdem es veröffentlicht wurde.Sollten Templatepatches unumgänglich sein, dann möge sich einer Erbarmen und das PIP wieder einfügen und WCF 2.0 kompatibel machen und an populärer Stelle (also vorzugswiese hier) veröffentlichen, sodass alle Entwickler etwas davon haben.
Das würde erst mal voraussetzen dass man entsprechende Einstiegspunkte im Quelltext hätte. Jedenfalls sind mir keine Einstiegspunkte ins Templatesystem bekannt, als ich vor einiger Zeit für ein Projekt beim WCF 1.1 danach gesucht habe, habe ich jedenfalls keine passenden gefunden.Ich denke, Hawkes hat es gut auf den Punkt gebracht. Man sollte abwarten wie sich Template-Events in der Praxis bewähren. Wenn dann immer noch Bedarf vorhanden ist, kann man die Unterstützung für Template-Patches auch als separates Paket nachliefern (muss auch nicht von WoltLab selber kommen; Code ist eh LGPL).
Die Einstiegspunkte in den PIPs reichen bereits aus und die gibt es glaube ich sogar in WCF 1.1 schon. Ansonsten wohl auch ein leichtes, diese noch hinzufügen. Stell' doch bitte nicht alles so schlecht und endgültig dar!Das würde erst mal voraussetzen dass man entsprechende Einstiegspunkte im Quelltext hätte. Jedenfalls sind mir keine Einstiegspunkte ins Templatesystem bekannt, als ich vor einiger Zeit für ein Projekt beim WCF 1.1 danach gesucht habe, habe ich jedenfalls keine passenden gefunden.
Ich glaube wir reden nicht über das Gleiche, oder? Also ich gehe davon aus, dass du willst, dass die Templates an stelle von (X)HTML 5, was in stricter Form ja nur ein Unter"dialekt" von XML ist, komplett mit einer XML Struktur aufgebaut werden. Hier sehe ich nur das Problem des späteren Admins. Ich helfe in mehrere Foren ab und an bei der Administration und in keinem davon werden unveränderte Templates verwendet. Die Admins dort, sind jedoch nicht mit der genauen Technik vertraut. Sie wollen beispielsweise einfach mal eben ein GA Snippet, einen Facebookbutton oder was auch immer einbinden. Dazu bekommen sie von den Serviceanbieter ja den entsprechenden HTML!-Code direkt vorgesetzt. Nun wollen sie diesen einfach irgendwie ins Template einbauen und versauen damit oftmals die Validität des Dokuments oder es geht zumindest nicht mehr als strict durch. Nun willst du aber einem Admin doch wohl nicht wirklich einen Validatorfehler direkt durchreichen. Ich denke die wenigsten können damit etwas anfangen.Das sind doch Argumente die gar nichts mit der Realität zu tun haben...
Ich würde mich sogar bereit erklären diesen Pull Request zu machen. Aber hey, du wirst es nicht glauben - der wird abgelehnt werden! Vollkommen egal, es wird nie passieren dass die Template-Patches ins WCF 2.0 wieder eingeführt werden nachdem es veröffentlicht wurde.
(Ich zitiere jetzt mal nicht alles, die Antwort bezieht sich aber auf deinen kompletten Beitrag) Da existieren verschiedene Lösungsansätze derartige Probleme zu umgehen. Der wichtigste Faktor wäre den Administratoren beizubringen dass es nicht ihre Aufgabe ist an den Templates etwas zu verändern wenn sie nicht wissen was sie tun. Aber gut, das kann man auch als vorgeschobenes und etwas realitätsfernes Argument betrachten.Nun willst du aber einem Admin doch wohl nicht wirklich einen Validatorfehler direkt durchreichen. Ich denke die wenigsten können damit etwas anfangen.
Viel wichtiger ist dass auch wirklich technische Lösungen existieren welche diese Problematik beheben.Ja, ich bin da auf einer absolut negativen Tour. Das hat den einfachen Grund: Ich bin davon direkt betroffen. Ich habe zahlreiche Projekte am Laufen die essentiell auf Templatepatches angewiesen sind. Diese Template-Events sind nicht mehr als maginal aufgebohrte Template-Platzhalter die in vielen Fällen einfach nicht ausreichen. Das Angebot ins WCF 2.0 ein XPath-System zu implementieren ist doch nur vorgeschoben, das ist jedenfalls der Eindruck der hier am laufenden Band vermittelt wird. Es wird doch zu jedem nur möglichen Zeitpunkt verdeutlicht dass man eine XPath-Lösung nicht haben will, warum sollte ich also glauben dass mein Pull Request, in dem Stunden über Stunden Arbeit stecken würde, angenommen wird?Sind wir heute mal wieder auf der absolut negativen Tour? Das man mal unterschiedliche Ansichten bei der Entwicklung haben kann, ist doch völlig normal. Da streckt man sogar die Hand aus und schlägt dir vor, nen konkreten Vorschlag via Pull-request einzureichen, und du schmetterst dieses Angebot einfach ab, find ich auch nicht fair.
Es ist in den wenigsten Fällen so einfach. Es ist etwas vollkommen anderes zusätzlichen, und noch dazu optionalen, sprich nicht zwangsläufig benötigten, Code einzufügen als bestehenden Code zu manipulieren. Das ist dan alles andere als elegant und einfach mit JS umzusetzen. Klar, es ist meist möglich - aber extrem kompliziert, hässlich, unperformant und in einigen Fällen sogar gar nicht möglich.An dieser Stelle möchte ich z.B. nochmal folgendes auszeigen: Brotkrümelnavigation auch unten anzeigen
Arian Glander zeigt in dem Blogartikel sehr schön, wie man das sehr elegenat und einfach mit JS umsetzen kann - funktioniert super, sieht gut aus. Ich habe auch schon Plugins gesehen, die so etwas mit Templatepatch machen.
Irgendwo muss die Deppensicherheit aufhören. Das WBB war schon immer primär aus einem Grund so erfolgreich: Die riesige Community welche die Software massiv erweitert hat. Die Entwicklung muss demnach in erster Linie das Ziel verfolgen es den Entwicklern leichter und nicht schwerer zu machen, direkt danach folgt dann die Weiterentwicklung der eigentlichen Software. Wie viel Supportaufwand es bedeutet wenn Menschen etwas tun was sie nicht tun sollten, sprich eine Software verändern ohne auch nur die geringste Ahnung zu haben was sie tun, sollte bedeutend weiter hinten stehen. Man sollte nicht vergessen dass das die Minderheit ist, die große Mehrheit möchte von der Erweiterbarkeit profitieren und hatte hier noch keine Probleme.Ich möchte hier nicht umbedingt für oder gegen das eine sprechen - aber prinzipiell sollte man immer im Hinterkopf behalten, dass dies immer eine Sache der Abwägung ist. Und wenn das WCF 2.0 wie bisher möglichst "deppensicher" sein soll, dann ist das natürlich etwas, was man auch in die Betrachtung mit einbeziehen muss.
Das ist aber denke ich immer noch ein Knackpunkt. Dein Ansatz mit einem Pseudoelement ist nicht schlecht, aber es bleibt dabei, dass es viele viele Admins gibt, die einfach und unkompliziert mal eben ein Snippet einfügen wollen und ich denke das ist eher die Regel und nicht die Ausnahme. Diesen Admins nun zu sagen "Das Template ist tabu für euch!" wird nicht funktionieren. Es war schon schwer genug den Leuten klar zu machen, dass man nicht in den css files rumeditiert und das man für Templateänderungen doch bitte den ACP Templateeditor verwenden soll. Auch musste man besonders beim WBB 3.0 einer nicht gerade kleinen Anzahl an Leuten klipp und klar machen, dass PHP Hacks tabu sind!(Ich zitiere jetzt mal nicht alles, die Antwort bezieht sich aber auf deinen kompletten Beitrag) Da existieren verschiedene Lösungsansätze derartige Probleme zu umgehen. Der wichtigste Faktor wäre den Administratoren beizubringen dass es nicht ihre Aufgabe ist an den Templates etwas zu verändern wenn sie nicht wissen was sie tun. Aber gut, das kann man auch als vorgeschobenes und etwas realitätsfernes Argument betrachten. Viel wichtiger ist dass auch wirklich technische Lösungen existieren welche diese Problematik beheben.
Uff... so wäre der Linuxkernel nie entwickelt wordenEs wird doch zu jedem nur möglichen Zeitpunkt verdeutlicht dass man eine XPath-Lösung nicht haben will, warum sollte ich also glauben dass mein Pull Request, in dem Stunden über Stunden Arbeit stecken würde, angenommen wird?

Wie ich ausgeführt habe ist in den meisten Fällen die Lösung mit dem Pseudoelement gar nicht notwendig da Snippets meist schon XML-kompatibel sind. Es ist außerdem möglich dass das WCF versucht das Problem selbst zu lösen, wird beispielsweise ein <img> oder <br> ohne abschließendes / eingefügt, fügt das WCF dies hinzu. Wenn dies nicht funktioniert kann der eingefügte Code vollautomatisch mit <wcf:html><![CDATA[...]]></wcf:html> umschlossen werden. Technisch stellt das kein größeres Problem dar, in diesem Fall sollte dem Administrator natürlich eine entsprechender Hinweis ausgegeben werden, der ihn darüber aufklärt, was verändert wurde und warum. Damit wären wir dann endgültig an einem Punkt bei dem im schlimmsten Fall noch 1 von 1.000.000 Fällen Probleme verursachen.Das ist aber denke ich immer noch ein Knackpunkt. Dein Ansatz mit einem Pseudoelement ist nicht schlecht, aber es bleibt dabei, dass es viele viele Admins gibt, die einfach und unkompliziert mal eben ein Snippet einfügen wollen und ich denke das ist eher die Regel und nicht die Ausnahme. Diesen Admins nun zu sagen "Das Template ist tabu für euch!" wird nicht funktionieren. Es war schon schwer genug den Leuten klar zu machen, dass man nicht in den css files rumeditiert und das man für Templateänderungen doch bitte den ACP Templateeditor verwenden soll. Auch musste man besonders beim WBB 3.0 einer nicht gerade kleinen Anzahl an Leuten klipp und klar machen, dass PHP Hacks tabu sind!
Naja, mit dem Unterschied dass hinter dem WCF ein Unternehmen steht dessen Wort Gesetz ist. Beim Kernel sieht das etwas anders aus, da werden Lösungen gesucht mit denen alle zufrieden sind. Aktuelles Beispiel sind da die WLAN-Treiber von Broadcom...Uff... so wäre der Linuxkernel nie entwickelt worden![]()

ditoIch finde die Idee mit dem xPath-Parser nicht schlecht und verfolgenswert. Ich beginne momentan ein neues Semester, daher habe ich momentan nicht die Zeit an einer Draft-Implementation mitzuwirken, ansonsten würde ich dir das jetzt anbieten, ob man das einfach mal konzeptionieren, implementieren und testen will.
Mal weitergedacht: Bedeutet das dann für Forenbetreiber die nicht die Standardtemplates nutzen, dass sie quasi nur die passenden „Platzhalter“ in ihre eigenen Templates einfügen müssen und sämtliche Plugins sind damit auch funktionsfähig? Momentan muss man ja die Plugins entpacken, die vorgenommenen Templateänderungen heraussuchen und manuell durchführen. Das gleiche gilt natürlich auch für Abschnitte der Standardtemplates die von mehr als einem Plugin gepatched werden.
Forum Software: Burning Board® 3.1.7, developed by WoltLab® GmbH