On 11/24/09 7:07 PM, Sergiu Dumitriu wrote:
> On 11/23/2009 10:43 AM, Vincent Massol wrote:
>>
>> On Nov 23, 2009, at 10:40 AM, Thomas Mortagne wrote:
>>
>>> I just found that we have a "ajax" URL parameter already. It's put in
>>> the context in XWikiAction so we could check for it in statistics.
>>>
>>> WDYT about reusing it ?
>>
>> What is this URL param doing? The name doesn't sound very explicit to
>> tell not to log stats...
>
> Currently it prevents in some cases returning the full response. For
> example, the /cancel/ action normally redirects to view, which in turn
> renders the entire page. An AJAX request just wants to trigger the
> cancel action, and doesn't care for the response at all. Not going
> through the rendering engine is a good performance boost.
>
> It's not used for every request done through AJAX, since it must be
> added manually.

In the long run, I don't like too much this solution, since it forces 
developers to be aware of that and to add the ajax=1 to all their AJAX 
requests. Using a different action for service like /service/

Jerome

sounds more natural, and easier to learn.
>
>> I think I'd prefer a more explicit param.
>>
>> Thanks
>> -Vincent
>>
>>> On Thu, Nov 19, 2009 at 12:04, Thomas Mortagne
>>> <[email protected]>   wrote:
>>>> On Thu, Nov 19, 2009 at 11:36, Vincent Massol<[email protected]>
>>>> wrote:
>>>>>
>>>>> On Nov 19, 2009, at 11:26 AM, Thomas Mortagne wrote:
>>>>>
>>>>>> On Thu, Nov 19, 2009 at 08:50, Vincent Massol<[email protected]>
>>>>>> wrote:
>>>>>>>
>>>>>>> On Nov 18, 2009, at 5:16 PM, Thomas Mortagne wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Since we introduce document footer informations view statistics
>>>>>>>> are
>>>>>>>> store several time for the same user view of a page.
>>>>>>>>
>>>>>>>> See http://jira.xwiki.org/jira/browse/XWIKI-4590
>>>>>>>>
>>>>>>>> The issue is that theses tabs are loaded asynchronously in ajax
>>>>>>>> and
>>>>>>>> make a call using view action.
>>>>>>>>
>>>>>>>> Here are some solutions:
>>>>>>>> 1/ introduce a new action "viewinternal", "service" or anything
>>>>>>>> else
>>>>>>>> that would be a "view" action without UI and not taken into
>>>>>>>> account by
>>>>>>>> statistics (that register for "view" action events)
>>>>>>>
>>>>>>> +0
>>>>>>>
>>>>>>>> 2/ pretty much the same thing that 1/ but based on a URL
>>>>>>>> parameter
>>>>>>>
>>>>>>> +1
>>>>>>>
>>>>>>> This is much better to me since:
>>>>>>> * Stats are a transersval concern, not related to the view action
>>>>>>> especially. I'm pretty sure we can imagine use cases where we
>>>>>>> don't
>>>>>>> want to register stats for actions other than view
>>>>>>> * The way I'd like to implement the actions later on (xwiki-
>>>>>>> actions
>>>>>>> module) is to have action pipelines and this "saving stats" action
>>>>>>> will be implemented as a post-action that would be injected
>>>>>>> after the
>>>>>>> main actions. Thus only this post action will need to check the
>>>>>>> parameter which will be transparent to the other actions, thus
>>>>>>> providing a good separation of concern.
>>>>>>
>>>>>> So you want statistics module to go look at URL parameters ?
>>>>>
>>>>> I said the opposite actually: it's the action that should do this.
>>>>> Right now (current code) we could just have the view action check
>>>>> for
>>>>> the param.
>>>>
>>>> And do what, put something in the context ? The statistics module
>>>> will
>>>> still receive a "view" action event. It has to check something.
>>>>
>>>>>
>>>>>> How would
>>>>>> you name this parameter ?
>>>>>
>>>>> Some proposals:
>>>>> - "stats=true|false" (or 0|1 to follow the current "tradition")
>>>>> - "logstats"
>>>>>
>>>>>> Also i really don't like that ajax calls use the standard view
>>>>>> action
>>>>>
>>>>> Can you explain? I don't see the problem.
>>>>
>>>> "view" action is supposed to be a user view of a document, ajax calls
>>>> are retrieving structured informations from a service located in a
>>>> page most of the time so they have to explicitly tweak the URL to
>>>> remove the UI, indicate they want plain renderer... and so get
>>>> something that has nothing to do with what "view" action is supposed
>>>> to be.
>>>>
>>>>>
>>>>> Thanks
>>>>> -Vincent
>>>>>
>>>>>> so the "viewinternal" action is needed anyway IMO.
>>>>>>
>>>>>>>
>>>>>>>> 3/ use an additional AJAX request similar to a google analytics
>>>>>>>> call
>>>>>>>> to record statistics
>>>>>>>
>>>>>>> -1
>>>>>>>
>>>>>>> Thanks
>>>>>>> -Vincent
>>>>>>>
>>>>>>>>
>>>>>>>> As i said in jira I'm against 3/
>>>>>>>>
>>>>>>>> 2/ seems too big for a URL parameter to me and it makes
>>>>>>>> statistics
>>>>>>>> depends on URL parameters where 1/ fix the issue without touching
>>>>>>>> anything in the statistics module
>>>>>>>>
>>>>>>>> +1 for 1/
>>>>>>>> +0 for 2/
>>>>>>>> -1 for 3/
>>>>>>>>
>>>>>>>> --
>>>>>>>> Thomas Mortagne
>
>

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to