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 <slauri...@xwiki.com 
<mailto:slauri...@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 <slauri...@xwiki.com 
<mailto:slauri...@xwiki.com> <mailto:slauri...@xwiki.com 
<mailto:slauri...@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&docVersion=5.1]
 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&docVersion=5.1]
 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&docVersion=5.1]
 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&docVersion=5.1]
 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

Reply via email to