Giter Site home page Giter Site logo

tdp_matomo's People

Contributors

dg-datavisyn avatar dvdanielrehberger avatar dvvanessastoiber avatar oltionchampari avatar puehringer avatar rumersdorfer avatar steiner-anita avatar thinkh avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

thinkh

tdp_matomo's Issues

Anonymize user names

When using the LDAP plugin the user names are stored in plain text. Hence, the user names should be replaced by an anonymized IDs (e.g., the md5sum of the user name). However, please make sure that for a given user name the anonymized ID is always the same to allow to assess the total number of unique users.

Update requirements and dependencies

We should use the latest versions both for requirements and dependencies.
Except for Typescript, tslint and d3 dependencies, which will be updated in a separate step.

Migrate to Jest

We should migrate from Karma to Jest for testing due to compatibility issues.

After the update to Typescript 3.8, we can use the latest version.
For the usage of ts-jest it is important to use a pinned version without ^. The reason for that is that its Major version follows Jest, which means that minor changes can be breaking. See the docs.

Update to Typescript 3.8

Observed behavior

Updating the typescript and typedoc versions according to the snippet below without using stricter linting makes it possible to use the current typescript version with a minimum amount of errors.

"typedoc": "~0.16.9",
"typescript": "~3.8.1-rc",

Expected behavior

Updating the dependencies in the package.json and adding the following line of code in tsconfig.json (as well as fixing appearing type errors) should be sufficient for the usage of Typescript 3.8 as a first step.

"downlevelIteration": true, // required as long as target is `es5`

Avoid active initialization for each app

The current approach requires an active initialization of the matomo tracking:

const trackableActions: ITrackableAction[] = [
  // id = phovea extension id
  {id: 'targidCreateView', event: {category:'view', action: 'create'}},
];
trackApp(app, trackableActions);

In addition the we duplicate the actionFunctions in the action.ts:

// from tdp_core\src\internal\cmds.ts
trackableActions.set('tdpInitSession', {category:'session', action: 'init'});
trackableActions.set('tdpSetParameter', {category:'view', action: 'setParameter'});
// from tdp_core\src\lineup\internal\scorecmds.ts
trackableActions.set('tdpAddScore', {category:'score', action: 'add'});
trackableActions.set('tdpRemoveScore', {category:'score', action: 'remove'});
// from tdp_core\src\lineup\internal\cmds.ts
trackableActions.set('lineupSetRankingSortCriteria', {category:'lineup', action: 'setRankingSortCriteria'});
trackableActions.set('lineupSetSortCriteria', {category:'lineup', action: 'setRankingSortCriteria'});
trackableActions.set('lineupSetGroupCriteria', {category:'lineup', action: 'setGroupCriteria'});
trackableActions.set('lineupAddRanking', {category:'lineup', action: 'addRanking'});
trackableActions.set('lineupSetColumn', {category:'lineup', action: 'setColumn'});
trackableActions.set('lineupAddColumn', {category:'lineup', action: 'addColumn'});
trackableActions.set('lineupMoveColumn', {category:'lineup', action: 'moveColumn'});

A better approach would be to filter phovea extensions with id actionFunction. Only action functions that are annotated with the required name category and action will be tracked then.

Update Codeowner

The code owner of this repository has changed, therefore it is necessary to update the repo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.