xwikisas / application-analytics Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU Lesser General Public License v2.1
License: GNU Lesser General Public License v2.1
In this task, I want to create the general structure of the app, including the AnalyticsDashboard class, the sheet and the template, the Default Dashboard, and the homepage where you can view all the dashboards that exist on your wiki.
Add the filter macro to the homepage of each macro, allowing the user to select the interval for the statistics.
There is a typo in the DefaultDasbord.xml and there is a missing comma in the ui pom.xml file.
As a usecase, a user accesses the dashboard and he can set the date filter for the complete page, and all macros are update (with the filter being saved in the URL). Now, there are times when some users may want to see some statistics of a specific macro for a different time range than the one set on the dashboard. For this, each macro will have a visible individual page where specific date filtering can be done (also saved in the URL). This page will be accessible as a link from each macro added on the dashboard.
It would help to also have the possibility to see a short description for each macro, similar to what Matomo does
Add the analytics_prefix to all the macros and modfied 1 to 0 because all the macros genereate livedatas
This task involves creating a button that will let the user know if the tracking code is registering data in the Matomo instance.
In the current state of the application, the user has to modify the CORS policy to be able to make requests to the Matomo server.
Replace the livetable which is currently used for displaying the MostViewedMacro with a Live Data.
"In this task, essential configurations are incorporated to utilize Matomo's tracking capabilities and the Matomo API. To enable tracking, a field for the JavaScript code provided by Matomo is included. For the API, an auth_token and a site ID are needed to request information.
Having the main page of the application as a livetable, with its entries being the dashboards, was not helpful for users. The common expectation is to have direct access to a dashboard with date filtering capabilities and most of the macros, so requiring an extra click to get to it is not intuitive. This would also align with what Matomo offers.
Therefore, the main page of the application should be changed to a dashboard from the dashboard application, with a date filtering option at the top of the page, similar to a Matomo dashboard. The users will be able to edit the dashboard by adding or removing macros.
Change the mostViewedPage
macro name to mostViewedPages
to reflect more accurately what the macro does.
This task involves creating a macro that displays the search categories in xwiki, along with various statistics such as searches, search results pages, search exits
Upgrade the parent of the application to 14.10-1
This feature has been added as part of #15
It has the options to update the chart based on number of pageviews, unique pageviews, and average time per page.
It should also add options for bounce rate per page and exit rate per page
Since the analytics macros are used inside a dashboard, it would be helpful to not have them take too much space. Usually, the information displayed inside the macros are numbers that do not take up to much space. So the column title is the one giving the size of it. For this, the column titles should be brief and comprehensive.
Since this could make columns less intuitive, a description should be added for each of them, so when hovering the title more info will be displayed. This info could be taken from Matomo
Other improvements that could be done the macros UI, is to update the current view of the seconds column in order to display a more human friendly value (using the D:HH:MM:SS format)
Also, the decimal numbers should be rounded to 2 decimals
Steps to reproduce:
Expected results:
The user should receive a notification indicating whether the configuration is correct or not.
Actual results:
The notification consistently states that the user's configuration is incorrect.
Investigation:
The Config Check isn't working because the URL that I use for the Matomo segment is incorrect. The consequence of this is that the user will always receive the message: "Failed to connect to Matomo. Please check your configuration values." To fix this issue, I need to change pageUrl': window.location.href to $('#checkMatomoConnection').attr('src').
I am planning to transition the Most Viewed Pages macro to Livetable. This decision is prompted by several problems with the current implementation, which uses ordinary HTML tables.
In the current setup, many features would require reimplementation. For instance, functions such as search, pagination, and sorting by column are not readily available and would need to be manually added. This not only creates extra work but also increases the likelihood of introducing errors and inconsistencies.
On the other hand, Livetable macro comes with these essential features built-in. This makes it a more efficient choice as it reduces the need for reinventing the wheel. By using Livetable, we can maintain these features without extra effort while also benefiting from its existing codebase's reliability and tested functionality.
In the future we will migrate towards livedata.
Current preview:
GetDate doesn't work properly on the main dashboard when the user enters the page for the first time, and because of this, the analytics macros don't display anything.
Steps to Reproduce:
Expected Result:
You should see the Analytics application tab with the correct translation.
Actual Result:
You see the Analytics application tab with missing translation.
The Analytics Application (PRO) should be visible only to administrators since it encompasses vital app statistics. Another key reason to limit visibility to administrators involves the usage of an auth_token in Matomo API requests for data access. If a user comes across this token, they could make requests to the Matomo API and access the data, potentially compromising the security and integrity of the information.
For this, the Analytics space will have the view right limited to admins only, so they have the possibility to add or remove specific users, depending on who they want to see the analytics info.
Each macro will check this rights in order to not be able to access sensitive info with a user without rights. This is needed since all macros are available for users, and someone might simply add an analytics one.
To not affect the gathering of data feature, the page that adds the tracking code will remain visible to all groups and guests users.
Issues closed in this version https://github.com/xwikisas/application-licensing/milestone/39?closed=1
Add functional tests to check the connection between Matomo and your instance, the administration section and to see if the Most Viewed Pages is registering user actions
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.