RRZE-Webteam / rrze-shorturl

WordPress-Plugin to enable a shorturl redirection service run on two servers (WP + PHP-only)
https://www.shorturl.rrze.fau.de
GNU General Public License v3.0
0 stars 1 forks source link

QR-Code-Generator für URLs #11

Closed xwolfde closed 6 months ago

xwolfde commented 7 months ago

Zur optionalen Nutzung der ShortURLs soll es auch einen QR-Code-Generator geben, der eine ShortURL auch grafisch umsetzt und anzeigt.

Wird bei der Bearbeitung dem Benutzer angezeigt #6.

Ggf. kann aber auch in Erwägung gezogen werden, die QR-Code-Erstellung auch für nicht angemeldete Benutzer auf der Website zur Verfügung zu stellen. Dies ist jedoch nachangig.

xwolfde commented 7 months ago

Der QR-Code-Generator soll nicht nur für ShortURL-Links funktionieren, sondern auch für beliebige andere Links. Die Funktion kann auch öffentlich angeboten werden, ohne SSO-ZUgang. Wir sollten aber auf den Traffik schauen. Nicht das uns das dann zu viel Performance kostet.

thenickless commented 6 months ago

neue Klasse QR: ab587308c1f61bb5961b79dffa8bc5e91273ba47

Anmerkung: Unter den Möglichkeiten PHP QR Code, Endroid QR Code, Bacon/BaconQrCode und Google Charts API ist Bacon/BaconQrCode am schnellsten und lightweight, aber PHP QR Code ist native und vergleichsweise lightweight, darum phpqrcode/qrlib.php. Google Charts API kommt nicht in Frage, da API und ggfalls Datenschutzbedenken.

thenickless commented 6 months ago

phpqrcode/qrlib.php ist veraltet, https://github.com/psyon/php-qrcode wird stattdessen verwendet. Lightweight : ein einziges File.

xwolfde commented 6 months ago

Bei dem FAU Theme hatte uns Tollwerk ein einfaches JavaScript eingefügt, dass QR-Codes erzeugt. ggf. wäre das eine Alternative gegenüber irgendeiner Lib.

Hierin: https://raw.githubusercontent.com/RRZE-Webteam/FAU-Einrichtungen/master/js/printlinks.min.js (Leider nicht entpackt und nicht erklärt vorhanden)

thenickless commented 6 months ago

nehm ich gern statt der PHP Variante. Brauche dazu bitte ein Code-Bespiel für den Aufruf. https://tollwerk.github.io/printlinks/ scheint etwas anderes zu sein.

thenickless commented 6 months ago

Ah, jetzt verstehe ich es.

Die nutzen dazu https://github.com/papnkukn/qrcode-svg

Ok, kann ich nehmen.

thenickless commented 6 months ago

This library has been written to generate a SVG image of QR Code in Node.js

und mit

npm install qrcode-svg

wird mir mein node_modules so verwüstet, dass "npm run build" und "npm run start" nicht mehr laufen, weil wp-scripts nicht mehr gefunden wird.

Ich schau, wie ich das fixe oder installier qrcode-svg manuell

thenickless commented 6 months ago

https://github.com/papnkukn/qrcode-svg wurde seit 5 Jahren nicht mehr gepflegt. Soll ich es dennoch verwenden?

Besser fände ich, wenn die QR nicht on-the-fly im Browser, sondern mit PHP auf dem Server als data gespeichert werden.

xwolfde commented 6 months ago

Macht für mich keinen SInn, den QR Code in der Datenbank zu speichern: Der QR-Code wird nur gebraucht wenn er von jemand (dem eintragenden des Links) angezeigt werden soll. Sonst nie. Auch nicht während des Aufrufs des LInks. Wenn er nur für diesen einmaligen Zweck verwendet wird, kann er dann auch jeweils neu erzeugt werden. Es ist daher unnötig, die Datenbank mit dem Code vollzumüllen. Dass der JavaScript Code alt ist, wundert nicht. Die QR Code Syntax wurde und wird ja nicht mehr geändert. Keep it simple.

thenickless commented 6 months ago

umgesetzt in 0.1.2 mit https://github.com/neocotic/qrious (ein javascript file, lightweight)