Support #18904
openRe: Upgrading
0%
Description
Hoi Carsten
Vielen Dank für deine Infos und die Links. Ich bin dann Ende letzter
Woche dazu gekommen einen Test-Upgrade (auf mnf-devel-02.mnf.uzh.ch)
durchzuführen. Das hat weitgehend geklappt. Unten findest du die
Fragen/Anmerkungen, die sich ergeben haben.
Da es doch eine ziemlich lange Liste ist, lohnt es sich evtl. ein
Treffen statt eines Mails ;-)
Du darfst gerne einen Termin vorschlagen, mein MS365 Kalender sollte
aktuell sein.
härzlichi Grüäss
Nicola
- Allgemein
- Es wäre hilfreich, wenn ihr (bzw. wir) irgendwo getestete
Versionskombinationen dokumentieren würden. Gibt es so etwas?
Mein Pfad war:
- T3: 9.5.31 / uzh-cd: 21.10.28 / qfq: 22. 5.0 / ldap: 3.6.0
- T3: 9.5.31 / uzh-cd: 24.01.31 / qfq: 22.10.1 / ldap: 3.6.0
- T3: 10.4.37 / uzh-cd: 24.01.31 / qfq: 23. 6.4 / ldap: 3.7.1
- T3: 11.5.37 / uzh-cd: 24.01.31 / qfq: 24. 5.1 / ldap: 3.8.0
Im Anhang findest du Fehlermeldungen die ich bekommen habe, als ich qfq
zu rasch aktualisiert hatte. Die v11_qfq Fehler traten mit php7.4 auf -
einen entsprechenden Hinweis hatte ich nirgendwo gesehen. (Dank
Snapshots war das aber auch kein weiteres Problem.)
- Es wäre hilfreich, wenn ihr (bzw. wir) irgendwo getestete
- V10
- In https://project.math.uzh.ch/projects/qfq/wiki/Migration habt ihr
eine Apache-Config definiert. Ich habe die bei uns nicht übernommen und
es scheint alles zu funktionieren. Wozu ist die Config?
- Habt ihr eine Site-Configuration bei der direkt Links auf
Login-geschützte Seiten funktionieren (also Link klicken -> Login
Formular -> Weiterleitung zu Link-Ziel)? Ich habe gedacht, das müsste
jetzt funktionieren, aber keine funktionierende Config gefunden.
- Die twig-Reports im QFQ-Source für den Form-Editor und Auto-Cron
verwenden noch pageAlias. Korrigierte Versionen sind ebenfalls im Anhang
(Ihr habt aber noch diverse weitere Änderungen an dem Report gemacht.
Die werde ich bei Gelegenheit auch noch nachführen.)
- für das Update zu Typo3 v10 musste ich
/var/www/htdocs/typo3conf/ext/qfq/Classes/Core/Database/DatabaseUpdate.php
mit der Version im Anhang ersetzen.
Problem waren leere `$qfqCode[$KEY_CONTENT]` und fürs manuelle
korrigieren wollte ich die PID der betroffenen Probleme wissen.
- Grundsätzlich hat die Migration zu Page-Slugs funktioniert.
Allerdings wurden an verschiedenen Orten super komische Slugs erstellt
(z.B. eine Seite in der Navigation unter "Deregistration Faculty
Assembly / Send Email" hat den Slug
`/system-ip-restricted-access/send-email-schools-directory-1` erhalten.
(Da wurde wohl früher mal eine Seite kopiert, das Page-Alias war aber
leer.) Hast du einen Idee woher das kommt und wie man das am schlausten
vermeidet?
- Ganz allgemein scheinen mir die Page-Slug sehr unpraktisch. Habt
ihr Lösungen für folgende Probleme:
- Wie finde ich eine Page im Backend, wenn ich die URL im Frontend weiss?
- Da Page-Slugs eine Hierarchie darstellen, müssten sie sich
eigentlich ändern, wenn ich Unter-Seiten verschiebe. Wie mache ich das,
ohne dass ich alle QFQ-Reports und Formulare manuell nachführen muss?
(Kann QFQ nicht weiterhin die Page-ID als eindeutigen und stabilen
Identifier für eine Page verwenden und dann aus der typo3-DB den
korrekten Slug ziehen? Wobei eigentlich funktoniert auch in v11 ?id=PID
noch immer korrekt.)
- Ist es möglich die "forward URL" in Formularen ohne Domain zu
definieren? Unsere Formulare sollten sowohl auf dem Integrationssystem
(mnf-devel-01...) wie auch auf dem Produktivsystem (studentadmin...)
funktionieren. QFQ sollte mit pageSlugs in diesem Feld funktionieren.
- Ich habe "DB set default values" nicht ausgeführt. /usr/sepp/
existiert auf meinen Servern nicht. Wir würde ich erkennen, falls da
noch ein Problem besteht?
- Wir habe bisher die Search Bar ausgeblendet. Ich habe mich deshalb
gar nicht um die entsprechende Config gekümmert. Der letzte Satz dort
erwähnt aber "In the future these template changes will be delivered
with the uzh extension." Wann ist diese Zukunft?
- In https://project.math.uzh.ch/projects/qfq/wiki/Migration habt ihr
- V11
- directory status im Install-Tool beklagt sich "Directory
/typo3temp/var/build does not exist", kann das aber nicht erstellen.
Weisst du ob wozu das Verzeichnis nötig ist?
- Full-Path in cd.stylesheet hat das gleiche Problem mit Integration-
und Produktion-System wie in ForwardURL. Wie löst ihr das?
- Was ist der Stand beim feLogin und den Templates? Ich habe jetzt
mal die "automatisch" verwendeten Templates via custom.css halbwegs
brauchbar konfiguriert. Eine saubere Lösung via UZH CD wäre aber
natürlich willkommen.
- Bei mir scheinen die Access-Restrictions für die Autocron-Seite
```
[usergroup = 2] || [IP = 127.0.0.1,::1]
page.10 < styles.content.get
[else]
...
```
nicht mehr korrekt zu funktionieren. Wie löst ihr das bei euch?
- directory status im Install-Tool beklagt sich "Directory
Files
Updated by Enis Nuredini 9 days ago
1) Es gibt eine Versionierungsmatrix: https://project.math.uzh.ch/projects/qfq/wiki/Migration#Compatibility
1.1 V10) Bei uns wird Typo3 nicht direkt im Projektordner abgelegt sonder nur via Symlink darauf gezeigt. Wenn ich mich recht erinnere konnte ohne den Apache Eintrag der index vom Typo3 nicht gefunden werden. Mittlerweile sind wir schon bei vielen auf Nginx umgestiegen.
1.2 V10) Das Problem mit der automatischen Weiterleitung kennen wir schon länger und bisher keine saubere Lösung gefunden die auch funktioniert hat. Bei einen Projekt hab ich QFQ dafür benutzt, bzw. mit dem User Store das Handling gesteuert. Hier gibt es noch weitere Ansätze: https://stackoverflow.com/questions/63109489/typo3-access-restricted-pages-redirect-after-login
1.3 V10) Auf das Problem mit dem DatabaseUpdate file war ich bisher noch nicht gestossen. Die Upgrades haben wir immer Schrittweise von V8 > V9 > V10 > V11 ausgeführt. Dabei die Ubuntu und PHP Version immer im Auge behalten (siehe Matrix oben). Bei V10 macht Ubuntu 22.04 Probleme. Mit V11 klappts dort dann auch.
1.4 V10) Die Page-Slug Migration ist noch nicht optimal. Ich glaube es werden auch Seiten aufgelistet bei der Migration welche nach Typo3 als Deleted markiert sind.
1.5 V10) Zu den unpraktischen pageSlugs: Um eine Setie via pageSlug zu finden gibt es einen Trick - Mann wählt die List Ansicht und geht auf den Root Page. Dort kann dann oben (innerhalb des Content Bereichs) mit der Search Funktion nach dem pageSlug gesucht werden. Am besten rechts beim Pfeil die Search Levels auf Infinite stellen.
Zum jetzigen Zeitpunkt kenne ich keine Funkton welcher alle pageSlugs in Typo3 automatisch anpasst. Page IDs funktionieren bei manchen Features tatsächlich noch. Wurde jedoch bei der Weiterentwicklung nicht mehr berücksichtigt, da sich früh auf die pageAlias festgefahren wurde und mit pageSlugs weitergeführt.
Zur "forwardUrl" muss ich selbst prüfen ob das geht.
1.6 V10) Ob "DB set default values" gebraucht wird oder nicht hängt davon ab in welchem Mode du deine DB betreibst: STRICT_ALL_TABLES oder STRICT_TRANS_TABLES sorgen dafür dass du eine Fehlermeldung beim Speichern eines Formulars bekommst wenn: die verknüpfte Tabelle eine Spalte besitzt ohne Default Value und nicht nullable ist und im betroffenen Formular diese Spalte nicht verwendet wird.
1.7 V10) Searchbar sollte im neuen UZH CD 24.01.31 schon gefixed sein.
1.1 V11) Falls du beim Klicken auf "Try to fix" eine rote Fehlermeldung bekommst dann liegt es normalerweise daran dass die Berechtigungen vom typo3temp Ordner nicht korrekt sind. Bzw. Typo3 selbst nicht die Berechtigungen hat. Bei mir ist var/build in 99% der Fälle leer.
1.2 V11) Zu diesem Problem hatten wir verschiedenes probiert und sind letzten Endes bei dieser Lösung verblieben:
Im Root template unter Constants (Beispiel aus Geo):
# Instance Dependent: absolute path to custom css and images
[request.getNormalizedParams().getHttpHost() == 'webwork22.math.uzh.ch']
cd.stylesheet = https://webwork22.math.uzh.ch/lean/fileadmin/templates/geo.css
[end]
[request.getNormalizedParams().getSiteUrl() == 'https://lean.geo.uzh.ch/']
cd.stylesheet = https://lean.geo.uzh.ch/fileadmin/templates/geo.css
[end]
[request.getNormalizedParams().getSiteUrl() == 'https://lean.geo.uzh.ch/preview/']
cd.stylesheet = https://lean.geo.uzh.ch/preview/fileadmin/templates/geo.css
[end]
1.3 V11) Mit der aktuellsten QFQ (24.3.0 - Beta) und UZH CD (24.01.17) Version funktoniert das mit dem Login Template wenn folgendes im TypoScript verwendet wird:
plugin.tx_felogin_login {
view {
templateRootPaths {
10 = fileadmin/templates/Felogin/
}
}
}
Im Felogin Ordner sollte das Template File Login.html benannt werden. Beispiel Templates welche wir verwenden füge ich hier im Anhang bei.
1.4 V11) Deine Notation für die Restrictions sind schon länger deprecated bei Typo3. Neu kannst du folgende benutzen:
Template Constants:
# List of IP addresses to grant access site.allowIP.list = 127.0.0.1,::1,130.60.244.239
Template Setup:
# Layout neu aufbauen page = PAGE page.typeNum = 0 # Check for allowed IP or logged-in user or logged-in user with specific user group (id) [ip('{$site.allowIP.list}') || 1 in frontend.user.userGroupIds || 30 in frontend.user.userGroupIds || frontend.user.isLoggedIn] page.10 < styles.content.get [else] page.10 = TEXT page.10.value = Please log in or access this page from an authorized host. Your current IP address: page.20 = TEXT page.20.data = getenv : REMOTE_ADDR [end]
Updated by Nicola Chiapolini 9 days ago
- Due date set to 23.06.2024
Hoi Enis
1) Es gibt eine Versionierungsmatrix: https://project.math.uzh.ch/projects/qfq/wiki/Migration#Compatibility
Ja, aber die ist wenig hilfreich, da veraltet und unvollständig bzw.
falsch. Habe eben gesehen, dass ich die Seite auch ändern kann.
Habe meine Erfahrungen eben ergänzt und werde versuchen das auch in
Zukunft nachzuführen.
Evtl. Wäre es hilfreich die Tabelle umzusortieren / aufzuteilen. Die
Primäre Software ist ja QFQ nicht Typo3. (Also eine Tabelle: `QFQ |
Typo3 | php ` und eine separate Tabelle `Typo3 | EOL | ldap | uzh_cd |
... `.)
Was denkst du?
härzlichi Grüäss
Nicola
Updated by Enis Nuredini 9 days ago
- File Login.html Login.html added
- File Logout.html Logout.html added
Updated by Nicola Chiapolini 5 days ago
Vielen Dank für deine Rückmeldungen.
Zwei Anmerkungen/Rückmeldungen/Wünsche:
1.5 V10)
Page IDs funktionieren bei manchen Features tatsächlich noch. Wurde jedoch bei der Weiterentwicklung nicht mehr berücksichtigt, da sich früh auf die pageAlias festgefahren wurde und mit pageSlugs weitergeführt.
Verstehe ich das richtig, dass dies eine QFQ und keine Typo3-Einschränkung ist? Wir haben nie pageAlias verwendet und ich möchte auch weiterhin mindestens Intern überall die Page-ID verwenden. Das ist die einzige konstante Eigenschaft einer Page und damit die sicherste Lösung um den Code unabhängig zu machen von neu generierten Page-Slugs (z.B. nach dem Verschieben von Seiten.) Leider scheint QFQ das aktuell zu unterbinden. Was ist nötig, damit links mit PageID wieder korrekt funktionieren?
1.2 V11)
Danke für die Lösung - aber das ist schon ein ziemlich übler Hack... ;-) Ich hoffe Typo3 implementiert da irgendwann eine elegantere Lösung für Domain-unabhängige Absolute URLs.
Updated by Enis Nuredini 4 days ago
1.5 V10) Ich kann noch nicht zu 100% sagen ob es nur eine QFQ Einschränkung ist aber wir werden uns darum demnächst kümmern. Bald haben wir unser Coding Week und dort werden wir im Bezug zur page ID Kompatibilität sehr wahrscheinlich daran arbeiten.
Updated by Nicola Chiapolini 2 days ago
- Due date changed from 23.06.2024 to 30.06.2024
Bald haben wir unser Coding Week und dort werden wir im Bezug zur
page ID Kompatibilität sehr wahrscheinlich daran arbeiten.
Alles klar. Ich wollte nicht auf "bald" warten. Und habe eben versucht
QFQ so anzupassen, dass es den uriBuilder von Typo3 verwendet um die
korrekte URL für eine gegebene PageID zu bestimmen.
Ich habe die Änderungen gegen 24.5.1 eben im branch support-pageid-links
gepushed [1]. Bis jetzt habe ich das nur "oberflächlich" mit
herum-klicken im Interface getestet. Dort hat das funktioniert, sowohl
mit ID_TO_SLUG true wie auch false.
Wie im Kommentar geschrieben sollte das wohl eine Config-Option sein,
aber da ich so gut wie keine Erfahrung mit dem Setup von Typo3 Extension
habe, überlasse ich das gerne euch.
Auch sonst ist es natürlich gut möglich, dass ich Dinge übersehen oder
unnötig kompliziert gelöst habe. Dann freue ich mich natürlich über
Feedback...
Und da wir das bei uns produktiv einsetzen werden, ist wichtig für mich
zu wissen, ab welcher QFQ Version das bei euch integriert sein wird ;-)
[1] Ich habe die gleichen Änderungen auch noch backported gegen 23.6.4,
damit ich während des Upgrade-Prozesses unsere Tests laufen lassen kann.
Meldet euch, falls die Version euch irgend etwas nützen würde.
On 26.06.24 08:59, Enis Nuredini wrote: