DEPRECATED! Längst hat die TU Dresden ihre Infrastruktur umgestellt und auch die SLUB-Webseiten haben sich geändert. slubmagic funktioniert definitiv nicht mehr und verbleibt aus rein nostalgischen Gründen im Blog. Hach! schön war die Zeit…

slubmagic.sh hilft allen vergesslichen Naturen sich an ihre Bücher in der Sächsischen Landes- und Universitätsbibliothek (SLUB) Dresden zu erinnern.

Anforderungen
Download
Installation
ToDo
Versionen

Warum? Früher (TM) gab es an der Sächsischen Landes- und Universitätsbibliothek (SLUB) einen Email-Service, der allen Nutzern vor Ablauf der Rückgabefrist ihrer Bücher rechtzeitig Bescheid gab. Das war recht nett, da jedes überfällige Buch einen Euro Gebühr kostet. Leider schaltete die SLUB diesen Dienst wegen Unzuverlässigkeit ab – hin und wieder haben einige wohl keine Nachricht erhalten (Artikel SäZ). Gerechtigkeit muss herrschen, also erhält nun niemand eine Nachricht.

slubmagic ändert das und ersetzt diesen Email-Service!

Wie geht’n das? slubmagic ist ein bash-script, dass täglich früh morgens abläuft. Es loggt sich mit dem Bibliotheks-Account des Nutzers bei der SLUB ein und prüft, ob in den nächsten Tagen Bücher ablaufen. Wenn dem so ist, erhält man eine Email mit den fälligen Büchern.
Wie mach ich’n das? Am einfachsten geht’s mit dem kleinen Installer für slubmagic. Der installiert nahezu ohne Umstände slubmagic für Euch auf Eurem eigenen Account an der TU Dresden (das ist der, den jeder Student und Mitarbeiter für die Email verwendet). Man muss nur seine Daten reintippen und alles ist erledigt. Wer keine Installer mag und lieber sehen will, was vor sich geht, kann auch diese Installationsanleitung bemühen.

Anforderungen

slubmagic läuft auf Rechnern mit unixoidem Betriebssystem. Getestet habe ich bisher auf:

  • Debian GNU Linux (x86)
  • Tru64 Unix und
  • SunOS 5.10, Sun-Fire-V210 Solaris

Benötigt wird ein Account auf einem Unix-Rechner, dort:
bash
cron
sed
mailx
wget oder lynx
gdate oder date

Die Loginserver der TUD erfüllen diese Vorraussetzungen. Jeder Student und Mitarbeiter der TUD besitzt dort einen Login: es gelten die gleichen Daten, wie für den Email-Account.

Download

Die einfachste Variante geht über meinen kleinen Installer, einfach das zip-Paket runterladen und diesen Anweisungen folgen.
Symbol ZIPslubinstall.zip

Wer fertige Installer nicht mag und lieber sieht, was vor sich geht, der nutzt diese Anleitung.

Der Vollständigkeit halber hier noch das nackte Script, slubmagic in seiner reinsten Form.
Symbol Shellscript slubmagic.sh   BETA! aktuelle Version ist v0.26

Feedback kann man mir immer senden – Verbesserungsvorschläge, Bugs, etc. alles ist willkommen.

ToDo
    noch zu implementieren:

  • *.dat-Problem von Emails in Outlook beseitigen
  • slubmagic mehrere Versuche machen lassen, die SLUB-Webseiten zu laden
  • Gebührenstatus Warnung: Gebühren älter als einen/drei Monat(e) führen zu einem gesperrten SLUB-Webaccount
  • logging des scripts erweitern
  • {done:v0.23} nervende tägliche Statusmeldungen per mail verhindern (vielleicht nur am Tag der Meldung schicken?)
  • {done:v0.23} evtl. doch die Nutzerdaten getrennt abspeichern, damit diese nicht jedesmal neu eingegeben werden müssen, wenn eine neue Version von slubmagic erscheint
  • {done:v0.23} Umlautdarstellung in slubmagic-Emails beheben
  • Automatische Verlängerung wieder in Betrieb nehmen
  • {done: v0.26} die wöchentliche Email um eine Zusammenfassung der ausgeliehenen Bücher ergänzen (dann weiß man, das slubmagic auch wirklich noch richtig funktioniert)
    bekannte Bugs:

  • Bug #001: {fixed v0.13} Gesperrte Konten in der SLUB werden nicht erkannt!
  • Bug #002: {fixed v0.14} Während der Installation werden zwei crontab-Fehler angezeigt. Hintergrund: Wenn ein Nutzer noch nie einen CRONjob angelegt hatte, existiert sein crontab-file noch nicht, kann also auch nicht abgefragt werden. Dieser Fehler hat keine Auswrikung auf die korrekte Installation von slubmagic.
  • Bug #003: {fixed v0.13} führende Nullen in der Tagesangabe stören die Berechnung der Unixsekunden {function get_sec()} eines Datums -> cron meldet ein Problem bei der Ausführung, Auswirkungen sind unbekannt
  • Bug #004: {fixed v0.13} Fehler-Email von slubmagic wird nicht gesendet, Befehlsumleitung wird falsch verwendet -> kann so gar nicht gehen.
  • Bug #005: Benutzereingaben werden bei der Installation mit read gelesen: Auf einer Tru64 Unix funktionierte Backspace nicht -> die Eingaben werden mit zu vielen Zeichen gespeichert
  • Bug #006: {fixed v0.13} slubmagic löscht am Ende nicht alle temporären Dateien im globalen Verzeichnis für temporäre (meist /tmp)
  • Bug #007: {fixed v0.15} slubmagic lässt sich auf serv9 der Informatikfakultät der TU Dresden fehlerfrei installieren und sein status ist positiv. Trotzdem meldet es während der Ausführung durch cron Fehler per Email. Ursache sind fehlende absolute Pfade zu den in slubmagic verwendeten Programmen; diese wurden in v0.15 ergänzt.
  • Bug #008: die Installation auf rcs7.zih.tu-dresden.de schlägt fehl – die crontab lässt sich nicht schreiben.
Versionsgeschichte

v_0.26
WIR SIND BETA, also slubmagic bitte noch mit Vorsicht genießen – und auch hin und wieder selbst mal einen Blick in die Bücherliste bei der SLUB werfen, ich garantiere für nichts!

Stand: Slubmagic schaut täglich einmal zwischen 0:00 und 6:00 (zufällig bei der Installation festgelegt) nach ablaufenden Büchern in der SLUB und sagt bei Bedarf per Email bescheid. So man es bei der Installation angegeben hat, erhält man auch eine wöchentliche Zusammenfassung, welche Bücher in der kommenden Woche fällig werden. Sollte man trotz Email von slubmagic doch einmal Bücher vergessen, verlängert es diese wenn möglich am Tag der Fälligkeit zwischen 23:00 und 0:00 Uhr selbständig. Außerdem kann slubmagic per Email auch über neue Versionen informieren. Auf der Console kann mit slubmagic.sh status nachgesehen werden, wie es slubmagic geht. Wenn slubmagic gesund ist erhält man direkt die Liste ablaufender Bücher. Andernfalls kommt eine kurze Fehlerbeschreibung. Slubmagic besitzt komfortable Installations- und Deinstallationsroutinen.

Changelog v0.26:       04. November 2008
mailx hat Probleme mit der UTF-8-Codierung, dadurch kann es passieren, dass die Benachrichtigungsmails nicht gesendet werden. Fehler ist geflickt. Leider weiß ich nicht, wie man mailx dazu bewegt, auch Emails mit „multibyte-character“ zu senden. ($LANG setzen reicht scheinbar nicht).
Jedes neu auftauchende Sonderzeichen, dass in slubmagic nicht gesondert behandelt wird, wird wieder Emails verhindern… sorry.

v_0.25
Changelog v0.25:       15. Oktober 2008
Die URL für die automatische Benachrichtigung bei einem Update ist korrigiert, dass dieser Service wieder funktioniert. Auch sollten jedenfalls wieder fällige Bücher gmeldet werden.

v_0.24
Changelog v0.24:       11. Mai 2008
Nach dem großen Umbau der SLUB-Seiten musste slubmagic angepasst werden, die alten Versionen funktionieren nicht mehr!
Zu den behobenen Fehlern: Unter bestimmten Umständen wurde die Update-Email nicht versand, jetzt sollte das zuverlässig klappen.
Noch nicht funktionieren die automatische Verlängerung fälliger Bücher und die Benachrichtigung über bereitliegede Vorbestellungen sowie die Systemmeldungen. Um dem Parser in Slubmagic das beizubringen benötige ich erst den Quelltext der SLUB-Webseiten mit solchen Informationen.

v_0.23
Changelog v0.23:       14. April 2008
Systemmeldungen werden nur noch am Tag ihres Entstehens gemailt, die Emails sind ordentlicher formatiert. Die Nutzerdaten werden extra gespeichert, sodass sie nach einem Update nicht erneut eingegeben werden müssen (nur diesmal noch). Außerdem ist ein Fehler in der Autoverlängerung beseitigt: sie schlug 3 Tage zu früh zu.

v_0.22
Changelog v0.22:       16. Januar 2008
Ein kleines Märzproblem wurde beseitigt und die automatische Onlineverlängerung fälliger Bücher schickt jetzt eine Erfolgsmail.

v_0.21
Changelog v0.21:       25. November 2007
Das Ablaufdatum der Benutzerkarte wird nun in den Emails korrekt angezeigt. Die Karte ist unbedingt rechtzeitig zu verlängern, da mit deren Ablauf auch der Online-Zugriff gesperrt wird!

v_0.20
Changelog v0.20:       22. September 2007
slubmagic kann jetzt selbständig Bücher verlängern, sollte man es trotz Emails mal vergessen haben. Das funktioniert aber nur mit Büchern, die noch nicht verlängert wurden, da die SLUB nur einmalig die Onlineverlängerung erlaubt.

v_0.19
Changelog v0.19:       9. August 2007
Die SLUB hat wieder ihre Webseiten überarbeitet. Logischer Weise verschwanden die Anführungszeichen wieder, vgl. auch v_0.16. Auch scheint man jetzt auf den windowstypischen Zeilenumbruch in den Webseiten umgestiegen zu sein, die SLUB-Seiten verwenden jetzt LF CR statt nur LF. Das alles ist slubmagic ab sofort ganz egal, es ist jetzt so robust, dass es mit beiden Varianten umgehen kann. Schöner formatiert kommt die Benachrichtigungs-Email nun auch daher.

v_0.18
Changelog v0.18:       25. Juni 2007
Ein erneut aufgetauchtes Fehlerchen der SLUB-Benutzerseiten-Auswertung wurde beseitigt (die Sache mit den Anführungszeichen an den Name-tags der Tabellenbezeichner). Das war in v0.16 schonmal beseitigt, hat sich aber in v0.17 wieder eingeschlichen. Jetzt isses wieder raus. Hoffentlich.

v_0.17
Changelog v0.17:       23. April 2007
Neue Funktionen wurden eingebaut: Update-Benachrichtigung und verbesserte Lastverteilung.
Auf Wunsch informiert slubmagic ab sofort per Email über neue Versionen seiner selbst. Zur Installation kann ausgewählt werden, ob man diesen Service möchte oder nicht.
Die Lastverteilung auf den Servern wurde verbessert. CRON führt slubmagic immer zur vollen Minute aus. Bei vielen Nutzern würde slubmagic in vielen Instanzen gleichzeitig auf die Webseite der SLUB einhämmern. Das wird durch eine individuelle Verzögerung am Beginn der Ausfuehrung gemildert.

v_0.16
Changelog v0.16:       19. April 2007
Einen kleinen Bug in der Berechnung des Datums [function get_sec()] beseitigt.

v_0.15
Changelog v0.15:       26. März 2007
Bug #007: Die bin-Pfade wurde um Einträge ergänzt, die slubmagic auch auf den Servern der Faklutät Informatik der TU Dresden lauffähig machen.

v_0.14
Changelog v0.14:       18. März 2007
Bug #002 wurde beseitigt, keine Crontab-Fehlermeldung mehr während der Installation. slubmagic prüft jetzt außerdem die eingegebenen Nutzerdaten auf Plausibilität.

v_0.13       11. März 2007
Changelog v0.13:
Die Bugs #001, #003, #004 und #006 wurden beseitigt. slubmagic informiert jetzt über fehlgeschlagene Logins an der slub.

v_0.12       6. März 2007
Changelog v0.12:
* Problem auf den Loginservern der TUD (Tru64 Unix) gefixt: führt Cron hier einen Job mit bash aus, ist die PATH-Variable leer. PATH wird jetzt am Beginn von slubmagic um Standard- und einige andere Pfade ergänzt.
* mailx scheint nicht auf allen Linuxkisten die Option -r zum Ändern des Absenders zu kennen: für Portabilität gestrichen, da nur aus ästhetischen Gründen verwendet.

v_0.11       5. März 2007
Obsolet wegen Problemen mit fehlendem PATH im Zusammenspiel mit Cron auf Loginservern der TUD (Tru64 Unix)
Changelog v0.11:
Rechtschreibfehler in den Zeilen 479 und 506 korrigiert:
die temporäre Datei der Benachrichtigungsmail war falsch geschrieben!
falsch: submagicmail.txt
richtig: slubmagicmail.txt

v_0.1       4. März 2007
-> hat einen Fehler, der die tägliche Benachrichtigung über ablaufende Bücher verhindert! (Blogeintrag)

[tags]slub,bibliothek,dresden,bücher,email,benachrichtigung,script,bash[/tags]