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

On Mon, Jul 1, 2019, 8:26 PM Fawad Ali <m.fawaadal...@gmail.com> wrote:

> Hi everyone,
> Hope to find you well.
>
> Their flow is actually completely in line with what I have in mind as well
>> (except I may prefer personaly to have the facet above the result list
>> items, to be discussed...)
>>
>
> That would certainly be better in my opinion.
>
> I would expect the search button to be closer to the area where the widget
>> pops in, that is on the left side in our current setup, what do you think?
>
>
> It was that way in the previous commits. But the idea of this approach is
> to have the left side completely blank with no controls. What it helps in
> is to provide a dedicated space for both the popup and search widget. If we
> place the search control on the top left, our search control is hidden when
> either popup or the search widget is enabled. And if we place the search
> widget right beside the search control (to the right of it), it will take
> unnecessary space.
> One option is to have the close icon to the right of the search widget
> popup but it still doesn't fix the problem of search control hiding when
> the marker popup is opened.
>
> Indeed, that's an issue. Regarding facets, page Main.SolrSearch behaves
>> similarly as far as I understand, and manages to keep the facets in the
>> same state visually as how they were before launching the asychronous call,
>> doesn't it? So I was thinking we could use the same approach, or is there a
>> hidden complexity? As for the search input: the input itself can be
>> retrieved from the URL, so we should be able to restore it as well, don't
>> we? Can you clarify how separating in two distinct services may help? We
>> will need to consider the other states of the map that we want to represent
>> in the URL so that specific map states can be shared easily, we could add
>> the current selection to the URL's fragment, what do you think?
>>
>
> That's exactly what I eventually had in mind besides the JSON service. For
> the JSON service, we could have a common place for retrieving any kind of
> map data, like a REST API but that was the secondary approach.
> What we could do now is utilize the URL parameters. For now, I am thinking
> of having a multiple URL parameter that can contain different states of the
> map. For example, if we have both the fullscreen and search popup enabled,
> we could have the URL parameters "?mfullscreen=true&msearchw=true" where
> mfullscreen = map full screen and msearchw = map search widget. Other
> parameters like this can be added for different states. WDYT?
>
> We came up with a possible workaround with Anca, which consists in using
>> the Velocity "evaluate" macro in order to force the usage of the current
>> Velocity context (replace "scriptPage" by "facetDisplayer"):
>>
>>    #set ($script =
>> $!scriptPage.content.replaceAll('\{\{/{0,2}velocity\}\}', ''))
>>    #evaluate($script)
>>
>> I gave a try to this solution and it worked fine on my end on the example
>> mentioned on the forum (not tested yet with the facetDisplayers). We need
>> to investigate further though:
>
>
> That's great, I will check it out as soon as I am able.
>
> Best,
> Fawad
>
> On Fri, Jun 28, 2019 at 3:02 PM Stéphane Laurière <slauri...@xwiki.com>
> wrote:
>
>> Hi Fawad, Caty, all,
>>
>> Apologies for the delay. Meantime, I confirm that Caty and I filled in
>> the 1st GSoC evaluation for the period, with very positive appreciations.
>> Thumbs up Fawad, and good luck with the next steps.
>>
>> Fawad Ali:
>> > Hi Caty, Stephane and all,
>> > Hope you are all well.
>> >
>> > Stephane, your suggestions regarding the filter and search are great
>> but I
>> > feel the flow of our application is more inclined towards what Ecaterina
>> > proposes. I will try implementing the mockups.
>>
>> That's very helpful to have mockups indeed to align the visions. Their
>> flow is actually completely in line with what I have in mind as well
>> (except I may prefer personaly to have the facet above the result list
>> items, to be discussed...), and I see in the latest version (of today) that
>> you made good progress toward that direction. The fullscreen widget is cool
>> and works fine. I would expect the search button to be closer to the area
>> where the widget pops in, that is on the left side in our current setup,
>> what do you think?
>>
>> > One problem we have though is that both our facets and search lead to a
>> > reload of all the content inside the page asynchronously which means any
>> > changes made through frontend are lost (like active dropdowns etc.). We
>> > need to fix this.
>> > Do you think I will have to redo both as a separate JSON service? I can
>> > think of a way for search but facets are a little confusing.
>>
>> Indeed, that's an issue. Regarding facets, page Main.SolrSearch behaves
>> similarly as far as I understand, and manages to keep the facets in the
>> same state visually as how they were before launching the asychronous call,
>> doesn't it? So I was thinking we could use the same approach, or is there a
>> hidden complexity? As for the search input: the input itself can be
>> retrieved from the URL, so we should be able to restore it as well, don't
>> we? Can you clarify how separating in two distinct services may help? We
>> will need to consider the other states of the map that we want to represent
>> in the URL so that specific map states can be shared easily, we could add
>> the current selection to the URL's fragment, what do you think?
>>
>> > Also, we still haven't found a way to fix the $facetDisplayer problem.
>> > (
>> >
>> https://github.com/xwiki-contrib/application-interactive-maps/blob/master/application-interactive-maps-ui/src/main/resources/Maps/Code/CommonMacros.xml#L221
>> > )
>> > How do you think we should proceed with this?
>>
>> We came up with a possible workaround with Anca, which consists in using
>> the Velocity "evaluate" macro in order to force the usage of the current
>> Velocity context (replace "scriptPage" by "facetDisplayer"):
>>
>>    #set ($script =
>> $!scriptPage.content.replaceAll('\{\{/{0,2}velocity\}\}', ''))
>>    #evaluate($script)
>>
>> I gave a try to this solution and it worked fine on my end on the example
>> mentioned on the forum (not tested yet with the facetDisplayers). We need
>> to investigate further though:
>>
>>
>> https://forum.xwiki.org/t/including-code-dynamically-from-a-sheet/5085/3
>>
>> > Regarding the tests, I will start preparing them as soon as I am done
>> with
>> > implementing the new search and facets UI.
>> > However, I do have confusion as to what kind of functional tests I
>> should
>> > perform. I am listing some that I have in mind.
>> > - Map is created properly
>> > - Facets are working
>> > - Search returns expected results
>> > - Popup works fine
>> > And other similar functions.
>> > I will need some guidance as to how I should take a start since I have
>> not
>> > actually made tests for real applications.
>> > After analyzing some of the tests that Vincent and Ecaterina have
>> shared, I
>> > think we have to perform user actions programmatically and check to see
>> if
>> > the output we are receiving is correct. Is that right?
>>
>> I need to look more into the testing framework including the pointers and
>> examples provided by Vincent and Caty, and to go through the steps you
>> mention in your mail dated from 24/6, I'll get back to you on this.
>>
>> Cheers
>>
>> Stéphane
>>
>>
>> > Thanks,
>> > Fawad
>>
>>

Reply via email to