Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

VisitorGenerator plugin #1374

Closed
halfdan opened this Issue · 25 comments

3 participants

Fabian Becker Anthon Pang Matthieu Aubry
Fabian Becker
Collaborator

After #762, #1369 and #1371 I took the liberty and refactored the generateVisits.php into an own plugin (see Attachment). Basically the plugin replaces the generateVisits.php and introduces a smarter interface which can be called from a browser. It does not provide a CLI though.
When the plugin is activated it adds itself to the AdminMenu (if the user is SuperUser).

I set milestone to 0.6.2 as I think this can be easily included into the core. Fell free to change this to third party plugins.

Fabian Becker
Collaborator
Fabian Becker
Collaborator
Anthon Pang
Collaborator

Just took a cursory look. For future reference, please indent using tab stops every 4 spaces. See wiki:CodingStandard

Are you sure you meant #762? That ticket was to move core/Tracker/Generator.php, core/Tracker/Generator/, and misc/generateVisitsData/ into a plugin.

Fabian Becker
Collaborator

Mh, indeed #762 is a wrong reference.

I re-uploaded the archive. Tab indent should comply to the Coding Standard now.

Matthieu Aubry
Owner

I think this is a good improvement to the current visit generator. code review:

  • have the language strings in the langs/en.php file. Language strings should not contain line breaks or HTML. It is better to create 3 different strings for the 'VisitorGenerator_Warning'
    • instead of action="index.php?module=VisitorGenerator&action=generate" you can use {url module=VisitorGenerator action=generate
  • move misc/generateVisitsData/ into the plugin
  • remove @author and change plugin info to be the standard core plugins info (no author, points to piwik.org, etc.)
  • change the message 'API_QuickDocumentation' (which was bad practise anyway as it contains links, html, etc.) on the API page to explain how to generate fake visits (enable the plugin, etc.).

We will use data from this website as golden logs: divezone.net - diving guide since it is a classic piwik use case website.

Anthon Pang
Collaborator

IIRC core/Tracker/Generator/* has hardcoded references to misc/generateVisitsData, so it would be more self-contained to move these into the plugin as well.

Fabian Becker
Collaborator

matt: Alright, thanks for review. Adjusted everything and added patch to add the plugin.

I moved core/Tracker/Generator.php, core/Tracker/Generator/* and misc/generateVisitsData/* into the plugin.

Matthieu Aubry
Owner

code review

  • Maybe the UI could use a table to have the labels aligned (like in the User Settings page).
  • split the 'API_QuickDocumentation' help string into multiple strings (so that there is no HTML in it, and the visit generator help string is in a different string)
    • the generator help string would be displayed only for the super user ( if($isSuperUser) in smarty. The message could read "If you don\'t have data for today you can first generate some data using the VisitorGenerator plugin. You can enable the VisitGenerator plugin, then click on the 'Visitor Generator' menu in the Piwik Admin area.
    • in the language, It will <b>not</b> should be It will %s not %s and %s replaced by <b> at run time
  • it seems you removed the 'token_auth' check, but it is important (against CSRF). You can use $this->checkTokenInUrl(); (see example in UsersManager.Controller.setIgnoreCookie )
Fabian Becker
Collaborator

New patch, all fixed.

Matthieu Aubry
Owner

The patch seems to be missing the files core/Tracker/Generator/* in the plugin itself?

Fabian Becker
Collaborator

They have been moved into the plugin itself (see Tracker.php, etc.)

Matthieu Aubry
Owner

yes but they are not in the patch, so when applying the patch, i get the error 'file missing xxx'

Fabian Becker
Collaborator

Very strange - reuploaded the patch, according to the trac output it should fix the problem.

Matthieu Aubry
Owner

it seems your patch is not against trunk. For example, plugins/VisitorGenerator/Generator.php is a DIFF but this file doesn't exist in trunk, so it should be the full file in the patch. do you see what I mean?

Fabian Becker
Collaborator

matt: Yep, I see. Sorry for that, I exported another patch (this time using Netbeans - looked good to me). I seriously need to switch back to my Linux development machine, SVN under Windows is a pain :(

Fabian Becker
Collaborator
Fabian Becker
Collaborator

Attachment: VisitorGenerator plugin + en.php.patch
VisitorGenerator.zip

Matthieu Aubry
Owner

(In [2245]) Refs #1374 Moving visitor generator tool to its own plugin. Patch by halfdan!

Also renamed setPluginsToLoad to loadPlugins()
Note: still missing updates to the API plugin help as this part was missing from the patch.

Matthieu Aubry
Owner

Thanks for the patch!

Note:

  • the patch was not deleting the files in core/Tracker/Generator.php and Tracker/Generator/* but I deleted them manually.
  • the patch was missing the part for the API template to use the new help strings. can you please submit patch for the API template + adding the english strings as well (I had to temporarily remove them).

Thanks!

Fabian Becker
Collaborator

Attachment:
API.patch

Fabian Becker
Collaborator

I knew I missed something ;) Added the patch for the API template. Thanks for integrating that into the core.

Matthieu Aubry
Owner

(In [2247]) Fixes #1374 Patch by halfdan

I modified it a bit to simplify the translation messages

Fabian Becker
Collaborator

Just noticed that my patch is missing the templates for the VisitorGenerator plugin sigh. It's attached now..

Fabian Becker
Collaborator

Attachment:
templates.patch

Anthon Pang
Collaborator

(In [2257]) fixes #1374 - check in the missing templates

Fabian Becker halfdan added this to the Piwik 0.6.3 milestone
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.