MagicMap ChangeLog

aus Nomads, der freien Wissensdatenbank

Diese Seite listet die Release-Versionen zum MagicMap Java-Client und -Server (am Ende dieser Seite), jeweils aktuelle und geplante Release-Version, dazu unten die Vorversionen als Archiv. Ferner gibt es Client Apps für iOS sowie Android, die Release Planun dazu steht unter MagicMapAndroid/Client, MagicMapiPhone. Die Release-Planung zum inzwischen nicht mehr gepflegten CE-Client steht unter MagicMapCE - ggf. folgt ein Client für Windows Mobile 7, ist aber derzeit nicht konkret. Planungen zu den einzelnen Plugins befinden sich auf den Seiten dazu, eine Übersicht steht hier: MagicMap_Plugins. Details zu den Release-Versionen und User-Diskussionen sind im MagicMap-Forum zu finden.

Zurück zur MagicMap Übersicht

Inhaltsverzeichnis

Release-Planung zum MagicMap Java-Client

Siehe auch aktuelle Arbeiten an den Releases unter TODO-Liste sowie langfristige Planung unter MagicMapMilestones.

Planungen für zukünftige Versionen

  • Umstellung kartenbasierte Darstelllung -> Objekt-Aggregationen
  • Memory Footprint und Performance Optimierungen
  • Änderungshistory und Restore:
    • jede wichtige Aktion (z.B. Referenzmessung ändern, fixierte Position ändern, Wände im Umgebungsmodell verschieben) wird mit Zeitstempel und User gespeichert. Wie in einem Wiki kann man dann Aktionen überblicken und ggf. ein Rollback durchführen.
    • Reputation System: jeder User erhält einen Reputation Value. Implizit akzeptierte wichtige Änderungen dieses Users erhöhen dessen Reputation Value, zurückgenommene Änderungen reduzieren ihn. Nur User mit bestimmten Reputation Values dürfen bestimmte Aktionen ausführen (z.B. Karten löschen, User löschen, Rollbacks durchführen, etc).
  • Persistenz/Caching
    • lokales Caching - Kartenimage speichern und fixierte Knoten (wichtige Objekte)
    • Rechtsclick auf Karte -> Download Map. Läd die Karte mit Referenzmessungen aber ohne mobile Objekte in den Cache zur späteren offline Verwendung.
  • Umstellung der Web Service Schnittstelle auf Acis2/REST statt Axis 1.2/SOAP
  • Layer einzeln zoombar machen und verschiedene Zoomstufen vorgeben (feste Grösse, dynamisches Mitzoomen usw.)
  • .deb Files und Repository für die vereinfachte Installation unter Linux (Debian/Ubuntu)
  • Lauffähigkeit als Applet innerhalb einer Webseite (dann ohne hardwarenahe Teile wie Stumbler)
  • Plugin Manager mit beliebigen Plugin-Quellen und durchgängigem Release/Update-Konzept
    • dazu die Tabelle erweitern um: Dateiname, Installiert: Versionsnummer, release Datum; Verfügbar: Versionsnummer, release Datum; dann ggf. Update-button, sowie eine ergänzbare Liste an Repositories, wo man vertrauenswürdige Plugins laden möchte. Zugang am besten direkt per SVN.
  • Infoobjekte über den Server kommunizierbar, so dass alle Clients Infoobjekte austauschen können
    • hat ein Client das Infoobjektplugin nicht, subscriptet sich aber für eine Karte mit Infoobjketen, so erhält er einen Hinweis, dieses Plugin zu installieren. Clients, die keine Infoobjekte verarbeiten können, laden diese nicht. Erfordert also Änderung der Web Service Schnittstelle.
  • Im Zusammenspiel mit dem Caching sollte das Anlegen von Referenzmessungen auch offline funktionieren (so wie bereits beim CE-Client).
  • Umsetzung der Knotenstruktur in "reguläre" und "oblivious" Clients sowie "Tags", siehe MagicMapHelp#Welche_Funktionen_k.C3.B6nnen_die_Ger.C3.A4te_.C3.BCbernehmen.3F hier. Dazu Objekte hierarchisch unterhalb der Karten anordnen, nicht wie bisher oberhalb (irritierend). Wahlweise sortierbar nach Name, Typ (beliebiger String) oder anderen Attributen. Optionale Filterung nach Schlagworten auf jeder Hierarchieebene.
  • Integration von globalen Koordinaten (WGS84). Siehe auch Integration_von_WGS84-Koordinaten_(Geokoordinaten)_in_MagicMap
  • Überarbeitung des Overlay-Icon Konzeptes mit freier Zuordnung zu Objektattributen
  • generische Navigationsleiste: Objektka)tegorien frei anlegbar machen. Die kann man dann auf ein Objekt-Attribut filtern, also z.B. die Kategorie "Client". Dabei sind dann aber beliebige Filter möglich.
  • Objekthierarchie (Kartenhierarchie) leicht änderbar machen. Am besten per Drag & Drop in der Navigationsansicht. Oder schlicht durch Aufruf des Karten anlegen Dialoges mit Parentauswahl.
  • Untergeordnete Objekte in der Kartenansicht duch Doppelclick ein- und ausblendbar machen
    • damit man was erkennen kann: a) mittels Spring Layout überlappungsfrei darstellen b) Karte unabhängig von Objektgröße zoombar
  • Update Intervalle feingranularer: also nicht nur als globaler Parameter sondern je Objekt und dazu Senden und Holen einzeln. So lässt sich der erzeugte Traffic besser kontrollieren und die Skalierbarkeit verbessern.
  • Ausgabe der "semantischen Position" zu jedem Client
    • semantische Positionsangaben sind die nächstliegenden Referenzpunkte bzw. Placemarks. Ausgabe in hierarchischer Form: Welt/Kontinent/Land/Stadt/Stadtteil/Gebäude(Adr)/Etage/Raum/PositionimRaum. Beim Benennen des Referenzpunktes dazu die bisherige Hierarchie als String einblenden sowie die nächstenliegenden k Referenzpunkte zeigen als Anhaltpunkt für eine neue Benennung, damit das einheitlich wird.
    • bei Wechsel der Karte, "->Kartenname:Übergangsbereich"
    • semantische Position in Klammer dahinter schreiben in der Navigationsansicht
  • Abfragemöglichkeit der Positionen auch in Metern (statt nur Pixel). Auch extern (Web Services). Siehe dazu Forums Thread, Diskussion:MagicMap_WebServices
  • Historie auf Server persistent speichern
  • Differenzierung des Knotenmodells um Interfaces und Devices. Jedes Device kann also n Interfaces (WLAN, GSM, Bluetooth, Ultraschall,...) haben. Mehr unter MagicMap_Knotenmodell#Objekt-Hierarchie
    • Interfaces visualisieren und Positionen berechnen
  • WebService API ändern: Genauigkeiten (horizontal und Vertikal), Art der Position (Pixelrelativ, Meterrelativ oder WGS84 o.Ä)
  • Initialisierungskonzept: Clients schicken nur Stumblingdaten, ohne zu wissen, auf welcher Karte
    • erfordert neue Web Service Methode getLastPositions
  • Vereinheitlichung des Objektmodells, so dass Karten als "flächige Objekte" gehandhabt werden
    • Objekte prinzipiell symetrisch (also nicht mehr APs und AP_seer_nodes)
    • Visualisierung kennt nur generische Objekttypen, gekennzeichnet durch beliebige Strings "User", "Device", "Interface", "Placemark" aber auch "Truck", "Pallet" und andere anwendungsspezifische Objekttypen. Diese werden ggf. in Typ-Foldern zusammengefasst, per Rechtsclick/Anzeigeoptionen änderbar
  • "Zeit-Schieberegler": Rückkehr zu bestimmten Konstellationen in der Vergangenheit
    • Clientseitige Bewegungs-Historie kompatibel zu Serverseitiger Historie
    • Darstellungszeitraum per Schieberegler wählbar. Die Darstellung erfolgt als Menge der gespeicherten Punkte, die mit Linien verbunden sind.
  • Normalisierung vervollständigen, so dass andere Technologien integrierbar sind
    • Kalibrierung sollte bereits ohne fixierte Clients bzw. Referenzmessungen funktionieren
    • Andernfalls Hinweis auf noch notwendige Kalibrierungsmaßnahme
    • Visualisierung der Genauigkeit durch Kreis wenn Objekt markiert, ansonsten durch Overlay, wenn Ortung für das Objekt ungenau
    • Overlay für Fixierte Knoten, die die Ortung stören, Unfixierte Knoten, die man auf "ignorieren" setzen könnte, Netzwerkprobleme, siehe MagicMapMilestones#GUI_Monitoring
  • Robustere Ortung mit weighted k-nearest neighbour zu Referenzpunkten, einfaches An-/Abschalten der Triangulation (konfigurierbar) und mehr Visualisierungs-/Analyse-möglichkeiten

kommendes Release

  • MapManager konzipiert und implementiert
  • das Knotenmodell speichert nun statt Kanten Messungen
  • TDoA Messungen als eigene Messungsart implementiert

Aktuelles Release

Version 1.0

  • enthält ZIP-Ordner mit magicmap.jar zum ausführen sowie Sammlung relevanter Plugins im plugins-Verzeichnis

Version 0.9.9 (9. Juni 2011)

  • Aktuelle Web Service Version: 1.5, mehr unter Beschreibung der Web Services
  • Umstellung des Objektmodells, so das eingehende und abgehende Kanten bei der Ortung berücksichtigt werden (vorher nur eingehende Kanten). Dabei wurden auch alle Objektklassen vereinheitlicht, also keine Unterscheidung mehr zwischen Access Point und Client sondern generisch durch das Attribut "Typ"
    • Im Client fertig, im Server ist ist der DB aber noch einiges zu machen.
  • Erstellen von Referenzmessungen "remote", also für andere Clients
    • Wenn ein anderer Client selektiert wurde, erscheint im Rechtsklickmenü automatisch ein neuer Eintrag, um für diesen Client einen Referenzpunkt anzulegen.
  • MeasurementModel ersetzen durch Verwendung von Nodemodel & ApEdge
  • Attribute in der Navigationsansicht editierbar. Direkt editierbar ist zu auswändig, Rechtsklickmenü wurde eingefügt.
  • Visualisierung von Kanten zu ausgeblendeten Knoten (gestrichelt)
  • Farbliche Hervorhebung von ausgeblendeten Knoten im MeasurmentView
  • Wenn ein Knoten auf der Karte selektiert wird, Ändert sich auch der Selektionsstatus in der Navigationsansicht
  • Bessere Synchronisation der Positionsupdates. Neuere Änderungen dürfen nichtmehr durch ältere Updates vom Server überschrieben werden.
  • Neue Pfadbasierte Ortung als Default aufnehmen. Dazu die Plugins Pfadbasierte Ortung und Umgebungsmodell in das Standard-Installationsfile integrieren.
    • Berechnung für remote Knoten übernehmen (Ablauf siehe: MagicMap_Knotenmodell#Objekte_und_ihre_Positionen)
    • Darstellung der Bewegungspfade bzw der Historie für bestimmte Objekte. Z.B. per Kontext Menü für jedes Objekt selektierbar.
    • Visualisierung von Genauigkeit, Pfad und Aufenthaltswahrscheinlichkeiten aus mehreren Pfadalternativen
    • Umgebungsmodell-Editor gefälliger und mit Einfüge-Funktion
    • saubere Integration der Referezmessungen in die Pfadbasierte Ortung (Fitnesfunktion)
    • Umschaltung zwischen den Algorithmen. Einheitliche Behandlung der Optionen, Parameter und Anzeigeeinstellungen
    • alle Algorithmen müssen mit Objekthierarchien und unterschiedlichen Technologien klarkommen
  • Ausgearbeitetes Userkonzept mit Trennung von User, Account, Gerät.

Bekannte Fehler

Version 0.9.8 (16. September 2010)

  • Durchgängige Objekthierarchie (siehe MagicMap_Knotenmodell#Objekt-Hierarchie):
    • Objekte werden zu ihren jeweiligen Parent-Karten eingeordnet
    • weitere Child-Objekte werden - zunächst ohne Hierarchie - im Objekt-Typ unterhalb der Karte angezeigt. Also beispielsweise mehrere Geräte eines Users, oder mehrere Kartons einer Palette
    • zunächst keine Erweiterung der Objekttypen, d.h. alles sind "Clients" (User, Devices, Interfaces) oder APs (alle die gesehen werden und nicht bereit als Clients erfasst sind)
    • jede Technologie erzeugt neuen Client, diesem kann man ein übergeordnetes Parent-Objekt (z.B. ein Gerät und dieses wiederum einem User) zuordnen
    • die Zuordnung erfolgt dadurch, dass sich ein Client anmeldet und dabei seine Interfaces, sich als Gerät und seinen User als hierarchisch strukturierte Objekte in MagicMap einträgt.
    • erfordert eindeutiges ID-Schema für Gerät mit "Wiedererkennbarkeit" (z.B. <device type> with "MAC:" <MAC>)
    • ID-Schema für User: mailto:<email> oder http://<URL>
  • Umgebungsmodell (siehe Umgebungsmodell-Plugin) als Attribute für Karten über Server kommunizierbar
    • Stringattribute haben Länge von 4096 Zeichen, wenn mehr benötigt wird, muss auf mehrere Attribute aufgeteilt werden
    • Simulationsfiles und Recorder-Files funktionieren über das lokale Dateisystem
  • Neues Login Konzept. Dies erlaubt es auch, ohne Interface (z.B. WLAN) zu starten. Beobachten (und auch Betreten) von Karten ist dann möglich, aber natürlich dann ohne Ortung, die geht nur mit Interface.
    • ObjektID und AnzeigeName getrennt definierbar
  • Überarbeitung der Web Service Schnittstelle auf Version 1.5, siehe MagicMap WebServices
    • createOrUpdatePosition erhält nullable Elemente und Parent Link
    • neue Funktion getLastPositions

Version 0.9.7 (17. März 2010)

  • [FERTIG] Verbesserungen zum Monitoring. Siehe MagicMapMilestones#GUI_Monitoring. Erkennung von Netzwerkproblemen.
  • [FERTIG] Kanten zwischen Clients in die Verarbeitung aufnehmen
    • [FERTIG] Eingehende und ausgehende Kanten ermöglichen und auch visualisieren (z.B. durch Pfeile an den Kanten)
  • [FERTIG] unmittelbares Feedback in der Visualisierung beim Anlegen von Referenzmessungen.
  • [FERTIG] bei georeferenzierten Karten Variablen mit Kartenabmessungen befüllen
  • [FERTIG] alphabetische Sortierung des Navigationsbaumes (OutlineView)
  • [FERTIG] Umsortierung der Konsolennachrichten (ConsoleView) - neueste Nachrichten werden an Anfang der Liste hinzugefügt.
  • [FERTIG] </)span> Attributänderungen aller Knoten werden an den Server übertragen
  • [FERTIG] In Karten werden auch Attribute gespeichert und an den Server übertragen
  • [FERTIG] Aktivitästbalken beim Installieren von Plugins über den Pluginmanager
  • [FERTIG] Zoomen der Karte nun gedrückter rechter Maustaste (drag) anstatt des Mausrades

Version 0.9.6 (28. Oktober 2009)

  • [FERTIG] Abfragemöglichkeit der Positionen auch in Metern (statt nur Pixel). Intern (für den Tracker). Siehe dazu Forums Thread, Diskussion:MagicMap_WebServices
  • [FERTIG] Spalten im MeasurementView erweitern (Distanzschätzungen, Abweichungen und Varianzen) und zusammenfassen
  • [FERTIG] Zuordnung und Ausführung bestimmter Aktionen. Z.B. Objekt in Fokus holen und Nachricht anzeigen
    • Methode im NodeCanvas: addTextMessage(Node anDemDieNachrichtHängt, String dieNachricht, Long anzeigeZeit)
  • [FERTIG] (Vollständige) Anzeige der Attribute in der Navigationsansicht incl. Standardattribute (Position, Sendeleistung und Empfindlichkeit, bei Karten die Dämpfung je Technologie, etc)
    • Identifier, Fixierungsstatus und Position implementiert, der Rest nicht ohne weiteres Machbar
  • [FERTIG] Anzeige weiterer Karten-Eigenschaften (Anzahl der Clients aktuell darin, Downloadstatus als OverlayIcon)
  • [FERTIG] diverse Bugfixes. Siehe Bugberichte im Forum.
  • [FERTIG] Auswahlmöglichkeit zwischen unterschiedlichen Ortungsalgorithmen. U.a. Pfadbasierte Ortung.

Release-Historie

Version 0.9.5 (vom 06.05.09)

  • [FERTIG] Visualisieren der Bewegungsrichtung. Basierend auf der historischen Vorzugsrichtung. Wird ausgewertet und angezeigt, auch wenn ein Knoten sich nicht mehr bewegt. Ist die Vorzugsrichtung uneindeutig wird die Bewegungsrichtung auf "unbekannt" gesetzt.
  • [FERTIG] hierarchische Karten
  • [FERTIG] Logarithmische Metrik für WLAN Technologie implementiert
  • [FERTIG] Zusammenklappen einzelner Frames verändern
  • [FERTIG] Option neue Accesspoints standardmässig auszublenden, alle ausblenden, usw. (Ortung)
  • [FERTIG] Unterscheidung von Karte betrachten (Klick auf Kartensymbol in der hierarchischen Liste) und Karte betreten (Rechtsklickmenü des Kartensymbols)
  • [FERTIG] Anzeige aller Knotenattribute in der Knotenübersicht
  • [FERTIG] Öffnen des Standardbrowsers verbessert

Version 0.9.4 (vom 15.01.2009)

  • [FERTIG] Vorbereitung der Metric für verschiedene Funktechnologien (sieh dazu Normalisierung)
  • [FERTIG] neues Bluetooth Icon
  • [FERTIG] Filterbare Ereigniskonsole
  • [FERTIG] Fokussierung des selektierten Knotens
  • [FERTIG] Vereinheitlichung der Serverseitigen Knotentypen
  • [FERTIG] Neues Stumbler-Plugin für Vista und XP
  • [FERTIG] Anzeige und Übertragung von SSIDs, Technologie, Varianzen und Zeitstempel der Messungen

Version 0.9.3 vom 08.September 2008

verfügbar über die Download-Seite

  • [FERTIG] Die Anzeige bei APs umfasst auch die SID, sofern der verwendete Stumbler diese mit übermittelt.
  • [FERTIG] Zu jeder einzelnen Messung gibt es einen Zeitstempel. LastSeen - wann hat ein Client das letzte Mal updates gesendet.
  • [FERTIG] Zoomen sonst auch üblich per crtl+/- und =. Dann kann man das auch per Tastatur und auch Stiftgesten steuern.
  • [FERTIG] multiple Overlay-Zustände mit Overlay-Icons
  • [FERTIG] Mehr Infos in der Statusleiste.
  • [FERTIG] Im PluginDialog werden die kompatiblen Betriebssysteme mit ausgeben
  • [FERTIG] Webstartversion gefixt (geht nun auch mit Plugins).
  • [FERTIG] Dialoge unter Mac geprüft.
  • [FERTIG] Zusätzliche Spalte für Technologie eingefügt und Signalstärkenanzeigen sortierbar gemacht.
  • [FERTIG] Stumbler Plugins: Thread start beim reload gefixt.
  • [FERTIG für Logistik] Rechtsklickmenü, um die Icons und Overlays zuordnen zu können.
  • [FERTIG für Logistik] Absturz durch ifconfig Fehler abgefangen.

Version 0.9.2 -> 0.9.3-beta2

Stand 09.Juni 2008

  1. GUI
    1. verbessertes Look&Feel für OsX
    2. neues Menü zum Ausblenden von Accesspoints im TreeView (linke Navigationsleiste)
    3. neues Iconkonzept eingeführt, das Overlays zulässt
    4. Verbesserter Plugindialog
    5. neues GUI auf Basis von Piccolo mit Zoomen und Pannen der Maps, sowie Drag&Drop für Knoten
    6. ConnectDialog wird direkt beim starten angezeigt
  2. Kommunikation
    1. generische Map für Knotenattribute hinzugefügt
    2. neue Webservice Funktionen zum Abfragen der Knotenattribute
  3. fixed Bugs
    1. Bug Nr.1884334 behoben (leerer Clientname)
    2. viele kleinere Bugfixes
  4. Anderes
    1. flexiblere interne Metric-Auswahl
    2. änderbare Force Function
    3. neue variable Knotentypen inklusive unbekannter Knoten
    4. Trennung von interner Identifikation und angezeigtem Namen
    5. neue Lizenz

Version 0.9.1 -> 0.9.2

Stand 20.Dezember 2007

  1. Verteilte Berechnung von Clientpositionen implementiert (optional über GUI abschaltbar)
  2. ServerConnectionDialog überarbeitet
  3. Kleinere Bugs behoben


Version 0.9.0 -> 0.9.1

Stand 30.Oktober 2007

  1. UdpScannerPlugin und VistaScannerPlugin zur Distribution hinzugefügt
  2. Automatisches Entfernen der Plugins bei der Deinstallation
  3. Fehler bei der Berechnung mit Referenzpunkten, die Signalstärken über -30dBm haben, behoben
  4. Methode zur Aktualisierung des MeasurementModels ohne Mittelwertberechnung hinzugefügt
  5. Löschen der Kanten zu ausgeblendeten Accesspoints implementiert
  6. Hinzufügen von Listenern zum PollHandler ermöglicht
  7. Unterstützung von langen MAC-Adressen
  8. Menüeintrag für Bugs, Forum und Homepage unter Hilfe hinzugefügt
  9. Doppelklicken auf eine Map im OutlineView öffnet diese
  10. Fehler in der Metrik behoben, bei der Berechnung von Kanten zwischen Clients und Referenzpunkten, wenn diese nur einen Accesspoint sehen

Version 0.8 -> 0.9

Stand: 3.April 2007

  1. Splashscreen beim Starten
  2. Installer für Windows
  3. direkt ausführbare .jar
  4. Protokollversion, mit der der Client kompatibel ist, zum Splashscreen hinzugefügt
  5. Ausblenden von AccessPoints aus der Berechnung
  6. Auftrennung und modularisierung von Berechnung und GUI
  7. Neues anpassbares/erweiterbares Icon-Konzept
  8. Erweiterbarkeit durch Plugins
  9. Einstellungen werden in einer Datei gespeichert und stehen so auch nach dem Neustart zur Verfügung
  10. viele Dialoge wurden überarbeitet
  11. Referenzpunkte haben ein neues Icon bekommen und sind nun immer fixiert
  12. viele interne Optimierungen zur Performancesteigerung

Release Planung zur Java Webstart Variante des MagicMap Clients

  • neue Signaturen der HU-Berlin

Release Planung zu Plugins

Release Planung zur WebService Schnittstelle

Aktuelle Version der WebService Schnittstelle ist 1.5. Nighly-Server implementiert 1.5-r2

Zur Beschreibung: MagicMap_WebServices

Interface Release 1.5-r2

  • Erweiterungen der SensorDTO für weitere Sensordaten

Release Planung zum MagicMap Server

Server Release 1.0 Alpha (vom 08.01.2014)

  • Update auf WebService Schnittstelle Version 1.5-r3 (für weitere Sensordaten)

Weitere Planung

Release x.y.z+2

  • Anpassungen zur Skalierberkeit: Filterung der Objekte vor Abfrage durch die Clients, siehe auch MagicMapCEDevelop#Abh.C3.A4ngigkeiten_zum_Server
    • beim Anlegen einer Karte wird die auf dem Server gespeicher (gecached)
    • beim Update von Messungen oder anderen Attributen, werden diese in einen Round Robin Cache auf dem Server abgelegt. Speichern solange, bis Festplatte voll
  • Serverseitiges Caching, siehe Caching_von_Kartenbildern
  • Neue Datenstruktur mit Objekten, Messungen (Scans), Positions-Berechnungen
    • Ergänzug der Kartendaten um Angaben zu Quelle und Urheberrechten, ähnlich Wikimedia Commons (wobei es auch nicht freie Karten mit anderen Nutzungsbedingungen geben kann)
  • Speicherung aller Sensorwerte (SensorDTO) im Hauptspeicher, Liste. Leerung der Liste bei Abfrage durch einen Client (Löschkonzept zu überarbeiten).
'Persönliche Werkzeuge