I know that Google Analytics and Piwik are great tools to perform web analytics, but either of them can meet my requirements fully.
My web app is live in the company intranet only, and no IP is allowed to expose to the internet. Hence, Google Analytics is out of choice. Piwik can work partially for my scenario, however open source technology is not supported by company directors, and some critical requirements can not be fulfilled by Piwik.
I am going to construct my own module to achieve this web analytics goal.
Management View Requirements:
- Users per day
- Which departments users from
- Average durations for users
- Most popular modules
- Which resource is most used
- Which tool is most used
- Search keywords
Development View Requirements:
- Most failed functional calls
- Most popular new requirements from users (A survey form)
Once user logged in, run a tracking function to store all required data, update data on user actions.
Avoid frequently query to database, store the number of functional calls in web app data, then send data to backend after user refresh page or logout.
Size of the collected data must be limited in size, and once reaching the limit, send to backend and then reset the data.
Internal functions need to be per-determined in keywords in order to reduce the size of collected data, and analysis purpose.