Hallo at,
[... Plugin-Funktionalitäten sollten besser nicht ins Core ...]
Ich befürchte, ich kann dir nicht mehr folgen. -- Und versuche
bitte gar nicht erst, es mir zu erklären ;-)
Ich versuche es aber trotzdem.
Das Classic Forum selber ist im Grunde ein recht simples Stück
C-Code, das nicht viel kann. Es könnte nichtmal Postings selber
anzeigen, es könnte gerade mal eine Thread-Liste darstellen und
Postings annehmen. Die komplette Funktionalität, die du hier siehst,
inkl. der Gelesen-Markierung, des Ausblendens der Threads, ja
selbst der Dastellung einzelner Postings ist einzig und allein auf
sog. Plugins zurückzuführen.
Plugins sind in diesem Kontext in C geschriebene Module, die zur
Laufzeit dazugeladen werden. Sie können verschiedene Zeitpunkte
definieren, in denen sie die Kontrolle über den Programmablauf
übernehmen wollen. Die Gelesen-Markierung z. B. benennt zwei solcher
Punkte: einmal zur Initialisierungs-Zeit, um zu überprüfen, ob ein
Posting gelesen markiert werden muss, und einmal um eine Variable
im Template zu setzen. Ausserdem können sie Konfigurations-Direktiven
zur Verfügung stellen (z. B. 'Sollen gelesene Postings Server-Seitig
markiert werden? [ ] Ja [ ] Nein'). Es gibt noch ein paar andere
Schnittstellen, die ein Plugin zur Verfügung stellen muss (z. B.
die Validierung des If-Modified-Since-Headers, den die Browser
liefern oder das Herausfinden des Datums der letzten Änderung),
aber die sind an dieser Stelle relativ nebensächlich.
Du siehst, Plugins sind in sich abgeschlossene Einheiten, die mit
Ihrer Aussenwelt nichts zu tun haben. Ich stosse hierbei auf
Probleme, weil ich herausfinden will, ob ein Posting als gelesen
markiert worden ist -- das geht nicht. Die einfache Lösung wäre es,
diesen Code-Teil in den Haupt-Code, den Core, einzubauen. Aber auch
die schmutzige, weil ich dann beim nächsten mal dasselbe Problem
wieder hätte. Ich müsste wieder Code in den Core migrieren, damit
ich eine Funktionalität, die ich mehrmals brauche, in einem anderen
Plugin zur Verfügung hätte. Deshalb wäre es sinnlos, die
Gelesen-Markierung zu zügeln. Besser ist es, sich ein für alle mal
eine flexible Lösung zu überlegen, die mir dieses Problem vom Hals
schafft. Sozusagen den Plugins die Möglichkeit geben, mit der
Aussenwelt zu kommunizieren -- und das mehr als nur über
Template-Variablen und/oder Rückgabewerte.
Nee, ich will nicht gelobt werden. So war mir das schon lieb.
Konstruktive Kritik ist völlig in Ordnung. Was ich nicht abhaben
kann ist unqualifizierte, polemische Kritik.
Na ja, von letzterer kann ich mich wohl auch nicht lossprechen,
Deine Beobachtung war genau und richtig und somit qualifiziert.
aber meist suche ich mir dafür schwächere Gegner aus _;-)_
*g* Na, Hauptsache ;)
Nein, das war schon Absicht so. Ich hatte ja schon ausführlicher
mit Molily und Sven über die Ziele der <link>-Tags diskutiert.
Aber nicht im Hauptforum, oder?
Im Test-Forum ;)
Was im im stillen Kämmerlein betratscht, bekomme ich ja nicht mit.
-- Vielleicht sollte ich Dev werden ;-)
Da war der gute Molily auch noch kein Dev ;) Im Test-Forum kann jeder
Posten.
Grüße,
CK
--
Wer sich zu überschwänglich freut, wir später Grund zum Weinen haben.