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

