Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
100 Umsetzung des Prototyps<br />
7.3.2 Statische, vordefinierte Elemente des Datenmodells<br />
In diesem Abschnitt wird kurz die Prozedur zur ursprünglichen Befüllung des Datenbestandes erläutert.<br />
Für diesen Vorgang wurden Ruby-Programme entwickelt, die die Daten auslesen, interpretieren,<br />
in einem Datenbank- bzw. ORM-geeigneten Format umwandeln und letztendlich die interpretierten<br />
Daten als feste Instanzen des Datenmodells in der relationalen Datenbank speichern.<br />
AssetCategory<br />
Die erste Kategorie von statischen, vordefinierten Elementen des Datenmodells ist von der Klasse<br />
AssetCategory (siehe auch 7.2) repräsentiert. Diese Datensammlung wurde händisch von dedizierten<br />
Quellen wie ein <strong>Online</strong>-Werkzeug für die Erstellung von Grundrissen 8 oder ein <strong>Online</strong>-<br />
Werkzeug für die Erstellung von verschiedenen Diagrammen-Typen , welche auch die Erstellung von<br />
Grundrissen ermöglicht 9 zusammengefasst.<br />
Die Darstellung der gesammelten Daten wurde in einer formatierten Text-Datei realisiert, zur Erleichterung<br />
der Bearbeitung. Die Vater-Kind Beziehungen zwischen den einzelnen Kategorien bzw.<br />
“Knoten” wird durch die Einrückung bestimmt. Trennzeichen unterscheiden die verfügbaren Attribute<br />
wie Name, Beschreibung oder für die Darstellung benutztes Symbol. Ein Parser wurde für diese<br />
vereinfachte Datei-Struktur geschrieben. Nachdem die Daten ausgelesen sind und damit die Struktur<br />
bzw. die Vater-Kind Beziehungen festgestellt sind, werden die Daten zu DataMapper-entsprechenden<br />
Instanzen der Klasse AssetCategory umgewandelt und in der Datenbank gespeichert.<br />
Derselbe Vorgang wird im Fall der “externen” Kategorien (d.h. die Örtlichkeiten außerhalb der<br />
Wohnung, ExternalVenue) eingesetzt, mit dem Unterschied dass kein Parser erforderlich ist, es<br />
wurde ein JSON-Parser für Ruby verwendet. Die Quelle der Örtlichkeiten ist die API der populäre<br />
Dienst für Check-Ins und lokale Vorschläge namens Foursquare 10 , welche die Taxonomie der<br />
erfassbaren Örtlichkeiten veröffentlicht. Eine Application Programming Interface (API) ist eine Spezifikation<br />
der Schnittstellen, die für die Kommunikation zwischen Software-Komponenten verwendet<br />
werden können.<br />
Um eine transparente Darstellung der auswählbaren Kategorien im Frontend zu ermöglichen, wird<br />
bei der Umwandlung der ausgelesenen Daten zu DataMapper-Ressourcen eine Vereinbarung gemacht.<br />
Zwar wird als Vater-Knoten für die hiermit entstehende Baum-Struktur die vorher erfassten<br />
Kategorie, die “Gegenstände” außerhalb der Wohnung beschreibt, benutzt. Weitere Informationen<br />
sind im Abschnitt 7.4.1 beschrieben.<br />
CentralElement<br />
Der zentrale “Gegenstand” wird durch eine Wohnung ausgeprägt und lässt sich durch ein Kommandozeile-gesteuertes<br />
Programm automatisch erstellen. Hierfür sind Parameter der UserProfile<br />
erforderlich (siehe auch 7.2.3), wie z.B. einen Benutzername oder einen kurzen Profil-Satz.<br />
Die damit entstehende Instanz der CentralElement Klasse wird in der Datenbank gespeichert<br />
und kann danach benutzt werden. An dieser Stelle findet eine “Anpassung” des vorher befüllten Datenbestandes:<br />
die generisch benannten Elementen wie z.B. Apartment/House oder Building werden<br />
8<br />
http://www.floorplanner.com<br />
9<br />
http://www.gliffy.com<br />
10<br />
http://www.foursquare.com