Hi Stéphane, Ecaterina and all, Hope all of you are doing wonderful! So I am working on the new iteration for the Interactive Maps Application and have made some progress which I would like to share with all of you. As suggested by Stephane, the application is now being developed on a new architecture which emphasizes the use of Solr queries for gathering data to display on the map. The space has also been changed to "Maps" as suggested by Ecaterina. Link: https://github.com/9inpachi/interactive-maps-new I have not shifted the files to xwiki-contrib because I wanted an initial review if I am doing the right thing so I don't have to change the whole repo twice. I have been able to generate a map and the application is now able to handle basic queries to include points (markers) inside the map. I would like you to please give it a look and let me know if I am going in the right direction. :) Main application pages: - Maps.Code.Map.MapClass => The main map class - Maps.Code.Map.MapSheet => Map sheet that renders the map - Maps.Code.Map.WebHome => Simple form for creating a map object page - Maps.Code.Point.PointClass => Main class for a simple point (marker) - Maps.Code.Leaflet => Page where all the javascript and stylesheet extensions exist - Maps.Code.CommonMacros => Some common macros used throughout the application - Maps.MapTesting => Space that contains objects and maps for testing For adding a Point, create a simple page, add content to it and attach a PointClass object with a value to it. If you want to have a look at how the map is rendered, see the MapSheet and the relevant jsx (leaflet-main) code on the Leaflet page. I have attached some screenshots to show what the application does at this point. Best, Fawad On Wed, May 29, 2019 at 5:12 PM Fawad Ali <[email protected]> wrote:
Stéphane,
Thanks for this. It summarizes our discussions perfectly. :) It's actually great that we are on the same page now. I will provide you with updates soon.
Best, Fawad
On Wed, May 29, 2019 at 4:34 PM Stéphane Laurière <[email protected]> wrote:
Fawad, Caty, all,
A quick update following a video call I had with Fawad:
- The Solr API will be used to query the data to be displayed on the map, and the Solr facets to apply additional filters
- The data returned by the Solr API will be converted to GeoJSON. Later on we may consider creating a Solr service that returns (Geo)JSON directly rather than HTML, to be discussed.
Next steps:
- Creation of a basic Map class with a Solr query field
- Creation of a MapSheet that will render the map itself
- Creation of a Point class that will consist of one field storing the latitude and the longitude separated by a comma (later on, if needed, we will consider storing the latitude and the longitude in two distinct fields)
- Manual creation (or via the BatchImport application) of 1) a set of sample pages that will consist of: a title, some content, and a Point object attached to each page, 2) a Map object with a simple Solr query returning all pages with a Point object in a specific space.
- Conversion of the the results provided by Solr into GeoJSON so that the data can be consumed and displayed by Leaflet
Fawad, please don't hesitate to mention any complementary aspect that I may have forgotten or questions you may have.
Cheers
Stéphane