From 6dc7723c738c8307369f2fcfd8feb0fd2ea703c1 Mon Sep 17 00:00:00 2001 From: yvesf Date: Thu, 24 Feb 2011 22:45:14 +0100 Subject: file-copy from previous development-repository --- src/site/xdoc/devel-hacking.xml | 70 ++++++++ src/site/xdoc/devel-install.xml | 25 +++ src/site/xdoc/dokumentation.xml | 357 +++++++++++++++++++++++++++++++++++++++ src/site/xdoc/user-allgemein.xml | 87 ++++++++++ src/site/xdoc/user-google.xml | 35 ++++ src/site/xdoc/user-lightning.xml | 43 +++++ src/site/xdoc/user-outlook.xml | 16 ++ 7 files changed, 633 insertions(+) create mode 100644 src/site/xdoc/devel-hacking.xml create mode 100644 src/site/xdoc/devel-install.xml create mode 100644 src/site/xdoc/dokumentation.xml create mode 100644 src/site/xdoc/user-allgemein.xml create mode 100644 src/site/xdoc/user-google.xml create mode 100644 src/site/xdoc/user-lightning.xml create mode 100644 src/site/xdoc/user-outlook.xml (limited to 'src/site/xdoc') diff --git a/src/site/xdoc/devel-hacking.xml b/src/site/xdoc/devel-hacking.xml new file mode 100644 index 0000000..554e56f --- /dev/null +++ b/src/site/xdoc/devel-hacking.xml @@ -0,0 +1,70 @@ + + + + Hacking DHBW Calendar + Yves Fischer + 24.02.2011 + + + +
+

+ Der Dualis Scraper mit htmlunit ist im package + ...calendar.dualis + Untergebracht. Vaadin verwendet jedoch für den Login Test noch einen + eigenen Scraper. +

+
+
+

+ Diese Dokumentation wird im Projektverzeichniss unter + src/main/site + verwaltet. +

+

+ Dabei wird durchgehend das + xdoc + Format verwendet. +

+

+ Generiert wird die Dokumentation durch den Befehl + mvn site:site + und der Befehl + mvn site:deploy + veröffentlicht - entsprechende Berechtigungen vorrausgesetzt - die + Seite auf github im + gh-pages + des Repositories. +

+

+ Dazu muss in der lokalen Maven Konfiguration ( + $HOME/.m2/settings.xml + ) der Benutzer zum Zugriff auf das Repository auf + git + eingestellt sein. +

+ + <settings + xmlns="http://maven.apache.org/SETTINGS/1.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 + http://maven.apache.org/xsd/settings-1.0.0.xsd"> + <servers> + <server> + <id>github-project-site</id> + <username>git</username> + </server> + </servers> + </settings> +

+ Siehe hierzu auch + die wagon-gitsite Seite + und ein bestehendes Problem + issue + . +

+
+ +
+ diff --git a/src/site/xdoc/devel-install.xml b/src/site/xdoc/devel-install.xml new file mode 100644 index 0000000..9796a5b --- /dev/null +++ b/src/site/xdoc/devel-install.xml @@ -0,0 +1,25 @@ + + + + Installation Guide + Yves Fischer + 24.02.2011 + + + +
+ + mvn jetty:run +

Standardmäßig lauscht jetty nun auf Port 8080

+
+ +

Mit .war-File für Servlet Container

+ mvn package +cp +target/dhbwcalendar.war $WEB +
+
+ +
+ diff --git a/src/site/xdoc/dokumentation.xml b/src/site/xdoc/dokumentation.xml new file mode 100644 index 0000000..ac4b483 --- /dev/null +++ b/src/site/xdoc/dokumentation.xml @@ -0,0 +1,357 @@ + + + + Projektdokumentation + Yves Fischer + 24.02.2011 + + + +
+

Die Nutzung von elektronischen Kalendern zur Planung und + Verwaltung + spielt eine + enorme Rolle für viele Privatleute und in + vielen Unternehmen.

+

Firmeninterne und -übergreifende Geschäfte nutzen die vielen + Möglichkeiten + von Kalender (Groupware) Applikationen. Mithilfe des + iCalendar + Standards + existiert ein interoperabler Standard zum + Austausch von + Kalenderinformationen.

+

Die neue Campus-Software ,,Dualis'' der Dualen Hochschule + Baden-Württemberg + stellt den Studenten einen elektronischen + Vorlesungsplan zur Verfügung. + Eine + Schnittstelle zur Anbindung an + gängige Kalenderlösungen wird jedoch nicht + bereitgestellt.

+

Das Ziel dieses Projektes ist es, einen Adapter bereitzustellen, + mithilfe + dessen der ,,Stundenplan'' aus dem ,,Dualis'' System der + Dualen Hochschule + Baden-Württemberg in eine iCalendar-kompatible + Anwendung importiert + werden kann.

+ +

+ Dualis ist das interne Verwaltungssystem der DHBW. Es basiert auf + der Software + ,,CampusNet'' der Firma Datenlotsen Informationssysteme + GmbH, Hamburg.Unter dem Namen ,,BAsys Neu'' wurde Dualis als + Ablösung des alten + ,,BAsys''-Verwaltungssystem entwickelt. Die + Endung ,,-is'' steht + für + Informationssystem ( + Pressemeldung + ). +

+

Studierende können über den Dualis Web-Client ihre Noten, eine + Leistungsübersicht über das gesamte Studium und ihren aktuellen + Stundenplan einsehen.

+
+ +

iCalendar ist ein Internet Standard (RFC 5545) um + Kalenderinformationen + auszutauschen. Dazu gibt es verschiedene + Klassen wie Event, To-Do oder + Free/Busy-Information. + Im Rahmen dieses + Projekts werden nur Events + genutzt.

+

+ iCalendar Daten besitzen den MIME Content-Type + {text/calender + . Die + Daten + sind in einem einfachen, ASCII + Key-Value Format aufgebaut. +

+

Grundsätzlich bestehen iCalendar Daten aus folgendem Block

+ +

Eine Event-Component ist wie folgt aufgebaut, wobei noch weitere + optionale Felder möglich sind:

+ +

Wie zu sehen ist bestehen besondere Vorgaben für Zeit- und + Textformatierung.

+

+ Zeiten können in der UTC-Zone im Format + YYYYMMDDTHHmmssZ + dargestellt + werden. + T + ist ein + Trenner zwischen Datum und + Zeit, + Z + zeigt an, + dass es sich um + einen UTC-Timestamp + handelt (RFC5545 Sec. + 3.3.5). +

+

Text wird + grundsätzlich als ASCII-Test dargestellt. Es bestehen + jedoch + Fluchtzeichen für nicht-ASCII Zeichen und Satz- und + Kontrollzeichen ()RFC5545 Sec. 3.3.11).

+
+
+
+

Dem Anschein nach ist der Dualis Web-Client mithilfe der Software + Oracle + Application Express (APEX) entwickelt. + Das erzeugte Markup ist + schlecht maschienenverarbeitbar, vermutlich weil + es + auf die Anzeige + gegenüber einem menschlichen Benutzer ausgerichtet ist.

+

Eine Web-API von Dualis gibt anscheinend nicht. + Demzufolge müssen + die Webseiten relativ umständlich analysiert + werden, um an die + benötigten Informationen zu gelangen. Diesen Vorgang + nennt man + Web-Scraping (engl. ,,kratzen'').

+ +

Dadurch wird die Schnittstelle anfälliger für kleinere Änderungen + an dem Dualis Web-Client. Schon das Ändern der Beschriftung eines + bestimmten Links kann die Funktion beeinträchtigen.

+ +

Für einen zuverlässigen Betrieb ist es daher unbedingt nötig, dass + von Seiten des Dualis System eine stabile Schnittstelle mit einem + zum Informationsaustausch geeigneten Format (zum Beispiel eine + XML-Schnitstelle) angeboten wird. Oder einfach direkt iCalendar + Format.

+ +

Zum ,,kratzen'' der Informationen aus dem HTML-Dickicht der + Dualis Website wird die Java-Bibliothek htmlunit Verwendet. Deren + eigentlicher Zweck ist das automatisierte Headless Testen von + Websites. Dazu ist sie in der Lage einen Web-Browser inklusive + JavaScript und CSS weitgehend zu emulieren.

+ +

Dies sind optimale Ausgangsbedingungen um eine schwer zugängliche + Seite wie Dualis einfach auszuwerten.

+ +

Ein vereinfachtes Code-Beispiel verdeutlicht die + Arbeit mit + htmlunit:

+ +
+ + +

Die gängige Methode zum Austausch von iCalendar Daten sind + entweder + lokale Files + oder der entfernte Zugriff über HTTP.

+ +

Mit diesem Projekt wird der Zugriff über HTTP ermöglicht. Dabei + entfällt + zusätzlich der Bedarf eine Benutzerkonfiguration zu + pflegen, da der Benutzer über HTTP Basic + Authentication (nach RFC + 1945 Sec. 11.1) vom Client + abgefragt wird.

+ +

Hierzu wurde ein Java-Servlet erstellt welches die + Authentifizerung und + Steuerung der Dualis Abfrage übernimmt.

+ +

+ Bei der + Ansteurerung der Schnittstelle über einfache HTTP-Software + ist zu beachten, dass das + @ + im benutzername mit + %40 + zu escapen ist. +

+
+ +

+ Zusätzlich zur ICS-Schnittstelle existiert eine Schnittstelle für + den Webbrowser. Sie ist mit dem Framework + vaadin ( + vaadin.com + ) + umgesetzt und bietet die + Funktionalität den Login durch eine + Anmeldung zu testen + sowie den + ,,Stundenplan'' in einer Tabelle zu + Betrachten. +

+
+ + +

Wie alle Systeme die Authentifizierungs und Benutzerdaten + verarbeiten ist dieses + hinsichtlich der Vertrauenswürdigkeit zu + untersuchen.

+ +

Hinsichtlich der Authentifizierungsinformationen die der + Benutzer + DHBW Calendar + übergibt sind mehrere Angriffspunkte + auszumachen.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProblempunktAnalyse
Auf dem PC des BenutzersFür die Sicherheit + auf seinem + Zugriffsgerät ist jeder + Benutzer + selbst + verantwortlich.
Die Netzwerkverbindung zum DHBW CalendarDie + Netzwerkverbindung zum + DHBW Calender + sollte entweder als + direkte + Lokale Kommunikation ablaufen + (der + DHBW Calender arbeitet + lokal) oder + eine sichere Verbindung (HTTPS) + verwenden.
Die Verarbeitung im DHBW CalendarDie + Verarbeitung + im DHBW Calender speichert + die verarbeiteten + Daten + vorübergehend im + Arbeitsspeicher des + darunterliegenden System. +
Die Netzwerkverbindung zu Dualisist verschlüsselt (HTTPS) + %%TODO + check was bei + unügliten cets + passiert
Die Verarbeitung in Dualis Über die + Verarbeitung + innerhalb von Dualis + existieren + keine + Informationen.
ggf. weitere Verbindungen von Dualis (AD o.ä.)Über + mögliche Kommunikationen + von Dualis mit Drittsystem + bestehen + keine + Informationen.
+

Durch die quelloffenheit + des + DHBW Calendar ist die + Verarbeitung der + Daten + transparent. Daher + entstehen dem Anwender durch + die Verwendung + des + DHBW Calender + keine + weiteren Sicherheitsrisiken.

+
+
+
+

+ Die Entwicklung des DHBW Calendar ermöglicht den Studenten in + bezug auf + die + Organisierung ihres Studentalltags eine neue Dimension + von Integration und + Komfort.

+

+ Die Unzulänglichkeit des ,,Dualis'' Backend wurde durch die + Verwendung einer High-Level Schnittstelle begegnet. Anstatt + regulärer + Ausdrücke ( + DHBW Connector + ) + werden die Eingabeelemente angesprochen + welche der Benutzer auch + sehen würde. +

+

+ Die Veröffentlichung als Open-Source Projekt unter + AGPL + stellt das Vertrauen der Studenten sowohl in Hinsicht auf ihre + eigene Sicherheit, als auch der Zuverlässigkeit hinsichtlich + möglicherweise zukünftig nötiger Anspassungen. +

+
+ +
+ diff --git a/src/site/xdoc/user-allgemein.xml b/src/site/xdoc/user-allgemein.xml new file mode 100644 index 0000000..6995e77 --- /dev/null +++ b/src/site/xdoc/user-allgemein.xml @@ -0,0 +1,87 @@ + + + + Anbindung Allgemein + Yves Fischer + 24.02.2011 + + + +
+

Die Software stellt Ihnen eine iCalendar Schnittstelle über HTTP + bereit. Sie ist also mit jeder kompatiblen Kalendersoftware nutzbar. +

+

+ Die Internet RFC zu iCalendar findet sich unter + rfc5545 + . +

+

Zusätzlich stellt der DHBW Calendar eine Webschnittstelle bereit + mit dem die Daten in Tabellenform betrachtet werden können. Diese + ist primär zu Test- und Prüfzwecke gedacht.

+ + + +
+ +
+ diff --git a/src/site/xdoc/user-google.xml b/src/site/xdoc/user-google.xml new file mode 100644 index 0000000..983f3e1 --- /dev/null +++ b/src/site/xdoc/user-google.xml @@ -0,0 +1,35 @@ + + + + Anbindung Google Kalender + Yves Fischer + 24.02.2011 + + + +
+

+ Öffnen Sie ihren + Google Kalender + und wählen Sie links unter + "Weitere Kalender" den Button + "Hinzufügen". +

+ Hinzufügen +

+ Im folgenden Menü wählen + Sie "Über URL hinzufügen" und + geben die URL + Ihrer Schnittstelle, + etwa + http://meinhost:8080/dhbwcalendar/ics + . +

+ Ergebnis +

Bitte beachten Sie, dass die URL ihrer Schnittstelle für Google + erreichbar sein muss.

+
+ +
+ diff --git a/src/site/xdoc/user-lightning.xml b/src/site/xdoc/user-lightning.xml new file mode 100644 index 0000000..63d1523 --- /dev/null +++ b/src/site/xdoc/user-lightning.xml @@ -0,0 +1,43 @@ + + + + Anbindung Mozilla Lightning + Yves Fischer + 24.02.2011 + + + +
+

Nach der Installation der Lightning + Extension öffnen Sie die + Kalender + Ansicht.

+

In der linken Sidebar + werden die verfügbaren Kalender verwalten. + Mit + Rechtsklick erscheint + ein Menü in dem "Neuer Kalender" ausgewählt + werden kann.

+

Wählen sie + "Im Netzwerk" aus. Im folgenden wählen "iCalendar (ICS)" + und + geben + die Adresse ihrer Schnitstelle an, beispielsweise + http://localhost:8080/dhbwcalendar/ics.

+

Auf der nächsten Seite können + Sie noch Namen und Farben für den + Kalender vergeben. Mit dem + Abschluss des Assistenten wird der + Kalender synchronisiert. Dabei + fordert die Schnittstelle ein + Passwort + von Ihnen an. Geben Sie Ihr + Dualis-Login an.

+
+ Mozilla Lightning +
+
+ +
+ diff --git a/src/site/xdoc/user-outlook.xml b/src/site/xdoc/user-outlook.xml new file mode 100644 index 0000000..486df58 --- /dev/null +++ b/src/site/xdoc/user-outlook.xml @@ -0,0 +1,16 @@ + + + + Anbindung Microsoft Outlook + Yves Fischer + 24.02.2011 + + + +
+

Dokumentation fehlt noch.

+
+ +
+ -- cgit v1.2.1