Skip to content

Loading…

VisitorGenerator plugin #1374

Closed
halfdan opened this Issue · 25 comments

3 participants

@halfdan
Piwik Open Source Analytics member

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.

@halfdan
Piwik Open Source Analytics member
@halfdan
Piwik Open Source Analytics member
@robocoder

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.

@halfdan
Piwik Open Source Analytics member

Mh, indeed #762 is a wrong reference.

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

@mattab
Piwik Open Source Analytics member

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.

@robocoder

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.

@halfdan
Piwik Open Source Analytics member

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.

@mattab
Piwik Open Source Analytics member

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 )
@halfdan
Piwik Open Source Analytics member

New patch, all fixed.

@mattab
Piwik Open Source Analytics member

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

@halfdan
Piwik Open Source Analytics member

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

@mattab
Piwik Open Source Analytics member

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

@halfdan
Piwik Open Source Analytics member

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

@mattab
Piwik Open Source Analytics member

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?

@halfdan
Piwik Open Source Analytics member

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 :(

@halfdan
Piwik Open Source Analytics member
@halfdan
Piwik Open Source Analytics member

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

@mattab
Piwik Open Source Analytics member

(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.

@mattab
Piwik Open Source Analytics member

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!

@halfdan
Piwik Open Source Analytics member

Attachment:
API.patch

@halfdan
Piwik Open Source Analytics member

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

@mattab
Piwik Open Source Analytics member

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

I modified it a bit to simplify the translation messages

@halfdan
Piwik Open Source Analytics member

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

@halfdan
Piwik Open Source Analytics member

Attachment:
templates.patch

@robocoder

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

@halfdan 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.