Project

General

Profile

T3 V10 Best Practice » History » Revision 15

Revision 14 (Enis Nuredini, 14.12.2023 12:55) → Revision 15/16 (Enis Nuredini, 14.12.2023 12:55)

{{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. 

 h2. 

 h3. Dev Setup 

 Folgender Eintrag ins Setup vom Typo3 Root Template verwendet die debug Version des QFQ JS Files: 
 <pre> 
 page.includeJS.24 = typo3conf/ext/qfq/Resources/Public/JavaScript/qfq.debug.js 
 plugin.tx_felogin_login { 

		 view { 

		 templateRootPaths { 

	 10 = fileadmin/templates/Felogin/ 

		 } 
	 } 
 } 
 </pre>