marians / offeneskoeln

Software backend of offeneskoeln.de
16 stars 9 forks source link

Slashes in Dokument-IDs #107

Open the-infinity opened 11 years ago

the-infinity commented 11 years ago

In einigen Kommunen kommen in den Dokument-IDs Slashes (also / ) drin vor. Das ist ein wenig unschön, da dies eigentlich reservierte Zeichen sind und die z.B. Apache aus Sicherheitsgründen automatisch rausfiltert - auch dann, wenn sie escaped sind. Das führt zu zufälllig wirkenden 404ern.

Sollte man die / durch ein anderes Zeichen (z.B. - ) ersetzen (und damit dann die Zuordnung zu Orginal-Dokumenten schwerer machen) oder die URLs so lassen und Apache und Co anweisen die Slashes anzunehmen? Im Apache Support Channel habe ich eine sehr warme Empfehlung zum Beseitigen der Slashes bekommen.

marians commented 11 years ago

Bislang habe ich Slashes auch immer durch Dashes (also Minuszeichen) ersetzt. Habe ich das in der neuen Version abgeschafft? Vielleicht sollten wir es wieder aufnehmen.

the-infinity commented 11 years ago

Yep, Du wolltest sogar ein Redirect dazu schreiben: https://github.com/marians/offeneskoeln/issues/101 - vielleicht doch lieber wieder ersetzen lassen?

marians commented 11 years ago

Letztlich wollen mir Slashes in der ID auch nicht wirklich gefallen.

the-infinity commented 11 years ago

Hmm. Der Ansatz von damals klappt nur bei einigen Kommunen nicht, weil das - zeitweise auch verwendet wird. Beispiel: https://www.duisburg.de/ratsinformationssystem/bi/vo0050.php?__kvonr=20056078 - da geht ein einfaches real_reference = reference.strip().replace('-', '/') in https://github.com/marians/offeneskoeln/blob/v1.0/webapp/dispatch.py schief. Werde also ein URL Feld in der Datenbank einführen (mit Möglichkeiten zum Alias, da kann man später dann auch sprechende URLs generieren und Weiterleitungen wie die in #101 angesprochene realisieren).

the-infinity commented 11 years ago

So. Ist nun wie beschrieben mit zusätzlichem URL Array-Datenbankfeld im OpenRuhr Repo drin: https://github.com/OpenRuhr/ris-web/commits/master