0

The following question is for AX7 / Dynamics 365 for Operations.

I have a need for capturing the event of a user navigating around in the user interface from code. It doesn't matter if it is the event of the browser navigating to the site, when any form opens or something else. The important thing for me is that I can capture which company the user is navigating around in and when the last action happened.

Is there any delegate or something in the framework that I can subscribe to (form load, menu load, user action etc.)?

j.a.estevan
  • 3,057
  • 18
  • 32
palantus
  • 155
  • 2
  • 12
  • Is this for any particular purpose? The telemetry available in LCS should give you all the information you need already – AnthonyBlake Jan 11 '17 at 11:58
  • I work for an ISV and we have an external system that we use to monitor which instances are in use and keep track of which companies are being used. Tracking users on instances is for finding windows for updating the instances without disturbing the users testing our solution. Tracking company activity is for automatically deleting companies when they haven't been used for a while (all companies are for testing). On 2009 and 2012, we just had a timeout startet on every client, which reported active company (and thus instance activity) to an URL or directly in an external database. – palantus Jan 11 '17 at 13:06
  • Well there's no code running client side anymore so you would have to rethink it for server side. There are tonnes of events to hook into and some on forms. Im sure LCS telemetry can hep you in ax7. – AnthonyBlake Jan 11 '17 at 20:03

2 Answers2

0

You might consider using the standard IIS logging features.

On the onebox images it will be located somewhere like: %SystemDrive%\inetpub\logs\LogFiles and contain information on the menu calls like:

2017-02-04 23:59:59 127.0.0.1 GET / cmp=USMF&mi=DefaultDashboard 443 - 127.0.0.1 
Tunaki
  • 132,869
  • 46
  • 340
  • 423
0

If this is for troubleshooting any kind of error or unexpected behavior, you can take a trace and then open it with Trace Parser.

Trace will contain every action the user has done and every code this action has executed (incl. database queries).

+info: https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/perf-test/trace-parser

Telemetry can be accessed from LCS, whilst it has a format difficult to understand.


To your question, it will not be recommended to trace to this low level for every user as a long term monitoring, that's why there is no delegate nor any extension point to do that. That will generate an excessive overload to the system.


j.a.estevan
  • 3,057
  • 18
  • 32