Project

General

Profile

Actions

Support #18904

open

Re: Upgrading

Added by Nicola Chiapolini 21 days ago. Updated 14 days ago.

Status:
Feedback
Priority:
Normal
Assignee:
Enis Nuredini
Target version:
-
Start date:
21.06.2024
Due date:
30.06.2024 (12 days late)
% Done:

0%

Estimated time:
Discuss:
Prio Planung:
No
Vote:

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

  1. 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.)
  1. V10
    • 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?
  1. 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?

Files

exception_v9_qfq24.5.1.txt exception_v9_qfq24.5.1.txt 11.9 KB Nicola Chiapolini, 21.06.2024 09:32
exception_v11_qfq24.3.0.txt exception_v11_qfq24.3.0.txt 1.36 KB Nicola Chiapolini, 21.06.2024 09:32
exception_v11_qfq24.5.1.txt exception_v11_qfq24.5.1.txt 80 Bytes Nicola Chiapolini, 21.06.2024 09:32
autoCronTwig.qfqr autoCronTwig.qfqr 1.91 KB Nicola Chiapolini, 21.06.2024 09:32
formEditorTwig.qfqr formEditorTwig.qfqr 3.64 KB Nicola Chiapolini, 21.06.2024 09:32
DatabaseUpdate.php DatabaseUpdate.php 44.4 KB Nicola Chiapolini, 21.06.2024 09:32
Login.html Login.html 4.24 KB Enis Nuredini, 21.06.2024 13:10
Logout.html Logout.html 850 Bytes Enis Nuredini, 21.06.2024 13:11
Actions #1

Updated by Enis Nuredini 21 days ago

  • Project changed from 114 to QFQ
  • Status changed from New to In Progress
  • Assignee set to Enis Nuredini
Actions #3

Updated by Enis Nuredini 21 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:&nbsp;
  page.20 = TEXT
  page.20.data = getenv : REMOTE_ADDR
[end]

Actions #4

Updated by Nicola Chiapolini 21 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

Actions #5

Updated by Enis Nuredini 21 days ago

Actions #6

Updated by Enis Nuredini 21 days ago

Bin noch auf weitere deiner Punkte eingegangen in meinem ersten Kommentar. ;)

Die Tabelle aufzuteilen wäre keine schlechte Idee. Es sollte nur übersichtlich bleiben.

Actions #7

Updated by Enis Nuredini 21 days ago

  • Status changed from In Progress to Feedback
Actions #8

Updated by Nicola Chiapolini 17 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.

Actions #9

Updated by Enis Nuredini 16 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.

Actions #10

Updated by Nicola Chiapolini 14 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:

Actions

Also available in: Atom PDF