Project

General

Profile

T3 V10 Best Practice » History » Version 12

Enis Nuredini, 13.03.2023 16:36

1 1 Enis Nuredini
h1. T3 V10 Best Practice
2
3
h2. Redirect BaseUrl to Home
4
5
Site Management > Redirects > Add redirect
6
Source Domain = webwork20a.math.uzh.ch
7
Source Path = /medtool/dev10/
8
Force SSL Redirect = Enabled
9
Status Code HTTP Header = 307
10
11
h2. Forwarding (Page not Found/Not accessible)
12
13
Typo3 Site Configuration:
14 2 Enis Nuredini
15 1 Enis Nuredini
Site Management > Sites > Error Handling > [errorCode] = 403 / [errorHandler] = Page / [errorContentSource] = https://webwork20a.math.uzh.ch/medtool/dev10/login
16 3 Enis Nuredini
Specific page must be given. Using BaseUrl doesnt work.
17 4 Enis Nuredini
18
h2. PDF emptyTemplate
19
20
The empty template setup content from T3 V9 and earlier doesn't work in 10 and higher anymore. Instead following setup can be used:
21
<pre>
22
page = PAGE
23
page.typeNum = 0
24
page.includeCSS {
25
  10 = typo3conf/ext/qfq/Resources/Public/Css/qfq-letter.css
26
}
27
28
// Grant access to any logged in user or specific development IPs
29
[loginUser('*') or ip('127.0.0.1')] 
30
  page.10 < styles.content.get
31
[else]
32
  page.10 = TEXT
33
  page.10.value = access forbidden
34
[global]
35
</pre>
36 5 Enis Nuredini
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.
37 6 Philipp Gröbelbauer
38
39
h2. cHash Error
40
41
Folgender Fehler könnte auftreten beim Öffnen eines SIP-Links:
42
43
!clipboard-202303091449-ohd1d.png!
44
45
Dieser Fehler kann umgangen werden:
46
47
# T3 Backend öffnen -> (Admin Tools) -> Settings
48
# Configure Installation-Wide Options
49
# [FE][pageNotFoundOnCHashError] = false setzen
50
51
!clipboard-202303091452-jnif4.png!
52
53
Ob das die beste Lösung ist, bleibt unklar.
54 7 Enis Nuredini
55
h2. Frontend Cache-Control
56
57 8 Enis Nuredini
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. 
58 7 Enis Nuredini
59 1 Enis Nuredini
h3. Apache
60 10 Enis Nuredini
61
Durch den folgenden Eintrag in das .htaccess File der Webseite kann der "no-store" trotz eingeloggtem Backend erzwungen werden:
62 9 Enis Nuredini
63 7 Enis Nuredini
<pre>
64
<ifModule mod_headers.c>
65
 Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
66
</ifModule>
67
</pre>
68 11 Enis Nuredini
69
h3. Nginx
70
71
Ein Eintrag ins default.conf (wenn Ordner "sites-available" existiert), ansonsten ins nginx.conf:
72
73
<pre>
74
add_header Cache-Control "no-store";
75
</pre>
76 12 Enis Nuredini
77
Bei Verwendung vom Docker nicht vergessen Docker neu zu starten.