Tagwerk T minus 2

Gestern war ein schwieriger Tag. Wie passend, dass ich Abends vergessen habe, meinen täglichen Blogpost zu schreiben.

Schwierig war der Tag, weil ich einen Durchhänger hatte. Kann vorkommen. Ungünstig war nur, dass ich mir für gestern ausgerechnet zwei aufwändigere und komplexere Entwicklungsaufgaben an der Suchseite aufgespart hatte, die ich zusammen schon mit 7 bis 8 Stunden veranschlagt hatte. Und dass die Zeit knapp wird. Das Resultat ist, dass ich eine von beiden gar nicht und die andere nicht zufriedenstellend gelöst habe.

Daran habe ich gearbeitet:

  • Facetten in der Suche
  • JavaScript zusammenfassen
  • Über-uns-Seite
  • API-Dokumentation

Die Such-Facetten ermöglichen das Einschränken der Suche durch Klick auf einen der verfügbaren Dokumenten-Typen, ein Gremium oder ein Stichwort. So weit, so gut. Man kann jetzt eine der Facetten anklicken und das Suchergebnis wird gefiltert. Man kann aber keinen weiteren Facetten-Filter hinzufügen. Klickt man auf eine Facette, werden andere Facetten-Filter zurückgesetzt. Unzufrieden bin ich aber nicht nur mit der Funktion, sondern auch mit der Darstellung.

Eine weitere Facette fehlt leider noch, denn das wäre die zweite größere Aufgabe für gestern gewesen: Die Einschränkung der Suche auf einen Datumsbereich. Diese soll anders funktionieren als die listenartigen Facetten. Die Solr-Suche habe ich so konfiguriert, dass sie monateweise ausgibt, wieviele Dokumente wann veröffentlicht wurden (Date Faceting). Das kann man dann schön in einem Balkendiagramm visualisieren. Dazu braucht es dann noch eine Möglichkeit, den Datumsbereich einzuschränken. Ein Beispiel, wie das funktionieren kann, habe ich gestern immerhin gefunden: der jQRangeSlider.

Gestern habe ich aber erst mal dafür gesorgt, dass man der API einen Datumsbereich übergeben kann, ohne das übergeben zu müssen, was Solr hierfür eigentlich benötigt. Denn Solr braucht für die Begrenzung eines Zeitraums immer exakte Zeitpunkte mit Tag, Monat, Jahr, sogar Stunde, Minute und Sekunde. Meine Datumsfacetten haben aber nur Monate als kleinste Einheit. Wenn Nutzer dann mit einem Slider an der Datumsfacette hantieren, möchte ich, dass der Slider an Monaten einrastet, also z.B. Juni 2011 bis Januar 2012. Für Solr muss daraus aber “1. Juni 2011, 0:00:00 Uhr” bis “31. Januar 2012, 23:59:59 Uhr” werden. Und natürlich erwartet Solr hier valide Datumsangaben, was bedeutet, dass jedes Monatsende genau da liegen muss, wi es laut Kalender eben liegt. Mal am 28., mal am 29., mal am 30. und mal am 31. des Monats. Nun, das ist immerhin nun implementiert und wird der query-Methode in einem sehr einfachen, kurzen, lesbaren und flexiblen Format übergeben. Fehlt als nur noch die Kleinigkeit, dies im User Interface abzubilden. Offen gestanden sehe ich das heute nicht mehr. Das wird zum ersten Februar (morgen) leider fehlen.

Dann habe ich ein paar JavaScript-Dateien zusammen gefasst. Modernizer und JQuery sind leider nicht mit drin, weil es Fehler gegeben hat, die ich nicht nachvollziehen konnte. Also werden immer noch zwei Requests zu viel für JavaScript ausgeführt. Beim ersten Laden…

Außerdem hatte ich für gestern auf dem Zettel, die Seite Über uns attraktiver und einladender zu gestalten. Angesichts der Tatsache, dass ich mit den Entwicklungsaufgaben (siehe oben) schon viel zu viel Zeit verschleudert hatte und mir nicht der Sinn nach neuer Funktionalität (denken wir an Karoussels, Animation, Video, …) stand, habe ich dort die Feature-Liste bebildert und den Satz insgesamt etwas aufgelockert.

Zuletzt habe ich begonnen, die API zu dokumentieren. Denn was ist eine API ohne Dokumentation? Auch hier gilt, dass im ersten Schritt nur das nötigste gesagt wird. Findige Entwickler werden sich auf Beispiel-URLs ihren Reim machen können. Will man aber mehr Leute erreichen, muss man schon etwas ausführlicher sein. Als jemand, der sich schon mit zahlreichen API-Dokus als Anwender herumgeschlagen hat, weiß ich ja eigentlich, was Leute wie ich wollen…

Ach ja. Ws gibt nun einen Twitter Account. Irgendwie fühlt es sich in diesen Zeiten falsch an, für eine Plattform wie Offenes Köln keinen zu haben. Also: twitter.com/offeneskoeln

Heute ist der letzte Tag für das Release am morgigen 1. Februar. Mal sehen, was ich noch hinkriege. Heute steht vor allem Testen und Debugging auf dem Plan.

Diskussion