Closed xwolfde closed 5 months ago
Vorschlag:
Zwei Wordpress-Plugins:
rrze-shorturl-db Generiert einmalig Datenbank Bietet REST-API:
rrze-shorturl Gutenberg Block: ein Feld url ruft über REST-API rrze-shorturl-db auf und liefert nur shorturl
Angelegt ist jetzt:
(Aufteilung in zwei Plugins folgt.)
Das Problem ist die Performance, wenn der Service nachher für ettliche Tausend URLs verwendet wird. Die eigentliche Redirection wäre schneller, wenn sie headless oder ohne WordPress erfolgen könnte. Die Redirection erfolgt auch dann nur auf go.fau.de .
Auf anderen Websites sähe ich jetzt keine Notwendigkeit ein Block anzubieten um URLs einzubauen oder aus einer DB auszuwählen. Zumal: Wie sollte man die denn filtern, wenn quasi jeder ANgehörige der Uni Shorturls anlegt. Die haben dann mit den Websites doch selten was zu tun. EIn Block auf einer Website machte jedoch nur Sinn, wenn man dort z.B. eine Auswahlliste von ShortURLs nach irgendein Autor oder Tag oder was anderes hätte. Aber was wäre der Benefit davon? Derjenige der eine Shorturl auf go.fau.de rtegistrierte, kennt sie doch. Also kann er sie doch auch einfach in den Link-Block einer Website kopieren.
Das leuchtet mir ein.
Könnte das dann nicht einfach wie folgt umgesetzt werden?
Plugin
Redirect erfolgt flott via .htaccess rules. Hits werden nicht hier gespeichert. Statistik-Auswertung über das log-file vom Server.
Damit kann die short_url über die Website manuell abgefragt werden oder mit einem Aufruf an REST-API.
Ja, allerdings könnte dann die Site nicht mehr auf unserer Multisite-Instanz laufen, weil wir dort nicht in die .htaccess schrieben könnten...
Alternativ: Eingabe der URLs auf eine Multisite-Domain wie www.go.fau.de. Die Domain go.fau.de hingegen ist keine WordPress-Instanz sondern eine webspace-Domain (wie bisher), nur dass dort via Cron regelmässig eine .htaccess erzeugt wird oder ein textindex erzeigt wird, welche über ein simples Skript aufgerufen wird.
Ja, die Alternative ist zwar nicht so flott wie .htaccess, aber wohl die beste Lsg.
Das Plugin könnte ein Txt-File erstellen bzw updaten. Ein kleines, Cron-gesteuertes Skript nimmt das und schreibt die .htaccess
Das dürfte performanter sein, als dass das Cron-Script eine Datenbank abfrägt. Wir haben ja nur ein Paar (url => short_url).
In Tabelle $wpdb->prefix . 'shorturl_links' sind alle Links enthalten.
Überlegung: CSV daraus zu generieren für go.fau.de
umgesetzt in 0.1.59
Der bisherige rein Perl-basierte ShortURL-Service auf go.fau.de soll durch ein WordPress-Plugin erstetzt werden. Die Domain go.fau.de soll in Zukubft durch eine WordPress-Instanz ersetzt werden, auf die das Plugin aktiv ist.
Wichtige Grundlage ist dabei, dass die Generierung der ShortURLs nach gleichem mathematischen Algorithmus erfolgt, wie bisher um vorhandene ShortURLs weiterhin funktionabel zu lassen. Im Gegensatz zu den bisherigen Verfahren, welches auf Basis von definierter Ziel-Websites, wie das OTRS, vorhandenen alphanumerische Strings in einen kurzen String umwandelt, soll dieser Service es auch erlauben, dass Perosnen, die via SSO eingeloggt sind, individuelle URLs eingeben, zu der sie eine Verkürzung erhalten.
Das Plugin soll daher folgende DInge ermöglichen:
Aus Performancegründen kann darüber nachgedacht werden, via WordPress lediglich die Verwaltung und Eingabe/Bearbeitung von ShortURLs zu ermöglichen, die eigentliche Redirection jedoch durch ein PHP-Skript auf einer geeigneten abgespeckten Webspace-Website durchführen zu lassen.