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