Skip to content
This repository has been archived by the owner on Dec 18, 2020. It is now read-only.

Entscheidung für Umgang mit Groß- und Kleinschreibung #2

Open
svenk opened this issue Aug 19, 2015 · 12 comments
Open

Entscheidung für Umgang mit Groß- und Kleinschreibung #2

svenk opened this issue Aug 19, 2015 · 12 comments

Comments

@svenk
Copy link
Member

svenk commented Aug 19, 2015

Wir sind immer noch nicht sicher, wie mit Groß- und Kleinschreibung umgegangen werden soll.

Zunächst muss zwischen benutzergewählten Kürzeln und automatisch generierten unterschieden werden.

Automatisch generierte Kürzel

Normalerweise zählt YOURLS Zahlen und Buchstaben, was aber ziemlich fummelig aussieht (kurz.de/1, kurz.de/2, ... kurz.de/9, kurz.de/a, kurz.de/b, ... kurzl.de/z, ...). Stattdessen habe ich das Plugin Random Keywords installiert, welches, wie man in der plugin.php nachlesen kann, einen Zufallsstring aus 4 Zeichen als Kürzel erzeugt.

Hier können wir den Zeichensatz frei wählen, aus dem für das Kürzel gewählt wird. Siehe dafür zB die YOURLS FAQ, Abschnitt Difference Between Base 36 And Base 62 Encoding sowie yourls_rnd_string.

Mit dem Commit (a5b9895)[https://github.com/PhysikOnline-FFM/gu-urlshorter/commit/a5b9895a02c9c9e3fcf3e052e1950ff729943798] hab ich explizit Kleinbuchstaben ausgewählt sowie typische Zeichen, zwischen denen Verwechselungsgefahr besteht, deaktiviert (etwa 1 und l, o und 0). Der verwendete Zeichensatz ist also aus der Liste

    $possible = "23456789bcdfghjkmnpqrstvwxyz";

Ich denke, damit können wir gut fahren. Die Frage nach "Case Sensitive", also Groß- und Kleinschreibung umgehen wir, da die generierten Kürzel nur aus Kleinbuchstaben bestehen können. Sind zb auch einfacher einzugeben im Smartphone.

Manuell generierte Kürzel

Alternativ erlauben wir Benutzern, manuelle Kürzel einzugeben. YOURLS funktioniert hier (leider) so, dass es ohne Warnung alle ungültigen Zeichen aus dem Kürzel entfernt. Wir können hier sicher die GUI etwas benutzerfreundlicher machen und den Benutzer vor dem Abschicken warnen, wenn so etwas passiert.

Dennoch müssen wir überlegen, welche Zeichen erlaubt sein sollen. Was soll mit Großbuchstaben passieren? Im oben verlinkten Commit hab ich Großbuchstaben zugelasen (Stichwort "Base62" statt "Base36"). Allerdings gibt es die Alternativoption, Großbuchstaben mit Kleinbuchstaben zu ersetzen. Dies kann an mehreren Stellen geschehen: Direkt beim Erzeugen des Links, oder wenn man den Link aufruft. Es ist ziemlich verwirrend, dazwischen zu unterscheiden, deshalb sollte man dann konsequent mit Kleinbuchstaben fahren. Will man das? Anders gefragt: Mit welcher Intention erstellen Benutzer Kürzel mit Großbuchstaben, und sollte man sie nicht eher dazu belehren, damit aufzuhören, statt sie brutal zu ersetzen?

Referenz dieses Tickets: Bertrams E-Mail-Einwand

Ich hab jetzt mal getestet - dafuq passiert hier?? (Anhang)
Er entfernt die Großbuchstaben ;-)

I see... Ja - dass die Links Case Sensitive sind, ist wohl ein Ding. Das
ist natürlich fürs Abtippen auf Mobilgeräten auch nicht perfekt.

Ich finde es eigentlich gut, wenn lowercase geforced wird - aber dann
durch Umwandlung und nicht durch Kürzung :)

Gibt doch da auch entsprechende Stringfunktionen, oder?
Also prinzipiell ist das alles ja okay, aber es muss dann ersichtlich
sein, was passiert; es muss also einen Infotext geben.

@sheepyhollow
Copy link

Zeichen, zwischen denen Verwechselungsgefahr besteht, deaktiviert (etwa 1 und l, o und 0)

das gilt aber nur für die automatisch erzeugten URLs?

Denn das wäre schon eine ziemliche Einschränkung für sprechende Kurz-URLs, wenn man auf i und o verzichten muss...

Nutzerfreundliches Feedback finde ich wichtig - ideal wäre es natürlich, das vorher abzufangen.
Oder so ein kleines Rulebook zu verlinken.

@svenk
Copy link
Member Author

svenk commented Aug 19, 2015

das gilt aber nur für die automatisch erzeugten URLs?
Denn das wäre schon eine ziemliche Einschränkung für sprechende Kurz-URLs

Richtig, das gilt nur für automatisch erzeugte URLs. Gerade diese Unterscheidung ist ja wichtig: Wir haben zwei verschiedene Mengen erlaubter Zeichen für die beiden Typen von gekürzten URLs (automatisch vs manuell). Ansonsten würden wir nämlich Gaga werden -- dann würden wir entweder keine Bindestriche etc. in manuellen Kürzeln erlauben können, oder wir hätten automatische Kürzel, die unleserlich wie "-_Aa98" werden könnten.

@sheepyhollow
Copy link

Mit welcher Intention erstellen Benutzer Kürzel mit Großbuchstaben, und sollte man sie nicht eher dazu belehren, damit aufzuhören, statt sie brutal zu ersetzen?

BInnenmajuskeln sind schon nützlich - "SciEnglish" sagt mehr aus als "scienglish".
ABER es ist halt unpraktisch.

Daher ist belehren gut. Schön wäre natürlich ein Popup (bzw. eine Meldung): 'Ihre gewählte Kurz-URL enthält Großbuchstaben (bzw. sonstige Zeichen), die bei der Eingabe auf Mobilgeräten unpraktisch sein kann. Wollen Sie das wirklich??'

oder so.

@svenk
Copy link
Member Author

svenk commented Aug 19, 2015

Daher ist belehren gut. Schön wäre natürlich ein Popup (bzw. eine Meldung): 'Ihre gewählte Kurz-URL enthält Großbuchstaben (bzw. sonstige Zeichen), die bei der Eingabe auf Mobilgeräten unpraktisch sein kann. Wollen Sie das wirklich??'

Genau an so eine Meldung hab ich gedacht, als Popup unter dem Eingabefeld für selbstgewählte Kürzel. In der gleichen Form, wie heutzutage Warnungen kommen, dass zB das gewählte Passwort zu schwach ist. Also vgl. diese Mockups:

1
2
3
4

@sheepyhollow
Copy link

hübsch diskrete Bilder :)

@tmke8
Copy link
Contributor

tmke8 commented Aug 19, 2015

Mal eine andere Frage, woher weiß YOURLS eigentlich, dass http://tinygu.de/infos zur Info-Seite führen soll und keine Kurz-URL ist?

@svenk
Copy link
Member Author

svenk commented Aug 19, 2015

@thomkeh: Ab Zeile 31 in yourls-go.php wird geschaut, ob es eine gleichnamige Datei im Verzeichnis pages gibt.

@tmke8
Copy link
Contributor

tmke8 commented Aug 19, 2015

Okay und neue Kürzel werden auch danach überprüft?

@svenk svenk mentioned this issue Aug 19, 2015
@svenk
Copy link
Member Author

svenk commented Aug 19, 2015

Okay und neue Kürzel werden auch danach überprüft?

Was meinst du mit neuen Kürzeln? Die yourls-go.php wird direkt durch yourls-loader.php aufgerufen. Die Loader-Datei unterscheidet, ob der Beuscher eine Kurz-URL oder Statistiken anschauen möchte. Und die Loader-Datei wird wiederum per htaccess/dem Webserver aufgerufen, wenn es die Datei (wie tinygu.de/abcdef) nicht gibt (vgl. https://github.com/YOURLS/YOURLS/wiki/Nginx-configuration).

Die yourls-go.php ist ziemlich kurz und übersichtlich: In Zeile 17 wird die Datenbank angefragt, und danach geschaut ob es einen Eintrag gibt oder nicht.

@tmke8
Copy link
Contributor

tmke8 commented Aug 19, 2015

Ich wollte wissen, was passiert wenn ich "infos" als Kürzel anfordere. Habs getestet, gibt einen Fehler. Alles gut :)

@sheepyhollow
Copy link

Gibt's ein Gefühl dafür, wann die Case-Warnung eingebaut werden könnte?

@svenk
Copy link
Member Author

svenk commented Nov 30, 2015

@crstnbr wollte sich das glaub ich mal anschauen, zumindest hat er bei #9 Interesse bekundet. Allgemein würd ich gerne einen unsere Hiwis dafür begeistern ;-).

mimischi pushed a commit that referenced this issue Nov 9, 2016
Re-enable actions only if edit-save succeeded
mimischi pushed a commit that referenced this issue Nov 9, 2016
Anzeige des aktuellen Hosts, in dem nicht der SERVER_NAME verwendet wird, sondern
der HTTP_HOST. Eine gute Übersicht, wo der Unterschied zwischen diesen
beiden Variablen besteht, liefert http://stackoverflow.com/a/2297421
mimischi pushed a commit that referenced this issue Nov 9, 2016
Anzeige des aktuellen Hosts, in dem nicht der SERVER_NAME verwendet wird, sondern
der HTTP_HOST. Eine gute Übersicht, wo der Unterschied zwischen diesen
beiden Variablen besteht, liefert http://stackoverflow.com/a/2297421
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants