Fawad, Caty, all,
Stéphane,
I will start off by learning Solr Search Query API and see how I can use it in this
application.
Great
One major concern is how we will be creating our maps.
I introduced the idea of a map editor but now it seems that we will be using queries to
generate our maps.
Imho we will need both. On the one hand, what you prototyped with map editors will be
useful for adding or editing data items – I foresee more one single editor providing all
the editing features than several distinct ones though, what do you think? On the other
hand, we will also use queries to generate maps indeed.
What I have in mind after this is that the user will
create an object of Map class and then associate a query with it but I don't know how
we will get the relevant data for the map. For example if we want a point on the map, how
would we identify that we need that point. Do we have all the relevant objects on a single
page and then get all of them from that page to display those features on the map?
I think we should start with having one page per object and that the query defined at the
Map object level will gather all the data to be displayed on the map. Then, subqueries
built on top of the primary one (adding full-text, facets or spatial constraints) will let
the user filter the existing elements. Having one page per object will make it easy to
associate content and images to each geographical object: they will be the content and the
attachments of the page itself. What do you think? Having several objects attached to one
page could be useful as well in a second step I would say, for more advanced use cases
covering pages that relate to several distinct locations (e.g. a place that consists of
several points and splitted areas).
Can you give a reference to an application that is
similar in structure to what we are striving for in this application? I can't help but
feel like this will lead to something of a "Map Service" rather than a "Map
Application". Sorry about all this confusion.
Here's a reference to an application that provides a user experience that is close to
what I have in mind, a sample map that I created on the GoGoCarto site:
https://abc.gogocarto.fr/ (French language again though). From there, hit the link
"La carte" at the top right, then "Ajouter un élément" (you can also
get you an account for accessing the administration user interface). You will see a form
with a basic map editor for adding a point. It's close to my view in the sense that it
provides two distinct interfaces for 1) editing data, with a (basic) map editor, 2)
rendering the interactive map itself. From that perspective, we're more aiming at a
map renderer than at an advanced map editor, compared to what the XWiki diagram editor
application is, for instance. But we will still need an editor for editing individual
points, shapes, paths, or even a few of them combined, when editing a metro line for
instance, but not a whole map at once.
Does this make the goal clearer and still meaningful to you? I would say imho that
we're aiming at a map application, since what users will produce or use is an
interactive map, but the application will hinge on an advanced map service (or several
ones) indeed. I feel like we're just aligning our views (I hope) on a project with a
certain level of complexity, I would not call that confusion!
Side note: later on in the development process and depending if it makes sense for the
XWiki product itself or not, we (the XWiki developer community at large) could consider
making points, shapes and paths primary XWiki property types that could be used in any
XWiki Class, so that the production of forms comprising geographical data can be made even
more simple, but we're not there yet. This approach could be compared at least partly
to what GeoDjango brings to Django (I think):
https://docs.djangoproject.com/en/2.2/ref/contrib/gis/
Maybe we can have a recorded video/audio conference as
that will save us a lot of time discussing these things. WDYT?
Sure, good idea, I'll send you some slot proposals to you and Caty.
Cheers
Stéphane