Ticket #82 (closed New feature: fixed)

Opened 4 years ago

Last modified 21 months ago

Modular architecture for client javascript plus packer/compiler

Reported by: Eli-D Owned by: vipsoft
Priority: normal Milestone: Piwik 0.4
Component: Core Keywords:
Cc: Sensitive: no

Description (last modified by matt) (diff)

There should be the ability to add modules in the client javascript. It would make the piwik.js much easier to maintain and extend.

The client modules would be things such as:

Outbound link tracking

Click tracking for heatmaps

Displaying information in the pages being tracked

The modules will be able to hook in various points during execution:

'run' - as soon the script is run

'load' - as soon the DOM is loaded

'log' - when an action is logged

'unload' - when script is unloaded

About the packer/compiler:

There should be a php script that takes the base piwik js along with any js modules and joins/packs/minifies them in one file.

Change History

Changed 4 years ago by matt

  • description modified (diff)

Changed 4 years ago by matt

Changed 4 years ago by matt

  • status changed from new to closed
  • resolution set to wontfix

Fixing as wontfix as Eli-d didnt continue the task. If someone interested, please reopen :)

Changed 3 years ago by vipsoft

  • status changed from closed to reopened
  • resolution wontfix deleted

Changed 3 years ago by vipsoft

  • owner changed from Eli-D to vipsoft
  • status changed from reopened to new
  • milestone changed from Features requests - after Piwik 1.0 to 1 - Piwik 0.4

Implementing the hook points for the unit testing module.

There are other tickets for merging & minifying javascript. We'll YUI compress piwik.js for the upcoming release.

Changed 3 years ago by vipsoft

  • status changed from new to closed
  • resolution set to fixed

(In [1151]) fixes #355 - OO version of piwik.js which no longer modifies DOM; remove misc/testJavascripTracker (interactive tests); add tests/javascript (QUnit unit tests); fixes #661 - use click event instead of mousedown; fixes #549 - define your own download/outlink tracking classes; fixes #82 - add hook interface for module

Changed 3 years ago by vipsoft

Minor changes from Eli-D's spec:

  • 'run' called when the Tracker is instantiated
  • added 'click' hook; called by the click handler (and piwik_track() / trackLink())

Changed 21 months ago by vipsoft

  • keywords javascript removed
  • sensitive unset
Note: See TracTickets for help on using tickets.