RRZE – Projekte & Prozesse (P&P)

Das Blog der RRZE Stabsstelle "Projekte & Prozesse"

Content

Projektverlauf des Projektes YaCy an Proxy

English Version

Entwicklung des Paketes YaCy

Ziel des Projektes war es eine lokale Suchmaschine zu installieren, welche mit dem Proxy der Universität kommunizieren sollte. Durch die unabhängigkeit der Suchmaschine von anderer Dienste wie Google und Yahoo, eignete sich diese perfekt für den Einsatz an der Universität, da man sich hier unabhängig machen würde. Durch die Peer-to-Peer Technologie, die verwendet werden kann, um den Suchindex mit anderen Teilnehmern zu tauschen, ist diese Suchmaschine ausfallsicherer als große Suchdienste wie Google und Co.. So erfüllen nicht ein paar große Server den Dienst, sondern viele kleine Rechner, eben die der Teilnehmer, mit installierer YaCy Instanz. Der Zweck dieser Suchmaschine war, sich einen, auf die Universität personalisierten, Suchindex mittels des Surfverhalten der User zu erstellen. Um dies zu realisieren, sollte die Suchmaschine mit dem Proxy der Universität kommunizieren. Die Suchmaschine schneidet hierbei, keine benutzerbezogenen Daten mit, sondern wertet die angefragten Seiten, bei denen keine benutzerbezogenen Daten verwendet werden, aus.

Wieso überhaupt ein Paket?

Von der Suchmaschine YaCy war aktuell, zum Zeitpunkt des Projektes kein .rpm Paket für SuSe Betriebssysteme verfügbar, dass den Systemadministratoren genügte (https://build.opensuse.org/package/show?package=yacy&project=home%3Acoprophiliac – enthält keine “SuSe”-spezifischen Anpassungen). Da am RRZE Vorbedingung für die Installation neuer Software ein RPM Paket ist, war es nötig ein eigenes Paket zu bauen.

Die Grundlage für das Bauen des Paketes, entnahm ich einem Spec File aus dem SVN Repository der YaCy Entwickler. Leider war dieses Spec File aus dem Jahre 2006 und wurde bis heute kaum angepasst, da die Entwickler nur noch Pakete für Debian erstellen, aber keine .rpm SuSe Pakete mehr bereitstellen. Somit musste das Spec File, an die Bedürfnisse des Projektes, angepasst werden. Nach der Einarbeitung in das Spec File, wurden in diesem Anpassungenvorgenommen, so dass es schlieslich für die Bedürfnisse des Projektes angepasst war. Hierbei wurden Pfade korrigiert und Befehle angepasst oder nicht mehr benöigtes zu erst auskommentiert und zum Schluss gelöscht. Auch neue Befehle und Definitionen kamen hinzu. Das Init Skript wurde hierfür angepasst. Im Spec File aus dem SVN war auch ein Init Skript für SuSe Betriebssysteme enthalten, dies musste aber korrigiert und angepasst werden. Hier wurden Befehle und Pfade angepasst und nicht mehr Benötigtes entfernt sowie neues hinzugefügt. Zum Schluss wurde das Init Skript aus dem Spec File ausgeschnitten und in eine eigene Datei verschoben die dann nur noch kopiert wurde. Danach war das Paket fertig zum Einsatz auf dem Test Server

Leider kam das Paket nie richtig zum Einsatz, da der für das Projekt sehr wichtige ICAP Support in der aktuellen YaCy Version fehlte bzw. nicht mehr implementiert war. Das ICAP Protokoll hätte die Weiterleitung der HTTP Anfragen der User, an den Proxy-Server weiter an die YaCy Suchmaschine übernehmen sollen. Da aber der Proxy-Server nach langer Arbeit ICAP fähig war, die Suchmaschine YaCy aber das Protokoll nicht mehr an Board hatte und es keinen Patch o.ä. gegeben hat, wurde das Projekt schließlich eingestellt. Durch das Fehlen des ICAP Supports ist eigentlich die wichtigste und zugleich die komfortabelste Funktion der “YaCy an Proxy” Anbindung weggefallen. Dies machte das Projekt, dann leider sehr uninterresant für uns, da wir genau dies gebraucht hätten. Von Seiten der Entwickler der Suchmaschine, kam auf meine Anfrage leider bisher keine Rückmeldung.

Zu guter letzt und damit die Open Source Gemeinde dennoch etwas von meiner Arbeit hat, veröffentliche ich nun das von mir gebaute YaCy Paket, im offiziellen OpenSuse Repository.

Project course of the project YaCy to Proxy

Development of the package YaCy

Aim of this project was to install a local search engine which communicates with the university’s Proxy. Through the independency of search engines of other services like Google and Yahoo, this one is perfect for the use at the university, because you can make yourself independent there. Through the Peer-to-Peer technology, which can be used to switcht the search index of other participant, this search engine is more fail-proof as big search engines like Google and Co.. So not only some big servers fulfill their duty but many smaller computers, said of the participants, with insatlled YaCy instance. The function of this search engine was to create one search index pesonalized for the university through the user’s surf behavior. To realise this project the search engine should communicate with the university’s Proxy. The search engine is here not recording any user related data but evaluates the inquired sites where no user related data is used.

Why a package at all?

There wasn’t a .rpm package for SuSe software of the search engine available at the time of the project which satisfyed the system admins (https://build.opensuse.org/package/show?package=yacy&project=home%3Acoprophiliac – does not contain a “SuSe”-specific adjustment). Because the precondition at the RRZE for the installation of new software is a RPM package, it was neccessary to build an own package.

I extracted the base for the building of the package from a Spec File of the   SVN Repository of the YaCy developers. Unfortunately this Spec File was from 2006 and hasn’t been adjusted until today, because the developers are only developing packages for Debian but don’t provide any .rpm SuSe packages anymore. Therefore the Spec File has to be modified for the needs of the project. After the adaption into the Spec File, adjustments have been made to fulfill the project’s needs.  Therefore first paths have been correted, commands adjusted or not longer neccessarys have been deleted. Also new comands and definitions have been added.   Therefore the Init Skript has been modified. In the Spec File from the SVN, a Init Skript was already included for SuSe software, but it needed modification. Therefore comands and paths again have been adjusted and not longer used ones have been deleted aswell as new ones added. In the end the Init Skript has been cut out from the Spec File and was placed in an own data file, which then has only been copied. After that the package was ready for use on the test server.

Unfortunately the package has never really been used because the for this project very important ICAP Support in the current YaCy version was missing, respectively hasn’t been implemented anymore. The ICAP protocol should have forwarded the user HTTP requests on the Proxy Server to the YaCy search engine.  But because the Proxy Server was, after a long time of work, working with ICAP, but the search engine YaCy did no longer contain the protocol and there hasn’t been a patch or similar, the project has finally been abondend. Because of the missing ICAP Support the rather important and most comfortable function of the “YaCy to Proxy” connection was gone.  This makes the project very uninteressting for us, because we needed exactly this one. There was no reaction from the search engine developers and my requests haven’t been answered yet.

Finally the Open Source community should have some benefits out of my work, therefore I published my work: YaCy Paket, im offiziellen OpenSuse Repository.

 

VV – was ist das?

English Version

Die Veranstaltungsverwaltung (VV) ist ein Modul der Online-Serviceplattform mein campus. Die Plattform dient Studenten und Prüfern der FAU zur Verwaltung von Prüfungen (An- und Abmeldung, Noteneingabe, Noteneinsicht, Transcript of Records) und bildet Bologna-konform die Studiengänge der Universität ab.
Bald nach der Einführung von mein campus wurde deutlich, dass analog zur Prüfungsverwaltung ein ähnliches Modul zur Verwaltung von Veranstaltungen nötig ist. Da ein solches nicht im Lieferumfang der Software existierte, wurde nach ausführlicher Analyse der Anforderungen und der bestehenden Anmeldungs-Insellösungen eine Eigenentwicklung in Angriff genommen.
Ziel war es, Dozenten einen Überblick über die Teilnehmer der Lehrveranstaltungen zu geben. Mit der VV werden Lehrangebote administriert sowie An- und Abmeldungen durchgeführt. Zudem ist eine einfache Kommunikation zwischen Lehrenden und Teilnehmern der Veranstaltung möglich.
Die Entscheidung, UnivIS als etabliertes zentrales Datensystem beizubehalten und Veranstaltungen von dort zu importieren wurde getroffen, um Dozenten die Mühe und fehlerträchtige Arbeit der mehrfachen Eingabe von Veranstaltungsdaten zu ersparen.
Die rege Nutzung des Moduls zeigt, dass in der Tat großer Bedarf an der durch die VV bereitgestellten Funktionalität bestand – ca. 10% aller Veranstaltungen nutzen die neuen Möglichkeiten.

VV – What is it?

The event management (VV) is a module of the online service platform mein campus. The platform is used by students and examiner of the FAU to manage exams (sign on and sign off, entry of grades, transript of records) and displays, conform to Bologna, the study courses of the university.

Soon after its intruduction of mein campus it became clear that analogue to the exam management a similar model for the management of events is needed.
Because software of this kind wasn’t included in the package, a self developed solution was tackled, after extensive analysis of the requirements and the existing isolated sign on application.

The aim was to give the professors an overview of the participants of their lectures. With VV the scope of lectures offered are administrated and sign on and sign off actions are made. Furthermore, an easy communication between lecturers and participants of the lecture is possible.

The decision to keep UnivIS as an established central data system and to import events from there was made to spare the professors further work and a source of errors whilst multiple entry of lecture data.

The active use of this module shows that there is indeed a big demand of the through VV supplied functionality after all – ca. 10% of all events use the new possibilities.