ubtue / tuefind

Tuebingen University's derivatives of VuFind. Contains former versions like IxTheo, RelBib and KrimDok.
GNU General Public License v2.0
6 stars 4 forks source link

Sonderzeichen in Benutzernamen #2789

Open mtrojan-ub opened 5 months ago

mtrojan-ub commented 5 months ago

Versucht man derzeit in einen Benutzer anzulegen dessen Benutzernamen ein Sondezeichen enthält (z.B. Leerzeichen) so wird das in RelBib verhindert, aber in IxTheo ist es möglich.

grafik

Das sollte einheitlich sein, also meiner Meinung nach bei allen aktiv. Es gibt zwar bereits viele Benutzer mit Leerzeichen im Namen, aber das ist zu vermeiden da es Kompatibilitätsprobleme geben kann (z.B. verschiedene Arten von Unicode Leerzeichen die bei der Eingabe zu Problemen führen können, oder auch Übertragung von Benutzernamen an andere Systeme was aber aktuell noch kein Anwendungsfall ist).

coeh commented 5 months ago

Wenn wir dergleichen ausschließen, sollten wir m.E. (in allen Systemen) einen Erläuterungstext dazu machen. Ansonsten verstehen die Nutzenden nicht, warum ihr Vorschlag ungültig ist (betrifft ja, wenn ich recht verstehe, nicht nur Leerzeichen, sondern z.B. auch Menschen, die ein ä/ß im Nachnamen haben und daher entsprechenden Benutzernamen wählen wollen). Vielleicht können wir das im Zusammenhang mit dem analogen Problem bzgl. Dateinamen im Self-Archiving diskutieren, vgl. das dort aufgetretene und bislang nicht gelöste Problem: wie beschreiben wir "Sonderzeichen" sprachenneutral.

mtrojan-ub commented 5 months ago

Es gibt scheinbar auch einen entsprechenden Hilfstext in VuFind, der wird aber bei uns nicht angezeigt => Bug, ich kümmer mich drum.

mtrojan-ub commented 5 months ago

Diese beiden Änderungen sind nun ready for testing auf ptah, d.h.:

Was man noch diskutieren könnte wäre ob in Zukunft auch die von VuFind vorgeschlagene Password Policy im selben Maße aktiv gesetzt werden sollte. Dazu mache ich noch einen separaten Issue auf.

coeh commented 5 months ago

Vielen Dank. Ist das hier der Hilfstext? Der englische erscheint mir sinnvoll. Die wörtliche Übersetzung dieser Aussage auf deutsch wirft aber m.E. dasselbe Problem auf, das wir schon bei den Dateinamen diskutiert hatten: Dass ä oder ß kein "Buchstabe" sein soll, ist für deutsche Muttersprachler etwas, auf das man nicht ohne weiteres kommt. Analog im Französischen usw. grafik grafik

NMagin commented 5 months ago

Ich sehe auch beim englischen Text Potential für Missverständnisse. Denn was sind "common punctutation characters"? Unterstriche sind meinem Empfinden nach keine gängigen Interpunktionszeichen (abseits vom Gender Gap und E-Mail-Adressen), funktionieren aber. Der Fall, auf dem dieses Issue basiert, war dieselbe Problematik nur andersrum und mit Leerzeichen. Sehr gängig, aber nicht möglich und der Nutzerin hat sich nicht erschlossen, warum es ein ungültiges Zeichen sein sollte.

Gibt es eine Liste der zugelassenen Sonderzeichen? Dann könnten wir daraus einen Hinweis bauen (z.B. "Bitte verwenden Sie nur Buchstaben (keine Umlaute), Zahlen und die folgenden Sonderzeichen: . , ! ? _ - # + : ;") und Nutzenden keinen Interpretationsspielraum lassen.

coeh commented 5 months ago

Das ist jetzt wirklich eine Wiederholung derselben ungelösten Debatte, wie wir sie bei den Dateinamen fürs Self-Archiving hatten. Da das damals per Mail diskutiert wurde, fasse ich den dortigen Sachstand zusammen:

mtrojan-ub commented 4 months ago

Die Thematik ist nicht ganz die selbe wie beim Self-Archiving, weil es beim Austausch von Dateien über Dateisysteme potenziell weit mehr Fehlerquellen gibt. Außerdem sind die Benutzernamen ja vorwiegend bei uns im System gespeichert und werden im Normalfall schon allein aus Datenschutzgründen nicht mit anderen Systemen ausgetauscht.

Eine Liste automatisch zu erstellen ist an sich nicht möglich, da die Prüfung auf Basis eines Regulären Ausdrucks mit verschiedenen Klassen erfolgt. Allerdings findet man in der config einen Hinweis, dass der aktuelle Regex insb. alle Zeichen beinhaltet die auch in E-Mail-Adressen erlaubt sind.

; The following default requires the username to consist of printable characters
; allowed in email addresses (i.e. !#$%&'*+-/=?^_`{|}~) and letters and decimal
; numbers in any script (see
; https://www.php.net/manual/en/regexp.reference.unicode.php for more information):
username_pattern = "([\\x21\\x23-\\x2B\\x2D-\\x2F\\x3D\\x3F\\x40\\x5E-\\x60\\x7B-\\x7E\\p{L}\\p{Nd}]+)"
coeh commented 4 months ago

Vielen Dank für die technische Erläuterung.

Mir ging es darum, dass die Frage: Wie erklärt man das für Nutzer*innen plausibel, wenig umständlich und trotzdem sachlich korrekt, sich in beiden Fällen analog stellt; daher müssen wir in Bezug auf die Erklärung für Nutzende nicht zweimal getrennt das Rad neu erfinden (selbst wenn sich die konkret erlaubten Zeichen unterscheiden).

Was mir in Bezug auf die konkret erlaubten Schriftzeichen nicht ganz klar ist: 1) Was sind letters and decimal numbers in any script? Bedeutet das, man könnte einen Nutzernamen in (z.B.) hebräischen Schriftzeichen wählen, anders als beim Self-Archiving? 2) Ist die Aufzählung !#$%&'*+-/=?^_`{|}~ eine abschließende?