@@ -3,8 +3,7 @@ GSoC 2025: Improve OpenWISP General Map: Indoor, Mobile, Linkable URLs
33
44:date: 2025-09-14
55:author: Deepanshu Sahu
6- :tags: gsoc, openwisp, python, django, javascript, netjsongraph.js,
7- leaflet, echarts, maps, new-features
6+ :tags: gsoc, netjsongraph.js, monitoring, new-feature
87:category: gsoc
98:lang: en
109:image_url: https://openwisp.org/images/blog/gsoc25/improve-openwisp-general-map-indoor-mobile-linkable-urls/gsoc-25-improve-openwisp-general-map-indoor-mobile-linkable-urls.png
@@ -34,24 +33,14 @@ About the Project
3433The project focused on improving the OpenWISP general map by adding new
3534features such as indoor floor plan integration, and linkable map URLs and
3635real-time mobile device tracking. These enhancements are aimed at making
37- the platform more accessible and useful for network administrators and
38- users alike, helping them navigate complex networks, monitor devices, and
39- troubleshoot issues more efficiently.
36+ the platform more accessible and useful for network administrators,
37+ helping them navigate complex networks, monitor devices, and troubleshoot
38+ issues more efficiently.
4039
4140While the journey presented deep technical challenges and learning
4241opportunities, it also allowed me to collaborate with a vibrant community
4342and contribute to an open-source project that impacts users globally.
4443
45- For more details, you can visit the documentation pages below (links will
46- be updated once the project is completed):
47-
48- - `Indoor Floor Plan Integration
49- <https://github.com/openwisp/openwisp-monitoring/issues/564> `_
50- - `Linkable Map URLs
51- <https://github.com/openwisp/netjsongraph.js/issues/238> `_
52- - `Real-Time Mobile Device Tracking
53- <https://github.com/openwisp/openwisp-monitoring/issues/563> `_
54-
5544Building the General Map Enhancements
5645-------------------------------------
5746
@@ -63,6 +52,9 @@ improvements support sharing URLs for specific views and implementing
6352real-time location updates for mobile devices to enhance monitoring and
6453navigation.
6554
55+ .. image :: {static}/images/blog/gsoc25/improve-openwisp-general-map-indoor-mobile-linkable-urls/before-after-ui-view.png
56+ :alt: Improve DashBoard Map UI in OpenWISP
57+
6658Features Implemented
6759--------------------
6860
@@ -90,15 +82,15 @@ Shareable URLs
9082.. image :: {static}/images/blog/gsoc25/improve-openwisp-general-map-indoor-mobile-linkable-urls/share-url.gif
9183 :alt: Shareable URLs Feature in OpenWISP
9284
93- For the shareable URLs, I introduced a new configuration option called
94- urlFragments in netjsongraph.js, which is disabled by default but can be
95- enabled when required. Once enabled, clicking on a node updates the URL
96- with relevant parameters such as node ID, graph ID, and zoom level if
97- applicable. The logic is designed to be standardized and extendable,
98- making it possible to apply this functionality across multiple
99- maps—specifically, both the geographic map and the indoor map. This allows
100- users to share or bookmark specific views, with the map loading the state
101- from the URL fragments .
85+ I added a new feature in netjsongraph.js called urlFragments, which is
86+ disabled by default and can be enabled when needed. With this feature,
87+ every time a user clicks on a node or link in the map, the URL is updated
88+ with parameters like graph ID, node ID, and zoom level. This makes it easy
89+ to create shareable URLs that anyone can use to open the map directly to
90+ the selected node or view. The logic is designed to be standardized and
91+ extendable, so it can be applied across multiple maps, such as the
92+ geographic and indoor maps. In the future, this could become a default
93+ option, but for now, it’s available as an opt-in feature .
10294
10395Real Time Device Location
10496~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -115,6 +107,16 @@ We are maintaining the ``gsoc25-map`` branch as parent branch for all the
115107General map features. Once all the PRs are merged and features are tested
116108and validated, we can proceed with releasing these along with OpenWISP 26.
117109
110+ You can follow the development process and explore the implementation
111+ details in the following pull requests:
112+
113+ - `Indoor Floor Plan Integration
114+ <https://github.com/openwisp/openwisp-monitoring/pull/688> `_
115+ - `Linkable Map URLs
116+ <https://github.com/openwisp/openwisp-monitoring/pull/703> `_
117+ - `Real-Time Mobile Device Tracking
118+ <https://github.com/openwisp/openwisp-monitoring/issues/563> `_
119+
118120My Experience
119121-------------
120122
@@ -134,6 +136,13 @@ and handle dynamic visualization using netjsongraph. The process of
134136creating API endpoints, refining interactions, and integrating feedback
135137helped me better understand best practices in software development.
136138
139+ Some of the toughest challenges I faced were managing conflicts between
140+ overlapping Coordinate Reference Systems (CRS) and designing the
141+ bookmarkable URL feature. These problems pushed me to explore and
142+ understand the inner workings of libraries like Leaflet.js and
143+ netjsongraph.js more deeply, expanding my knowledge of mapping tools and
144+ data handling.
145+
137146Although the shareable URLs feature has been implemented and works well,
138147refining its performance and ensuring smooth integration across multiple
139148views presented new learning opportunities. The real-time mobile device
0 commit comments