1.41 Nutzungszahlen

Der Goobi viewer kann von sich aus Nutzungszahlen zu einzelnen Datensätzen ermitteln. Ermittelt werden kann dabei:

  • absolute Zahl der Seitenansichten (jeder Aufruf einer Seite eines Werkes)

  • eindeutigen Seitenansichten (jeder Aufruf einer Seite eines Werkes wird pro Nutzersession nur einmal gezählt)

  • absolute Zahl der Downloads (jeder Download einer Datei)

  • eindeutige Downloads (jeder Download einer Datei wird pro Nutzersession nur einmal gezählt)

Eine Nutzersession ist dabei die Session aus Sicht des Goobi viewers.

Die Logik dabei ist, dass alle Aufrufe die ein Werk öffnen einer Datenbank zwischengespeichert werden. Volle Tage können dann in den Solr Suchindex übertragen werden. Sobald die Daten im Suchindex stehen können sie entweder in einem Widget angezeigt oder über die REST API abgerufen werden.

Für die Konfiguration stehen folgende Einstellmöglichkeiten zur Verfügung:

<statistics enabled="false">
    <crawlerDetection regex=".*[bB]ot.*|.*Yahoo! Slurp.*|.*Feedfetcher-Google.*|.*Apache-HttpClient.*|.*[Ss]pider.*|.*[Cc]rawler.*|.*nagios.*|.*Yandex.*" />
</statistics>

Mit dem Attribut enabled wird die Funktionalität ein- oder ausgeschaltet. Ist sie aktiv, wird - sofern Daten vorliegen - auch ein Widget in der Seitenleiste angezeigt, das die Nutzungszahlen anzeigt.

Mit dem regulären Ausdruck im Element crawlerDetection wird definiert, welche UserAgents als Suchmaschinen behandelt werden. Diese werden nicht mitgezählt.

Für das regelmäßige Übertragen von Nutzungszahlen aus der Datenbank in den Solr Suchindex steht ein Task in der REST API zur Verfügung. Dieser muss regelmäßig, zum Beispiel über Cron, getriggert werden:

## This REST call to write usage statistics from database to Solr
#45 0       * * *   root  curl -s -H "Content-Type: application/json" -H "token:GOOBIVIEWERAPITOKEN" -d '{"type":"INDEX_USAGE_STATISTICS"}' -X POST http://localhost:8080/api/v1/tasks/ 1>/dev/null

Für die Abfrage der Nutzungszahlen stehen die folgenden beiden REST Endpoints zur Verfügung:

Last updated