cokl wrote:cmb wrote:Ich auch! Allerdings..., weil es viel Arbeit bedeutet (und vermutlich auch Inkompatibilitäten mit einigen Plugins verursacht).
Schon klar, zumindest der 1. Teil. Doch wahrscheinlich hab ich mir das einfacher vorgestellt; von wegen gemeinsame DB Schnittstelle, wo es dann egal ist welches DBS jemand nutzt.
Das wäre noch nicht mal ein besonderes Problem, weil wir einfach PDO verwenden könnten (obwohl ich Zweifel habe, dass MySQL oder gar PostgreSQL überhaupt einen Vorteil gegenüber SQLite haben könnten, was CMSimple betrifft, und ich die SQLite3-Schnittstelle bevorzuge).
Das eigentliche Problem ist, dass viele Erweiterungen einfach erwarten, dass alle Seiten komplett geladen wurden, wenn sie an der Reihe sind. Einfach alles aus einer DB zu laden wäre natürlich möglich, aber da ist dann ein einfaches Flat-File schneller, und auch sonst hätte die DB keinerlei Vorteile mehr. Die relevanten Informationen über die Seiten sind großteils in einfachen Arrays gespeichert (abgesehen von den Page-Data); man könnte nun vermutlich ohne nennenswerte Kompatibilitätsverletzungen auf passende Objekte umstellen, so dass nur das geladen wird, was wirklich gebraucht wird. Aber dann geht die wirkliche Arbeit erst los, denn das Speichern von Seiten müsste abstrahiert werden (und das ist eine wirklich happige Routine), und bezüglich der Suche müsste man sich was einfallen lassen, da diese ja doch wieder alle Seiten laden müsste – und vermutlich gibt's noch eine Reihe weiterer Ecken, an die ich noch gar nicht gedacht habe.
cokl wrote:cmb wrote:... wann der Schuss unter Umständen nach hinten los gehen, sprich es wird mehr Traffic verursacht als jetzt.
Ich dachte ehr weniger Treffic, da die Datei doch dann beim User auf dem Rechner liegt. Ok, ich bin die Ausnahme, da ich meinen cache immer leere.
Wenn Plugins (und andere Komponenten) die Info liefern würden, welche Skripte sie überhaupt nutzen, dann könnten alle in einer Datei zusammengefasst werden. Dann würde aber immer wieder eine möglicherweise riesige JS-Datei geparst werden müssen, auch wenn auf manchen Seiten vielleicht gar kein oder nur ein wenig JavaScript benötigt würde. Dazu kommt noch das Problem, das manche Skripte andere erfordern, so dass die Reihenfolge der Zusammenfassung wichtig ist. Und dann bleibt noch das Problem, dass manche Skripte direkt ins Dokument schreiben (document.write() und Co.) und diese eben an einem ganz bestimmten Platz eingefügt werden müssen. Darüberhinaus ist es durchaus denkbar, dass bei der Zusammenfassung aller Skripte (Namens-)Kollisionen auftreten, die derzeit nicht passieren können.
Damit hier sinnvoll verbessert werden kann, wird es also nötig sein, dass Plugins entsprechend mitspielen, und dazu muss CMSimple_XH erst einmal geeignete Schnittstellen für Pluginentwickler zur Verfügung stellen. Bisher gibt es da fast gar nichts (abgesehen von include_jquery() include_jqueryplugin()), und so schreiben Pluginentwickler die nötigen Skripte einfach in die Ausgabe (mal in den <head>, mal ans Ende von <body>, und mal mitten rein), und das bisweilen auch als Inline-Skript oder gar in Event-Attribute. Da ist also noch einiges zu tun.