Hi Ernesto Reinaldo Barreiro ,

Can you provide example code for a solution? Since this is a general
Problem, maybe it would be helpful to add it to the wicket core libaries.

Have a happy new year,

Johannes Renoth

On 2019-12-30 16:52, Ernesto Reinaldo Barreiro wrote:
> Hi,
>
> One thing I immediately do for any wicket application is rolling a blocker
> DIV preventing users to double click on AJAX links: Situation? User clicks
> in some AJAX link and meanwhile request is being processed the user clicks
> on something "that will not be there" when AJAX request finishes. This
> blocking logic can be added globally and it is also easy to mark "request
> and don't show blocker". In my current customer's main application rolling
> out such a solution drastically reduced the number of such errors.
>
> For other application, a side project, I remember rolling out a
> IRequestCycleListener
> that logged details from errors into some external storage so I had not
> fight with logs (and there you can store the precise info you need to track
> user's actions).
>
>
>
> On Mon, Dec 30, 2019 at 5:03 PM Bas Gooren <b...@iswd.nl> wrote:
>
>> Hi!
>>
>> We see these typos of errors every now and then too. It’s usually people
>> navigating to old pages, double clicking on links etc.
>>
>> Nevertheless, in our logs these are relatively easy to find: we send out
>> e-mail notifications when such errors occur, and the e-mail includes quite
>> some details (page, component, session id, logged in user etc, user ip);
>> So far, I have always been able to trace the user’s steps by simply
>> grepping the access logs for their IP around the time of the exception.
>>
>> Should you not be able to do that, I guess it would be relatively simple to
>> track user actions (e.g. the last 10 actions) yourself in the user session.
>> Simply write a request cycle listener, and get some meaningful information
>> from the next handler to be executed.
>>
>> E.g. override onRequestHandlerScheduled() and deduct the action from the
>> request handler;
>>
>> ListenerRequestHandler: component or behavior invoked
>> etc.
>>
>> Store the actions as strings (e.g. “render pageX(pageParams=XYZ)”, “Click
>> on link a.b.c in PageX”, “Submit form path.to.component in PageX”).
>>
>> If you have an app where users are logged in, you can track the last X
>> actions in the user’s session; Otherwise you could externalize this (either
>> in-memory by IP, or some other backing store).
>> When an exception occurs, you can catch it in your request cycle listener
>> and fetch the last user actions. Together, these should provide a better
>> trail of actions leading up to the exceptions.
>>
>> Met vriendelijke groet,
>> Kind regards,
>>
>> Bas Gooren
>>
>> Op 30 december 2019 bij 05:24:19, Илья Нарыжный (phan...@ydn.ru) schreef:
>>
>> Hello,
>>
>> We have pretty widely used software with thousands of visits per day.
>> And from time to time we observe pretty weird Wicket related errors
>> in logs. Commonly it's something about components structure: no such
>> child, there is already such element and etc. But the problem is that
>> commonly we can't reproduce the problem right away: page is working as
>> expected. So such mysterious problems just lie in logs and not being
>> fixed.
>> And here is the question: is there some good way to retrieve and log
>> previous user actions and etc.? Theoretically everything should be in
>> PageStore. What can you recommend to handle such problems properly?
>>
>> P.S. To be able to catch such problems we even build a system for
>> gathering all logs on a central server and correlate them with each
>> other according to some correlation logic. But still - no big luck -
>> so we really believe that problem is in fact that we know only current
>> user page/location and do not know historical aspect.
>>
>> Thanks,
>> Ilia
>>
>> ---------------------------------------------
>> Orienteer(http://orienteer.org) - open source Business Application
>> Platform
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to