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

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

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

@halfdan
Collaborator

Mh, indeed #762 is a wrong reference.

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

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

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

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

@mattab
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 )
@halfdan
Collaborator

New patch, all fixed.

@mattab
Owner

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

@halfdan
Collaborator

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

@mattab
Owner

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

@halfdan
Collaborator

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

@mattab
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?

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

@halfdan
Collaborator
@halfdan
Collaborator

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

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

@mattab
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!

@halfdan
Collaborator

Attachment:
API.patch

@halfdan
Collaborator

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

@mattab
Owner

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

I modified it a bit to simplify the translation messages

@halfdan
Collaborator

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

@halfdan
Collaborator

Attachment:
templates.patch

@robocoder
Collaborator

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