-
Notifications
You must be signed in to change notification settings - Fork 9
Neue Attachment URLs und Redirects
Nach der Umstellung des Kölner Ratsinformationssystems (RIS) im April 2013 ändern sich die Daten, die zu Dateianhängen vorliegen. Insbesondere ist die numerische ID, mit der vorher Dateianhänge eindeutig gekennzeichnet wurden, nicht mehr verfügbar.
Bislang wurden die URLs für Dateianhänge auf Basis dieser numerischen ID gebildet. Ein Beispiel:
http://offeneskoeln.de/attachments/4/0/pdf227504.pdf
Der Dateiname besteht aus der numerischen ID zusammen mit der Dateityp-Kennung "pdf". Der Pfad "/4/0/" wird aus den letzten beiden Ziffern der numerischen ID, in umgekehrter Reihenfolge, gebildet.
Diese URLs sind in Suchmaschinen bekannt und werden von vielen Seiten verlinkt. Daher ist es im Sinne der Nutzerfreundlichkeit entscheidend, dass die URLs nach der Umstellung auf das neue System nicht ins Leere laufen.
Sobald das RIS umgestellt wurde, können die Attachments erneut gescraped werden. Dabei wird auch wieder die SHA1-Prüfsumme ermittelt, die bereits für alle Attachments in der alten Datenbank steht.
Anhand der SHA1-Prüfsumme sollte es möglich sein, die meisten Dateien, die bisher existierten, ihrem neuen Datenbankeintrag zuzuweisen.
Die Liste der alten numerischen IDs zusammen mit den SHA-Prüfsummen und ggf. den Attachment-IDs im neuen System sollte als Mapping-Tabelle in der Datenbank angelegt werden.
Anfragen auf die veralteten URLs sollen von einem Stichtag an mit einem HTTP 301 Redirect beantwortet werden. Dabei wird die neue, absolute Download-URL mitgegeben.
Zum Ermitteln der neuen URL muss die alte numerische ID in der Attachment-Datenbank hinterlegt sein.
Anders als bisher werden die Attachments nicht mehr als Dateien aus dem Dateisystem ausgeliefert, sondern per Flask Webapp aus der Datenbank gelesen und gesendet. Hierbei sind wichtige Header wie "If-modified-since" zu berücksichtigen.