
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
superdesk-analytics
Advanced tools
Jan 2017
This is a plugin for superdesk.
It adds an analytics application page with its API endpoints.
You must have a valid license for Highcharts JS v6.x to use this plugin.
The Highcharts JS library is used to render the charts. It is available under different licenses depending on whether it is intended for commercial/government use, or for a personal or non-profit project. see more
1: These reports require archive statistics stats to be enabled
In order to see the analytics feature in the application, you need to enable it.
In client/superdesk.config.js from superdesk, add this line
features : {analytics: true},
This will import the superdesk-analytics node module and load the superdesk.analytics angular module in the main angular application.
Add the following line in the package.json file, dependencies:
"superdesk-analytics": "superdesk/superdesk-analytics#1.5"
Run the command:
npm install
This will install the analytics module.
--- a/server/settings.py
+++ b/server/settings.py
@@ -132,7 +131,8 @@ INSTALLED_APPS.extend([
+ 'analytics',
])
Add the following line in the requirements.txt file:
git+git://github.com/superdesk/superdesk-analytics.git@1.5#egg=superdesk-analytics
Run the command:
pip install -r requirements.txt
This will install the analytics package.
Download and install
git clone git@github.com:superdesk/superdesk-analytics.git
make install
Run the tests
source server/env/bin/activate
make test
Connect the repository to superdesk-client-core
npm link
cd /path/to/superdesk-client-core
npm link superdesk-analytics
Connect the repository to superdesk-core
cd /path/to/superdesk-core
source env/bin/activate
pip install -e /path/to/superdesk-analytics
You must have a valid license for Highcharts JS v6.x to use this plugin.
The Highcharts JS library is used to render the charts. It is available under different licenses depending on whether it is intended for commercial/government use, or for a personal or non-profit project.
To have the license details available to the end user in the Analytics page of Superdesk, provide the following config options in your settings.py:
To be able to generate charts on the server, we need to install/run the Highcharts Export Server.
npm install -g highcharts-export-server
There is also a script that can be used to automate the install:
cd server/scripts && ./install-highcharts-export-server.sh
This will automatically accept the end user licence, and use a specific version of highcharts
There is a python module to allow running the highcharts export server.
python3 -u -m analytics.reports.highcharts_server
This will start the service using the host/port configured in settings.py (relative to your current working directory)
You can add the service to your Honcho Procfile with the following line:
highcharts: python3 -u -m analytics.reports.highcharts_server
The export server uses a pool of PhantomJs worker threads. You can configure this pool in settings.py
The highcharts export server has the ability to rate limit the requests that it receives. By default rate limiting is turned off. You can turn it on in your settings.py
To enable reports to be periodically scheduled (emailed), you must enable the config in settings.py. If this is enabled, then the celery queue entry will be created.
Archive statistics are generated from the archive_history collection and stored in an archive_statistics collection. This allows in depth reports for content, desk and user activities.
Generating these stats are disabled by default (due to resource requirements), and can be enabled in settings.py.:
The data for archive statistics is stored in a separate mongodb database and elastic index. These can be configured with the following:
Without enabling the archive stats, the following reports will be disabled:
Statistics are generated using the following celery beat schedule:
If the above is not defined, then it will default to run at 3am every day
As an administrator I would like to be able to generate metadata reports around content publishing.
I would like to be able to group, and optionally subgroup, the report by the following metadata:
The report should have the ability to filter data based on the following:
I should be able to choose one of the following chart types for the report:
As an administrator I would like to generate a report detailing Publishing Performance.
I would like to be able to group the report by one the following:
Each group should be broken down to the following publish states:
As an administrator I would like to be able to analyse peak times on a desk.
This report will show the total incoming and outgoing actions on the desk, grouped by hour or by day (based on a drop down field on the form). These actions should include:
Incoming:
Outgoing:
Below the chart should be a count of all the actions that made up this report, displayed in a table.
As an administrator I would like to be able to analyse updates to story attachments.
This report will display a table of each update to stories that have asset's attached to them.
The updates will include:
Links should be provided to the images and stories so the user can view the image in detail.
As an administrator I would like to be able to analyse time spent on stories..
This report will provide statistics on the minimum, average and maximum amount of time spent on producing stories for desks.
These figures will be calculated based on when a story enters a desk, and when that same story exits the desk.
Incoming:
Outgoing:
As an administrator I would like to be able to analyse updates to 3 par stories.
I expect this report to show how long it took to create these updates.
This report will show a breakdown of a users workload during a single day, broken down by the individual stories that they worked on.
I expect to be able to click on any single story in the chart, that will then display a second chart displaying the life-cycle of that story, from initial creation to the last action taken on the story
As an administrator I would like to be able to analyse who is using Planning.
I expect this report to include the list of users who are using Planning, and a list of users who are not using Planning.
The report will include counts per user for the following actions:
I also expect that users who do not have permission to use Planning not to be included in this report.
FAQs
_Jan 2017_
The npm package superdesk-analytics receives a total of 20 weekly downloads. As such, superdesk-analytics popularity was classified as not popular.
We found that superdesk-analytics demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.