Das CMS und seine Komplizen

Herzlich willkommen zu einer neuen Folge von „Wir versuchen ein Discovery System zu bauen“. Vielleicht kann sich der einte oder andere noch an meine „schöne“ Grafik im letzten Artikel erinnern? Diese versuchte aufzuzeigen, wie die verschiedenen Komponenten das Discovery System zusammensetzen und miteinander interagieren. Dieses Mal knöpfen wir uns den letzten Teil vor: Das CMS. Um genau zu sein verwenden wir Typo3 und eine seiner zahlreichen Extensions (nein, es sind nicht die Haare damit gemeint) Typo3-find.

Typo3 ist eines der mittlerweile vielen Content Management Systeme am Markt. Weitere Beispiele dafür sind WordPress (ursprünglich als Blog Plattform entstanden), Drupal, und Magento (auf online Shops spezialisiert). Typo3 ist sicherlich funktionsmässig das mächtigste CMS, aber auch eines der komplexesten. Charakteristisch für Typo3 ist, dass es sehr Extension-getrieben ist, das heisst man kann sich die benötigten Funktionen für die Website einfach aus tausenden von Bausteinen zusammenstellen.  Das höchste meiner bisherigen Gefühle war ein einfaches WordPress Theme selber zu entwickeln und zu verwalten. Daher bin ich froh, dass wir nun die Möglichkeit haben ein für mich neues CMS auszuprobieren.

Wir installieren und konfigurieren also Typo3. Leider gibt es für Ubuntu keine Installationspakete wie für Windows, so dass wir alles über das Terminal manuell einrichten müssen. Folgende erste Schritte werden dafür benötigt:

  • Installation von Apache, MySQL, PHP und Composer (den Composer benötigen wir für die Installation von Typo3 und Typo3-find)
  • Konfiguration von MySQL
  • Konfiguration von PHP

Nachdem diese Schritte durchgeführt sind, können wir mit der eigentlichen Installation von Typo3 und Typo3-find beginnen. Da wir eine Distribution von Cedric Ziel benutzen, die Typo3 und Typo3-find beinhalten, müssen wir diese nun mit Hilfe des vorhin installierten Composer installieren. Danach sind wir in der Lage für Typo3 einen Installationsassistenten unter http://localhost für die weitere Konfiguration zu benutzen.

Die eben erläuterten ersten Schritte werden sehr gut im Skript Kapitel 5.1 beschrieben und können dort nachvollzogen werden. Als nächster Schritt erwartet uns die Konfiguration von Typo3-find. Wir müssen diese Extension also noch aktivieren und so einstellen, dass wir sie nutzen können. Die Anleitung dafür findet man im Skript Kapitel 5.2 sowie Kapitel 5.3.

Als Resultat erhalten wir schlussendlich eine „nackte“ unformatierte Suchoberfläche mit einigen Suchfunktionen.  Würden wir dieses Interface den Nutzern präsentieren, würden sie wahrscheinlich die Webseite nach wenigen Millisekunden wieder schliessen und anderswo nach Einstein suchen. Also nehmen wir uns vor unsere Seite zu verbessern. Meine Kollegin und ich nehmen dafür Pinsel und Farben aus dem Werkzeugkasten und wollen beim Stylesheet Hand anlegen. Nach ca. einer Stunde des blinden Suchens nach index und CSS files, die eventuell hätten angepasst werden können, müssen wir leider das Handtuch werfen. Typo3 ist nicht intuitiv und lässt sich auch trotz ein wenig WordPress Themes Erfahrung nicht bändigen. Wahrscheinlich gibt es auch deshalb dafür sogar Typo3 Zertifikate zu erlangen.

Gemeinsam experimentierten wir auch mit dem Relevanzranking. Da Typo3-find auf dem Index Solr aufbaut, können die Möglichkeiten, die Solr anbietet dafür genutzt werden. Wer jetzt dabei an komplexes Relevanzranking à la Google denkt, muss leider enttäuscht werden. Unser Ansatz bezieht sich lediglich auf die Gewichtung der einzelnen Felder. Mit dieser kleinen Anpassung kann jedoch schon ein verbessertes Ranking der Treffer erzielt werden. Schauen wir aber auf den unten stehenden Code.

curl http://localhost:8983/solr/htw/config -H 'Content-type:application/json'  -d '{
  "update-requesthandler": {
    "name": "/select",
    "class":"solr.SearchHandler",
    "defaults":{
      "echoParams":"explicit",
      "rows":"10"
    },
    "appends":{
      "defType":"edismax",
      "qf":"contributor^1 coverage^1 creator^1 date^1 description^1 extent^1 format^1 identifier^1 language^1 pages^1 publisher^1 rights^1 title^1 type^1"
    }
  }
}'

Ab Zeile 11 „qf“ (was für quality factor steht) sieht man, dass alle Felder genau gleich gewichtet sind, nämlich mit 1. Möchte man nun das Ranking anpassen, so kann einzelnen Felder ein grösseres Gewicht zugeteilt werden (z.B. 5 statt 1). Ein objektives Ranking zu entwickeln scheint dabei jedoch nicht einfach zu sein. Dies weil die Relevanz immer auch vom Nutzungskontext abhängig ist. Aus diesem Grund ist auch bei Google die statistische Analyse von häufig durchgeführten Suchanfragen ein wichtiger Faktor beim Ranking.

Das nächste Thema des Tages ist die Suchmaschinenoptimierung. Spätestens seit der Übernahme der Suchmaschinen Herrschaft durch Google, ist dafür ein neuer Beruf entstanden: Der SEO (Search Engine Optimization) Manager. Auch wenn wir das nicht hauptberuflich machen, so sollten wir uns mit den Grundzügen des SEO beschäftigen, sobald wir eine Website betreiben. Was sind nun aber die Grundregeln des SEO?

Permanente URL

Absolute Regel Nummer 1. Wir wollen schliesslich, dass Google – aber auch jede andere Suchmaschine (ja, es gibt noch anderes neben Google) – unseren Datensatz crawlen kann. Das heisst, pro Datensatz im Discovery System eine HTML Seite mit fixer URL.

Embedded Microdata

Ganz wichtig, um der Website mehr Semantik zu verleihen. Bekanntestes Beispiel dafür ist schema.org. Wir zeichnen damit unsere Daten im HTML Dokument aus, so dass auch die Suchmaschinen verstehen können, um was für Daten es sich handelt. Oder direkt mit den Worten von schema.org ausgedrückt: „On-page markup helps search engines understand the information on web pages and provide richer search results.“

Sitemap

Die Erstellung einer Sitemap tönt eigentlich ganz trivial und langweilig, dennoch hilft sie den Suchmaschinen sich auf unserer Website zurechtzufinden. Dies weil eine Sitemap nichts anderes ist, als eine Auflistung all unserer URLs. Somit kann Google mit nur einem Klick in die nächste Ebene unserer Website springen.

Wir haben es also geschafft. Unser Prototyp eines Discovery Systems steht. Wir sind am Ende des Datenfluss Modells gelangt. Für die nächste Sitzung stehen nun zwei Sachen an: Wir versuchen einerseits (nochmals) unsere Website ein wenig schöner und nutzerfreundlicher zu gestalten und knöpfen uns auch VuFind vor, ein open source Discovery System aus einer Hand. Und das Beste daran ist: VuFind kann sogar direkt MARC21 Daten importieren, ohne dass diese im Vorfeld mit OpenRefine bearbeitet werden müssen.

PS: Für diejenigen, welche nun die Lust und Motivation für ein solches Discovery System verloren haben, gibt es eine radikale Lösung: Lasst einfach die Google Custom Search Engine über euren OPAC laufen, und lehnt euch zurück 🙂

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

Bloggen auf WordPress.com.

Nach oben ↑

%d Bloggern gefällt das: