matomo-org / matomo

Empowering People Ethically with the leading open source alternative to Google Analytics that gives you full control over your data. Matomo lets you easily collect data from websites & apps and visualise this data and extract insights. Privacy is built-in. Liberating Web Analytics. Star us on Github? +1. And we love Pull Requests!
https://matomo.org/
GNU General Public License v3.0
19.6k stars 2.62k forks source link

Plugin for Click map #5493

Closed mattab closed 10 years ago

mattab commented 16 years ago

phpMyVisites supports ClickHeat (http://www.labsmedia.com/clickheat/) and Piwik could do the same.

The DEV version is available on http://www.labsmedia.com/clickheat/piwik/piwik-clickheat.tar.gz This is DEV only and may not work with latest trunk.

If you're interested to contribute please contact hello at piwik.org and yvan DOT taviaud at m4am.net Keywords: third-party-plugin

mattab commented 15 years ago

Attachment: Heatmap plugin for Piwik piwik-clickheat.tar.gz

anonymous-matomo-user commented 14 years ago

Attachment: en.php

anonymous-matomo-user commented 14 years ago

Attachment: de.php

anonymous-matomo-user commented 14 years ago

Attachment: Fixed german language for ChristianSchneiders version with htmlenteties de.2.php

anonymous-matomo-user commented 14 years ago

Attachment: Fixed "Missing Constants" Bug by using Piwik_Translate to get the translation from ChristianSchneiders en/de language files Controller.php

gka commented 14 years ago

Attachment: Piwik Web Analytics Reports_1281992192785.png

anonymous-matomo-user commented 14 years ago

Attachment: Corrected version of the clickheat.js (you have to minify this again!) clickheat-original.js

anonymous-matomo-user commented 12 years ago

Attachment: Patch for Controller.php to fix the redirect to dashboard bug piwik-clickheat-fix-redirect-to-dashboard-bug.patch

robocoder commented 15 years ago

www.mapsurface.com has an interesting widget that combines click location information & some basic visitor information.

anonymous-matomo-user commented 15 years ago

notice to the Clickheart Integration. In the genereated JavaScript Code is a Link to Labsmedia.

anonymous-matomo-user commented 14 years ago

I extracted the file into my piwik dir and opened http://piwik.example.com/ClickHeat.php

My apache log shows: "PHP Fatal error: Class 'Piwik_Plugin' not found in /var/www/vhosts/piwik.example.com/httpdocs/ClickHeat.php on line 12"

Piwik version is 0.4.5

anonymous-matomo-user commented 14 years ago

is there any ongoing development of this tool? -> i like the idea behind it and especially for short term tests click heatmaps are important -> perhaps the overlay mode (like google does) is an opinion, because there is no need to create a grafic.

regards Kay

anonymous-matomo-user commented 14 years ago

I second kaystrobach's suggestion! Such a plugin would be very welcome, indeed!

anonymous-matomo-user commented 14 years ago

Hi,

great idea to develop such a plugin. I know that the provided tar.gz still is a development version. However I'd like to give early feedback from my first try with piwik-clickheat:

I extracted the current version (either from http://www.labsmedia.com/clickheat/piwik-clickheat.tar.gz or http://issues.piwik.org/attachments/5493/piwik-clickheat.tar.gz) to plugins/ClickHeat and activated it in Piwik. When opening ClickHeat - Heatmap from the menu I get an error page containing 5 warnings:

Warning: Piwik_ClickHeat_Controller::include(/PATH_TO_WWW_DIR/piwik/config/clickheat.php) href='function.Piwik-ClickHeat-Controller-include'>function.Piwik-ClickHeat-Controller-include</a>: failed to open stream: No such file or directory in PATH_TO_WWW_DIR/piwik/plugins/ClickHeat/Controller.php on line 48

[...]

Warning: Piwik_ClickHeat_Controller::include(plugins/ClickHeat/libs/languages/en.php) href='function.Piwik-ClickHeat-Controller-include'>function.Piwik-ClickHeat-Controller-include</a>: failed to open stream: No such file or directory in /PATH_TO_WWW_DIR/piwik/plugins/ClickHeat/Controller.php on line 49

[...]

After showing some similiar warnings it finally ends with

Fatal error: Call to a member function read() on a non-object in PATH_TO_WWW_DIR/piwik/plugins/ClickHeat/Controller.php on line 63

Maybe this feedback helps you to locate the problem (if any). Or is there a svn repository or the like where I could get snapshots from nightly builds?

Thanks a lot in advance (I'd really like to give piwik-heatmap a try on my testing system), Tino

dugwood commented 14 years ago

Sorry, I've been really busy these months... I'm looking at the package right now, I'll give you updates soon.

dugwood commented 14 years ago

I've just released a fixed release here: http://www.labsmedia.com/clickheat/piwik/piwik-clickheat.zip

Can anyone give it a try?

Matt, can you change the url in the description to match this new one? Thanks. Can we add this plugin in the main package?

dugwood commented 14 years ago

Installation instructions: just unzip the file in your piwik/plugins/ directory, as there's already a subdirectory ClickHeat in the archive. Then go to your Parameters' page in piwik, and enable the plugin.

Please report any error you may see, even if it's working, thanks.

anonymous-matomo-user commented 14 years ago

Hi,

I tested your fix. The reported errors in lines 48 and 49 disappeared. However it now shows other errors. Hope the following excerpts help!

Warning: Piwik_ClickHeat_Controller::include(/WWWDIR/piwik/config/clickheat.php) href='function.Piwik-ClickHeat-Controller-include'>function.Piwik-ClickHeat-Controller-include</a>: failed to open stream: No such file or directory in /WWWDIR/piwik/plugins/ClickHeat/Controller.php on line 57 ...

Warning: Piwik_ClickHeat_Controller::include() href='function.include'>function.include</a>: Failed opening '/WWWDIR/piwik/config/clickheat.php' for inclusion (include_path='/WWWDIR/piwik/core:/WWWDIR/piwik/libs:/WWWDIR/piwik/plugins') in /WWWDIR/piwik/plugins/ClickHeat/Controller.php on line 57 ...

Notice: Undefined variable: clickheatConf in /WWWDIR/piwik/plugins/ClickHeat/Controller.php on line 58 ...

Notice: Undefined index: logPath in /WWWDIR/piwik/plugins/ClickHeat/Controller.php on line 76 ...

And finally: Fatal error: Call to a member function read() on a non-object in /WWWDIR/piwik/plugins/ClickHeat/Controller.php on line 77

anonymous-matomo-user commented 14 years ago

After following blade106s instruction, this error occurs in Clickheat view

path = "/tmp/cache/clickheat/cache/" is not a directory or is "/"

preview of the website is available, but the height is only set to 20px

dugwood commented 14 years ago

I think you've both got the same error: can you remove the line: PluginsInstalled[] = ClickHeat

under [PluginsInstalled] in the piwik/config/config.ini.php

Then just list the plugins in the Parameters' tab.

The issue here is that ClickHeat is already installed, and the new install() function isn't called as it should be.

Matt: is there a function to run an upgrade, say I've made a change in a release, someone installs it but was on another release before, I want to update some things in his configuration file or anything else like this? Something equivalent to private function installPlugin( Piwik_Plugin $plugin ) in Piwik_PluginsManager.

anonymous-matomo-user commented 14 years ago

Hi blade106, I followed your instructions and indeed it now doesn't show any errors any longer when opening Heatmap. However I still don't see a Heatmap.

The group dropdown field is empty. The icons layout.png, reload.png and arrow-up.png from plugins/ClickHeat/libs/images aren't displayed at all (no access?). Clicking the links named "Layout refresh" or "Eigene Links speichern" or "Javascript" blanks the ClickHeat page.

Any idea?

dugwood commented 14 years ago

Do you have any Javascript errors? Which release of piwik do you use (I tested it against 0.5.4 only)? What browser?

May be you changed some paths in your configuration, and I mostly copied-pasted many things such as plugin directory and things like that (so bad there's no function to get the plugins' path easily or I didn't look enough).

The groups' list will remain empty until you click on a page with the javascript code installed on. So first issue is that you can't access the Javascript panel.

Does the following page work: http://yourwebsite.com/path/to/piwik/index.php?module=ClickHeat&action=javascript

you should see a badly shaped form.

anonymous-matomo-user commented 14 years ago

Hi, I managed to resolve the problem (I use piwik 0.5.4. Firefox 3.6).

The png's didn't show up correctly due to wrong access rights: After unzipping the zip file I had to change the access rights for directories and files: find ClickHeat/ -type d -exec chmod 755 {} + find ClickHeat/ -type f -exec chmod 644 {} +

Now the frontend shows up correctly!

@manne: I also found the solution for your problem. In piwik/config/clickheat.php you need to change line 3 to 'cachePath' => PIWIK_INCLUDE_PATH.'/tmp/cache/clickheat/cache/',

I will provide more feedback as soon as I tested ClickHeat. Cheers!

dugwood commented 14 years ago

Dawn it! I did fix the error of manne in my test, but I totaly forgot in the main file. So that's still an error, thanks tino for pointing it out.

For the rights on the file, I've reverted back to http://www.labsmedia.com/clickheat/piwik/piwik-clickheat.tar.gz (I can't find any good information in the zip manual).

anonymous-matomo-user commented 14 years ago

I just downloaded the latest version of labsmedia, but i still get this error:

The class Piwik_piwik-clickheat couldn't be found in the file '/----/stats/plugins/piwik-clickheat/piwik-clickheat.php'

dugwood commented 14 years ago

Hello Dominick,

You have to download this file: http://www.labsmedia.com/clickheat/piwik/piwik-clickheat.tar.gz

Then extract it, and move the ClickHeat/ directory into your plugins/ directory, so that you'll have: /path/to/piwik/plugins/ClickHeat/

Else it won't work. As the archive is made, you should extract it directly in the plugins/ directory of piwik

anonymous-matomo-user commented 14 years ago

hi,

do i understood correctly, that we need to add some extra js to the htmlsite to enable heatmap tracking?

I thought you add the code via the piwik api into the piwik.php output? => that would be perfect ;)

Thanks for your great work. Best regards Kay

https://github.com/piwik/piwik/blob/master/core/Tracker.php https://github.com/piwik/piwik/blob/master/core/Tracker/Visit.php

dugwood commented 14 years ago

Hello Kay,

Yes, you have to add some extra code to your webpage. That's because it's a totally different process, and further more you may not generate the same thing in piwik and ClickHeat depending on your needs (and I didn't use piwik enough to tell you if both can operate exactly the same way).

So for now it's a dedicated script. However, as we need to make a ClickHeat with MySQL support, I may take this point into account.

robocoder commented 14 years ago

blade106: I updated the URL in the description. There's no support, currently, for plugins to manage their own config file since Piwik_Option meets most use cases. But there is support for plugin-specific update scripts. (see GeoIP)

dugwood commented 14 years ago

vipsoft: I'm sorry, I've changed the path of the file (because of ZIP permissions...). So it's: http://www.labsmedia.com/clickheat/piwik/piwik-clickheat.tar.gz

I didn't see Piwik_Option. I'll look at it later, as it's working with basic information (although I had to change some of the main ClickHeat files, so I think I'll rewrite all the config module one day taking Piwik into account).

Thanks.

anonymous-matomo-user commented 14 years ago

Hi,

installed latest version with Piwik 0.5.4, but I am unable to activate the plug in. While it shows up in the list of plug ins, clicking "Activate" will only reload the same page with no changes. No errors in the log file, either.

Sorry

anonymous-matomo-user commented 14 years ago

Replying to jimbo:

Ups, now I could activate it, will test it now.

anonymous-matomo-user commented 14 years ago

Hi,

Installed Piwik 0.5.4 and the latest version of piwik-clickheat. Works like a champ for the primary administrator account within Piwik. (Fantastic job on this!)

However, we are having a problem when a standard administrator account logs in to their assigned site within Piwik and try to create clickheat tracking for their site. When they click on clickheat, Piwik loops & loops, refreshing the screen but never loading anything... the looping /refreshing seems to go on for an eternity... we've lost count on how many times it can cycle with no resolution to the request.

Our goal is for all clients to be able to have one or more clickheat maps for each of their sites & to be able to login to their specific Piwik account to see those clickheat maps.

Any idea on why it works for the primary system administrator but not for individual site administrators? It almost behaves like some sort of permissions issue, but for the life of me, I can't figure it out.

anonymous-matomo-user commented 14 years ago

Hi johnol,

I had the same loop & refresh problem on one of my sites. As far as I remember I had a special character (in my case the letter '') in the clickHeatGroup string in the java script code. Removing this special character resolved the problem.

Maybe this helps you, good luck Tino

anonymous-matomo-user commented 14 years ago

Replying to tino:

Hi johnol,

I had the same loop & refresh problem on one of my sites. As far as I remember I had a special character (in my case the letter '') in the clickHeatGroup string in the java script code. Removing this special character resolved the problem.

Maybe this helps you, good luck Tino

Tino, thanks for your help! Forgive my ignorance, but in what java script code? The generated code for a given group? If so, then the only code that has been generated is for the Primary Administrator /Site and that code is clean. If we are talking about a specific file, let me know. Also, -why would the looping occur for all other users but not for the primary administrator? Thanks again!

dugwood commented 14 years ago

That's true I didn't test it with another account... Rights are not easy to understand as I didn't look at the main piwik code at all. Let me look at this, I'll keep in touch soon.

dugwood commented 14 years ago

I can't figure it out... Another user with(out) admin permissions is working quite fine for me. Can you track the redirect? So we can see where the problem is. A good start would be to run LiveHttpHeaders (firefox plugin), to see what redirects are made (look for a Location:).

Perhaps the issue is in your website (the one loaded in the background iframe which appears behind the heatmap), with a redirect in Javascript. But if another account can see the page without the redirect that should not be the issue.

mattab commented 14 years ago

johnol, can you provide blade106 with your Piwik access credentials? seeing the error live would help debugging it. thx

dugwood commented 14 years ago

Just create a new user with the good permissions, and send me the link to your piwik statistics, that would be good. Thanks! (mail in the subject of this ticket)

anonymous-matomo-user commented 14 years ago

Replying to blade106:

Just create a new user with the good permissions, and send me the link to your piwik statistics, that would be good. Thanks! (mail in the subject of this ticket)

Thanks in advance for the help! The only user where Clickheat is working properly is the super-user. All other users fail. I have no problem with you accessing the super-user account in order to see what's happening. What Email address should I use?

mattab commented 14 years ago

please send your details to yvan DOT taviaud at m4am.net

anonymous-matomo-user commented 14 years ago

Hi there, i copied the Folder "ClickHeat" out of the ZIP-File in the "plugins"-Folder on my ftp. But i cant see the new Plugin in Piwik - have i anything to do?

anonymous-matomo-user commented 14 years ago

Please forget it - im such an idiot -_-

It was the Plugins-FOlder of Joomla, not of Piwik...

anonymous-matomo-user commented 14 years ago

Hmm how come nothing is showing up for me?

I'm running Piwik 0.5.5, and downloaded ClickHeat from here: http://www.labsmedia.com/clickheat/piwik/piwik-clickheat.tar.gz

I then uploaded the ClickHeat folder to /plugins/, and activated the plugin in the settings page - however when I get back to the 'ClickHeat' page in Piwik, all I get is a blank page with the loading gif. Not even an error...

What's wrong?

anonymous-matomo-user commented 14 years ago

Hi- in addition to the ongoing problem with other users outside of the main user not being able to access heatmaps, I found a configuration problem with Piwik 0.5.5. Specifically the .htaccess file in the plugins folder was creating a "Forbidden" error when a visitor clicks on an item on a page being monitored by clickheat. Because of the Forbidden error, even though the plugin reports that it is installed, none of the actions are recorded. If you disable the .htaccess file in the plugins folder, the clickheat plugin works. This is naturally dangerous and so I'm requesting that a revision be posted for how .htaccess should be configured to safely allow access to the clickheat plugin without giving access to the plugins folder. Thanks!!!

robocoder commented 14 years ago

Try creating a .htaccess file in the ClickHeat/libs folder that contains:

<Files click.php>
Allow from all
Satisfy any
</Files>
anonymous-matomo-user commented 14 years ago

Replying to vipsoft:

Try creating a .htaccess file in the ClickHeat/libs folder that contains:

<Files click.php>
Allow from all
Satisfy any
</Files>

That worked perfectly. Thanks much!

anonymous-matomo-user commented 14 years ago

Heyho I just tried to work with the Headmap on Piwik 6.0. By activating it i got a bunch of errors directly in the list of Plugins, so i had to disable it changing the config file. to see the errors: http://nick.jaussi.eu/error/index.php.html (a copy of the original file). Apart from that it looks like the Plugin was doing its work i guess. if you need more informations about the problem just send me a mail: techeroaleman@gmail.com

Thanks for your work!!!
Nick

dugwood commented 14 years ago

So far I've never tested piwik 0.6, so I can't tell what's going on. And I've too little free time to look at this issue right now. I hope someone can help you for now. From the errors, I would say that the file is loaded twice, but I've got no idea why. Does the heatmap work or not at all?

Tomcraft1980 commented 14 years ago

Unfortunately doesn't work with Piwik 0.6.1. No error messages are displayed, you simply cannot activate the plugin.