Hallo Thomas,
Wer erstellt die Templates? --> Auch programmierung.
Nein, keine Programmierung. Es gibt zwar gewisse Programmierlogik in den Templates (if) - aber die Templatesprache ist, soweit ich es beurteilen kann, nicht turingvollständig, daher keine »richtige« Programmiersprache. Und für eine If-Anweisung muss man nicht viel von Programmierung verstehen.
Durch den Compiler jagen --> fein, wer bring es dem Compiler bei was er zu tun wenn jemand so eine Datei anfordert?
Nicht, wenn er so eine Datei anfordert. AFAIK werden die Template-Dateien (die von den C-Programmen verwendet werden, die Perl-Programme parsen sie direkt) durch ein Perl-Script in C-Dateien »verwandelt« und diese dann als Shared Objects kompiliert.
Wer richtet es ein, dass überhaupt solche Dateien angefordert werden können, und das ja auch dann gleich bitte in den Usereinstellungen, weil man ja es gerne bequem haben mag? Wer bringt dem Server bei wie er sich verhalten soll? --> Auch programmierung.
Programmierung: AFAIK nein, s.u. Aber das wäre ein geringerer Aufwand als die Roh-XML-Daten irgendwie verfügbar zu machen. (und die IP und andere Daten irgendwie rauszuschneiden)
Wirklich?
Also ich wüsste nicht was ich darin verändern dürfte und was nicht, weiss du das?
Ich weiß es natürlich nicht mit Sicherheit, aber erschließen kann ich es. Der Code in den Templates ist - zumindest für mich - selbsterklärend, zumal ich ja auch die Ausgabe kenne.
Ich habe da mal einen Vorschlag, wie das aussehen _könnte_ - die XML-Struktur ist noch mehr als suboptimal, ich will hier nur mal etwas anregen. (ich habe mich bewußt _gegen_ die interne XML-Struktur des Forums entschieden, da ich sonst die Ausgabe beziehungsweise das Formular nicht richtig abbilden kann)
<?xml version="1.0"?>
<!DOCTYPE selfforum ...>
<selfforum>
<postingform action="<$ print $script; $>" type="<$ if $fupto then $>answer<$ else $>newthread<$ endif; $>">
<$ if $genprev then $>
<preview>
<name><$ print $Name; $></name>
<$ if $EMail then $><email><$ print $EMail; $></email><$ endif; $>
<date><$ print $date; $></date>
<homepage><$ if $HomepageUrl then $><$ print $HomepageUrl; $></homepage><$ endif; $>
<$ if $cat then $><category><$ print $cat; $></category><$ endif; $>
<subject><$ print $subject; $></subject>
<message>
<$ print $message; $>
</message>
<$ if $ImageUrl then $><imageurl><$ print $ImageUrl; $></imageurl><$ endif; $>
</preview>
<$ endif; $>
<$ if $err then $>
<error><$ print $err; $></error>
<$ endif; $>
<$ if $fupto then $><hiddenfield name="fupto" value="<$ print $fupto; $>" /><$ endif; $>
<$ if $assicheck then $><hiddenfield name="assicheck" value="1" /><$ endif; $>
<hiddenfield name="unid" value="<$ print $unid; $>" />
<hiddenfield name="qchar" value="<$ print $qchar; $>" />
<field name="Name" value="<$ print $Name; $>" />
<field name="Email" value="<$ print $Email; $>" />
<categorylist>
<$ print $cats; $>
<categorylist>
<body>
<$ print $body; $>
</body>
<field name="HomepageUrl" value="<$ if $HomepageUrl then print $HomepageUrl; else print "http://"; endif; $>" />
<field name="ImageUrl" value="<$ if $ImageUrl then print $ImageUrl; else print "http://"; endif; $>" />
</postingform>
</selfforum>
So _könnte_ so etwas aussehen; natürlich müßten die anderen Templates auch noch angepasst werden. Außerdem weiß ich nicht, inwieweit die Software selbst Code generiert, (was sehr schlecht wäre) ich habe da irgendwas mit den Plugins in Erinnerung...
Und wenn du noch so nett sein würdest mir zu erklären, wie man aus dem geposteteten Beispieldatei einen Template erstellt, würde ich mir vermutlich viel leichter tun.
Die Beispieldatei, die Du gepostet hast, ist doch ein Template. Oder meinst Du, wie man sie einbindet? Die Template-Dateien, die von den Perl-Scripten verwendet werden (fo_post, fo_userconf) müssen nicht erst in C »verwandelt« werden. Die Dateien müssen nur in ein entsprechendes Unterverzeichnis eingebunden werden. (.../templates/xml/abc.html) Die anderen Templates müssen kompiliert und installiert werden, indem ein »make templates templates-install« im Verzeichnis, wo das SELFForum kompiliert wurde, durchgeführt wird. (ich weiß aber nicht, in welcher Weise das Forum auf dem SELF-Server installiert ist, von daher wäre ich da _sehr_ vorsichtig, warscheinlich würde ich es lassen und warten, bis CK mal _sehr viel_ Zeit hat (ich weiß, dass er jetzt andere Sorgen hat, wenn er beim BUND ist) und die Forensoftware das nächste Mal »updated«)
Die Einbindung des XML-Modus erfolgt über Veränderung der Datei modconf.xml: (ziemlich am Anfang)
http://cvs.teamone.de/cgi-bin/cvsweb.cgi/selfforum/cgi-shared/config/modconf/modules.xml?rev=1.33&content-type=text%2Fx-cvsweb-markup
Das es dann noch mehr Serverlast verursacht, wenn die Dateien immer on the Fly generiert werden, als es statische XML-Dateien täten, dürfte auch klar sein.
Natürlich. Aber das gleiche passiert auch mit der HTML-Ausgabe, oder?
Aber so 'mir nix, dir nix' geht das ja nunmal nicht
Ich wollte nur einen einfacheren Weg der Machbarkeit aufzeigen. (als die zur-Verfügung-Stellung der Roh-Daten) Natürlich ist das nicht sofort erledigt und IMHO kann das ganze niedrigste Priorität haben.
und das Forum ist auch nicht das eizige was gepflegt werden möchte ;-)
Ich wollte lediglich eine andere Möglichkeit aufzeigen, mir persönlich reicht vorerst die XHTML-Ansicht inklusive der Optionen in der Benutzerkonfiguration.
Christian
--
Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.