Hi Fawad, Hi all,
Hi all,
However, as a user I would expect the list to be present also when the search input
is empty, with the possibility to reduce the list by hitting the link "Show result
items", what do you think?
By this do you mean that all the results should show in the "Show result items"
when the search is empty? Thereby decreasing the number of result items when an actual
search is made.
Yes indeed, the number of items would then decrease either when a text search is made or a
facet filter is checked.
Speaking of the list, that'd be great imho
that the popups can be displayed while the list is active, so that the user can browse
content via the list, wouldn't it?
I am not too sure where we could place them, since both the list and popups take a large
amount of space. The popups are build to support page data, so they are also big. We could
do it so the upper space belongs to the popup and the lower space belongs to the list.
Though it will cramp the space a little imo. We could also increase the overall height of
the map (which is 400px for now). WDYT?
As a user, I like the Airbnb map experience with popups on top of the markers, what about
you?
<https://www.airbnb.com/s/soweto/homes?refinement_paths%5B%5D=%2Fhomes&query=soweto&click_referer=t%3ASEE_ALL%7Csid%3A8a34e891-60f3-47cd-a4e6-bb4182ff26ac%7Cst%3AMAGAZINE_HOMES&search_type=unknown&zoom=11&search_by_map=true&sw_lat=-26.439251721636115&sw_lng=27.49917114990228&ne_lat=-25.91485138495341&ne_lng=28.197489631347594&checkin=2019-07-18&checkout=2019-07-20&place_id=ChIJcWB04rGmlR4R322eHsI4CDo&s_tag=t8HDGbAs>
The ability to highlight a marker when hovering the list is also quite handy.
(note also the "search as I move the map feature")
Imho the popups could be reasonably small by default, and later on we may consider various
improvements such as 1) the ability to increase the popup side dynamically like what
happens on the map below when you hit the link "Plus d'information" at the
bottom of the panel:
http://carte.preference-commerce.fr/cci-fr/ 2) the ability to choose
where this contextual information should show up. For instance, for users having large
content to get displayed, it could make sense to let the content replace entirely the list
one, just like what Google does in this example (which is close to what we have at the
moment, except that I wouldn't hide the search input, and I would add a "Back to
results" link just like what Google does, and keep the same container so that the
user understands better that the two panels are complementary, I find it easier to grasp
the underlying behaviour):
<https://www.google.com/maps/place/Ch%C3%A2teau+De+Monteton/@44.6171828,0.1365399,11z/data=!4m11!1m2!2m1!1srestaurant!3m7!1s0x12aa94fd12973be1:0x5c1dfe53cb53965f!5m2!4m1!1i2!8m2!3d44.6227756!4d0.2553132>
Along this line, another improvement (you probably have it in mind) would be to introduce
one or several dedicated sheets for such contextual information so that it can get easily
customized by users with development skills.
Restoring the full screen is working in most
cases, that's cool, however if I run a search, then enter full screen, then refine the
search, it seems that the full screen state is not preserved, is it?
That's one use case which leads to a loss of the previous map state and the one
before that is used. Any state before the facet click is not preserved except the search
widget and "Refine your search" area which is more or less forced. As I said
before, the problem is that we cannot pass the state anywhere when a facet is clicked. I
will look into cumulative onclick events but I think that's not going to work.
Ok, we need to investigate this. I have a preliminary question about this feature: how
come that the URL does not reflect the mode status when hitting the full screen button the
first time? I mean, if I'm not mistaken, when hitting the button before running any
search, the URL remains unchanged, while the user may want to use that URL to share the
map in full screen as is, or to embed it in full screen in a iframe, so shouldn't this
parameter be present? Is there any difficulty with that? Wouldn't the facet widget
reuse that URL afterwards? Sorry for any possible misunderstanding on my end.
I agree LeafletMap would be closer to what it
does, but contrarily to the Macro Map, if I'm not mistaken, the page currently named
Maps.Code.Leaflet does not create a JavaScript LeafletMap class, so technically it's
more a LeafletUtils than a LeafletMap, isn't it?
You are right, it does not create any js class and since css is also inside the same page
the name should be LeafletUtils or LeafletService. I will change it accordingly.
Ok cool.
Also, I looked into it and the idea of custom class
property for getting the location is interesting indeed. I will see how I should
prioritize it and implement it then since we have other major features to look into.
I would also like to ask; what do you foresee as the basic elements of the application?
We have map configuration, map query, search and filter widget, markers and popups so far.
Do you have anything other than this in mind that could be thought of as the basis of the
application? I think we should completely stabilize the basics by the end of this week so
I can work on other features like map paths, indoor maps and custom shapes.
I'll think about it and will give you my feedback on this as soon as possible.
Cheers
Stéphane
Best,
Fawad
On Thu, Jul 11, 2019 at 1:50 PM Stéphane Laurière <slauriere(a)xwiki.com
<mailto:slauriere@xwiki.com>> wrote:
Hi Fawad, all,
I have fixed the errors you mentioned. It appears
one of the variables had a bad name which was causing the error.
The error does
not show anymore indeed on my end, thanks.
On the UI side, possibly as a consequence, I
can't see a list of results anymore, and the search widget state is not restored.
The list of results is just fine on my end, I am not sure what could be wrong.
In the meantime, I figured out that the list shows up indeed when issuing a query in
the search input, cool. However, as a user I would expect the list to be present also when
the search input is empty, with the possibility to reduce the list by hitting the link
"Show result items", what do you think? Speaking of the list, that'd be
great imho that the popups can be displayed while the list is active, so that the user can
browse content via the list, wouldn't it? This should not prevent us from release
version 1.0 though.
About the map state, it does not work well with
facets. Since facets have a separate code we cannot apply custom code when a facet is
selected thus limiting our ability to pass the map state through js. I tried looking
around for related js events but could not find one through which we can pass the map
state after a facet is clicked. Do you have anything in mind for this?
Actually, with the new version, the facet state is restored as I would expect it,
sorry for the confusion. Restoring the full screen is working in most cases, that's
cool, however if I run a search, then enter full screen, then refine the search, it seems
that the full screen state is not preserved, is it?
A note about demos: as far as I can see, the museum map demo does not showcase the
"country" facet by default, don't you think that'd be worth adding it so
that the user has a simple demo with facets working with custom fields?
I think the name
"Maps.Code.Leaflet" might be misleading for potential developers: this could
mean this page is providing Leaflet, while it does not. I would suggest to choose a name
that is closer to what the JavaScript really provides, from a functional point of view,
what do you think?
I think its fine as is. Since it is placed inside the Code space, the developers will
immediately be able to know that all the Leaflet related code resides inside it. But to be
on the safe side, we can rename it to LeafletMap as in the macro-map.
I agree LeafletMap would be closer to what it does, but contrarily to the Macro Map,
if I'm not mistaken, the page currently named Maps.Code.Leaflet does not create a
JavaScript LeafletMap class, so technically it's more a LeafletUtils than a
LeafletMap, isn't it? I acknowledge I'm picky with names... I noticed that
leaflet-main requires leaflet-commons but I'm actually wondering how to make sure that
leaflet-commons is known from RequireJS before leaflet-main gets loaded. I have not faced
any error in practice, but I'm wondering if you tackled the issue already or if we
need to figure it out.
Ludovic just suggested an improvement (for
the next versions): let the user configure which existing field could be used in an
existing class for retrieving geographical information, that could be interesting indeed,
to be discussed. The calendar application works this way already as far as I understood:
it lets the user define the date / time field to be used.
Thanks Ludovic for your suggestion. I would look into the calendar application to have a
better understanding of this and let you know my thoughts.
Ok cool.
Cheers
Stéphane
Best,
Fawad
On Wed, Jul 10, 2019 at 2:55 PM Stéphane Laurière <slauriere(a)xwiki.com
<mailto:slauriere@xwiki.com> <mailto:slauriere@xwiki.com
<mailto:slauriere@xwiki.com>>> wrote:
Hi Fawad,
Good to hear from you again, I hope things are fine on your end as well. Thanks for
the update. Sorry for the delay, we were traveling yesterday. Releasing the application
soon sounds good. I'm facing a few issues though, they may be related to an
installation issue on my side, not sure. I grabbed the latest code and imported as a XAR
over the existing pages in my 11.x wiki without error, and I notice the following
(I'll consider posting some Jira issues if needed):
- catalina.out errors (not sure if they were present with previous version):
2019-07-10 11:34:30,349
[
http://ako:8090/xwiki-11.2/wiki/abraca/jsx/Maps/Code/Leaflet?language=en&am…]
WARN c.x.x.w.s.JsExtension - Error at line 203, column 85: missing variable
name. Caused by: [ var index = 0, lat = 0, lng = 0, coordinates = [], shift = 0,
result = 0, byte = null, latitude_change, longitude_change, factor = Math.pow(10,
Number.isInteger(precision) ? precision : 5);]
2019-07-10 11:34:30,350
[
http://ako:8090/xwiki-11.2/wiki/abraca/jsx/Maps/Code/Leaflet?language=en&am…]
WARN c.x.x.w.s.JsExtension - Error at line 206, column 13: identifier is a
reserved word. Caused [...]
2019-07-10 11:35:02,841
[
http://ako:8090/xwiki-11.2/wiki/abraca/jsx/Maps/Code/Leaflet?language=en&am…]
ERROR c.x.x.w.s.JsExtension - Runtime error minimizing JSX object: Compilation
produced 8 syntax errors.
2019-07-10 11:35:02,841
[
http://ako:8090/xwiki-11.2/wiki/abraca/jsx/Maps/Code/Leaflet?language=en&am…]
WARN c.x.x.w.s.JsExtension - Failed to compress JS extension: null
- On the UI side, possibly as a consequence, I can't see a list of results
anymore, and the search widget state is not restored.
- I notice there is no default radio button checked in the search form: I think
either "location" or "item" should be checked, to let the user know
what's the default (I'd say "item").
- I think the name "Maps.Code.Leaflet" might be misleading for potential
developers: this could mean this page is providing Leaflet, while it does not. I would
suggest to choose a name that is closer to what the JavaScript really provides, from a
functional point of view, what do you think?
- Ludovic just suggested an improvement (for the next versions): let the user
configure which existing field could be used in an existing class for retrieving
geographical information, that could be interesting indeed, to be discussed. The calendar
application works this way already as far as I understood: it lets the user define the
date / time field to be used.
Cheers
Stéphane
Fawad Ali:
Hi all,
Hope everyone is well.
Please review the application developed so far. I have included a UI test and map states.
I think we should release the application as soon as we can so that user reviews can be
gathered.
Best,
Fawad
--
Stéphane Laurière
XWiki –
https://xwiki.com
--
Stéphane Laurière
XWiki –
https://xwiki.com