T3 V10 Best Practice » History » Revision 13
Revision 12 (Enis Nuredini, 13.03.2023 16:36) → Revision 13/16 (Carsten Rose, 09.06.2023 18:53)
{{toc}} h1. T3 V10 Best Practice h2. Redirect BaseUrl to Home Site Management > Redirects > Add redirect Source Domain = webwork20a.math.uzh.ch Source Path = /medtool/dev10/ Force SSL Redirect = Enabled Status Code HTTP Header = 307 h2. Forwarding (Page not Found/Not accessible) Typo3 Site Configuration: Site Management > Sites > Error Handling > [errorCode] = 403 / [errorHandler] = Page / [errorContentSource] = https://webwork20a.math.uzh.ch/medtool/dev10/login Specific page must be given. Using BaseUrl doesnt work. h2. PDF emptyTemplate The empty template setup content from T3 V9 and earlier doesn't work in 10 and higher anymore. Instead following setup can be used: <pre> page = PAGE page.typeNum = 0 page.includeCSS { 10 = typo3conf/ext/qfq/Resources/Public/Css/qfq-letter.css } // Grant access to any logged in user or specific development IPs [loginUser('*') or ip('127.0.0.1')] page.10 < styles.content.get [else] page.10 = TEXT page.10.value = access forbidden [global] </pre> Attention: Its possible that the filename font-awesome.min.css from the UZH-CD Extension makes problems with wkhtmltopdf. The file should be copied with the new name fontawesome.min.css. This resolved the problem. h2. cHash Error Folgender Fehler könnte auftreten beim Öffnen eines SIP-Links: !clipboard-202303091449-ohd1d.png! Dieser Fehler kann umgangen werden: # T3 Backend öffnen -> (Admin Tools) -> Settings # Configure Installation-Wide Options # [FE][pageNotFoundOnCHashError] = false setzen !clipboard-202303091452-jnif4.png! Ob das die beste Lösung ist, bleibt unklar. h2. Frontend Cache-Control Wenn ein User im Backend eingeloggt ist, dann werden im Frontend alle Seiten ohne die "no-store" Option geladen. Das führt dazu dass das Page-Load Verhalten der QFQ-Records nicht dem erwarteten entsprechen. Als Beispiel beim Form-Editor: Wird ein neues Form-Element erstellt und danach über Close zurück zum Form-Editor geleitet, so wird das neue Form-Element nicht angezeigt, sondern erst nach einem Page-Reload. Die "no-store" Option wird jedoch immer geladen wenn man selbst nicht im Backend eingeloggt ist. h3. Apache Durch den folgenden Eintrag in das .htaccess File der Webseite kann der "no-store" trotz eingeloggtem Backend erzwungen werden: <pre> <ifModule mod_headers.c> Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" </ifModule> </pre> h3. Nginx Ein Eintrag ins default.conf (wenn Ordner "sites-available" existiert), ansonsten ins nginx.conf: <pre> add_header Cache-Control "no-store"; </pre> Bei Verwendung vom Docker nicht vergessen Docker neu zu starten.