contao / core

Contao 3 → see contao/contao for Contao 4
GNU Lesser General Public License v3.0
492 stars 213 forks source link

Feature-Request: Inhaltselemente via Checkbox vom Cache ausschließen #8648

Open derastronaut opened 7 years ago

derastronaut commented 7 years ago

Ich fände es aus Benutzersicht überaus komfortabel und effizient, wenn man Inhaltselemente via Checkbox vom Cache ausschließen könnte. Bisher muss man dafür extra ein Modul anlegen und dieses dann in ein HTML-Inhaltselement mit dem Inhalt {{insert_module::*|uncached}} packen.

Letztlich bräuchte man dann nur noch ein Häkchen setzen, um ein Inhaltselement vom Cache auszuschließen. Man spart Zeit, Arbeit und es müssten keine extra Module mehr angelegt werden.

Eine Frage: Beziehen sich Feature-Requests automatisch auf Contao 4 oder können die auch noch für Contao 3.5.x realisiert werden? Kenne das Protokoll in der Angelegenheit nicht, vor allem da 3.5.x ja LTS ist.

Danke für eure Aufmerksamkeit :)

KaiserCh commented 7 years ago

3.5 erhält nur noch Bug- und Security-Fixes, aber in der Regel keine Features. Ausnahmen sind Features, die sich als logische Folge von Bugfixes ergeben.

Was deine Idee ansich angeht: Durchaus interessant, aber technisch nicht ganz anspruchslos. Der Zaubertrick am Cache ist ja, dass keine oder quasi keine Datenbank-Requests gezündet werden. Und natürlich müsste man seine Redakteure dazu erziehen, nicht wahllos auf den Knopf zu drücken.

Eine Möglichkeit wäre, dass bei gesetztem Häkchen das Modul/Element nur einen uncached-Inserttag auf sich selbst zurück gibt. Wenn jetzt der Insert Tag ersetzt wird, müsste eine Markierung gesetzt werden, dass das Modul nicht wieder einen Tag sondern seinen wahren Content ausgeben soll.

leofeyer commented 6 years ago

@aschempp @Toflar Lässt sich dieser Fall schon über Fragments abbilden?

Toflar commented 6 years ago

Ja, genau dafür sind sie da. Aber es funktioniert nicht einfach "auf Klick" genauso wie es mit dem uncached InsertTag-Flag auch nicht funktionieren würde. Wenn ein Teil der Webseite vom Cache ausgenommen ist, muss er gewisse Daten für sich speichern bzw. dafür sorgen, dass er diese Daten kriegt wenn er vom übergeordneten Cache-Eintrag (also in diesem Fall der Seite) aufgerufen wird. Seiten-Informationen, sind z.B. nicht mehr vorhanden, wenn der Rest der Seite direkt aus dem HTML-Cache (Reverse Proxy) kommt. Also wenn ein Inhaltselement etwas abhängig von der Seite/Seiten-Layout etc. machen will, muss es sich diese Infos mit übergeben.

Jedes Inhaltselement müsste sowas also selber supporten (und es macht ja auch nicht bei allen Inhaltselementen Sinn).