Umlaute in Projekten

Hi zusammen,

wir erstellen Projekte damit diese Gruppen in LDAP nutzbar werden in Moodle/Nextcloud/Matrix.

die sind z.T. zwangsläufig mit Umlauten, weil die Kürzel der Lehrer enthalten sind, die wiederum Umlaute enthalten.

Weil ich die mit „sophomorix-project“ erstellen lasse, funktioniert das auch.

Allerdings mag die Schulkonsole keine Projekte dieser Art, weswegen die KuK diese Projekte nicht editieren oder lesen können. Es gibt einen Konsolenfehler von Ajenti.

Wäre es möglich, die Namen der Projekte auf alle UTF-8 Zeichen zu erhöhen? Falls nicht, sollte der Fehler vielleicht abgefangen werden.

VG, Tobias

Hallo Tobias,

Das ist eine relative komplizierte Frage. Der Webserver von Ajenti ist basiert auf gevent, der nur latin-1 ertragen kann, laut RFC 2616.

Es umzugehen bedeutet jede URL Parameter zu sanitizieren, in der Form:

projectname = projectname.encode('latin-1').decode('utf-8')

(oder URL zu enkodieren mit quote() und unquote()).

Das ist schon eine Menge Arbeit. Ich hatte schon mal probiert, es in Ajenti zentral anzupassen, aber es hätte zu viele Auswirkungen gegeben.

Falls du es probieren willst, ist es nötig bei dieser Zeile, folgendes zu schreiben:

groupName = groupName.encode('latin-1').decode('utf-8')

Damit wirdst du die Eigenschaften sehen. Aber es reicht noch nicht um ein Projekt zu editieren, löschen, usw …

Gruß

Arnaud

1 „Gefällt mir“

Hi,

Fehler ist jetzt abgefangen:

Gruß

Arnaud

2 „Gefällt mir“

super, vielen Dank für die schnelle Reaktion.
Jetzt muss ich nur noch mal auf die lmn7.2 upgraden, damit ich in den Genuss komme.

VG, Tobias

Hi Arnaud,

ich hole den Thread nochmal hoch, weil jetzt (bereits erstellte Projekte) wieder mal einen Fehler werfen, das vermutlich am Umlaut liegt: Die Anzeige in „Klassenzimmer → Kurs“ schlägt fehl mit:

GET /api/lmn/session/projects 
...
Requested search /projects/p_11_11abcdeKül_bi11_2324 unknown 
...
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/aj/api/endpoint.py", line 77, in wrapper
    result = fx(self, context, *args, **kwargs)
  File "/usr/lib/linuxmuster-webui/plugins/lmn_session_new/views.py", line 65, in handle_api_get_projects
    details = self.context.ldapreader.schoolget(f'/projects/{project}', dict=False)
  File "/usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py", line 82, in schoolget
    result = self.context.ldapreader.get(*args,**kwargs, school=self.context.schoolmgr.school)
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/urls/ldaprouter.py", line 29, in get
    func, data = self._find_method(url)
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/urls/ldaprouter.py", line 22, in _find_method
    raise Exception(f'Requested search {url} unknown')
Exception: Requested search /projects/p_11_11abcdeKül_bi11_2324 unknown

Wo kann ich mein Glück versuchen? in ldaprouter.py, oder müsste das schon in „views.py“ irgendwie umgekoded werden… Ich weiß gar nicht, wie man mit dem „ü“ umgehen sollte…

Sobald ich mich aus den Projekten ausschreibe, die non-ascii-Characters besitzen, klappt auch die Anzeige in Klassenzimmer-> Kurs.

VG, Tobias

Hi Arnaud,

Einfach das Projekt umbenennen :wink:
Ich halte es für schlechte Praxis, da bin ich vielleicht zu altmodisch.
Das Problem ist hier auch ein Design-Problem: der cn von einem Projekt ist auch gleichzeitig der Name, und wir sollten es trennen um schöne Namen überall darzustellen, ads ist nur meine Meinung.

Ansonstens, die Zeile, die du suchst, ist hier:

Die RegExp enthält nur ASCII-Chars.

Gruß

Arnaud

2 „Gefällt mir“

Super, danke.

Ja, ist eine Designfrage, sowohl bei lmn als auch bei mir an der Schule.

Ich habe eben automatisiert Projekte, die den Kürzel eines Lehrers im Namen tragen, damit man das Projekt eben auch identifizieren kann, ohne Weitere IDs einzuführen
(„m_kül“ statt: Mathekurs 3 ist der von „Kül“).

Aber weil wir eben bei Kürzeln keinen Wert auf ASCII-Kompatibilität legen…

Lustigerweise fällt nur mir zunächst das auf die Füße, aber mindestens eine Kollegin habe ich noch…

Ich schau mal, wenn ich Zeit finde, was geht.

Vielen Dank für das schnelle Raussuchen der Zeile!

Tobias

:clap:

Dafür, dass jetzt projekte und Klassen und eigene Gruppierungen in der Schulkonsole unter „Kurs“ auftauchen. Wow!

2 „Gefällt mir“