Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Plugin for feedburner integration using the feedburner API #5479

Closed
mattab opened this Issue · 15 comments

3 participants

Matthieu Aubry Anonymous Piwik user Anthon Pang
Matthieu Aubry
Owner

The feedburner feeds statistics could be included in the piwik interface, using the convenient feedburner API.

Data to be included:

  • clickthroughs,
  • nb of items views,
  • nb of subscribers
Anthon Pang
Collaborator

See also ticket #307.

Anonymous Piwik user

So there are two ways to go with this, and I furnish the plugin as is, or tailor it to meet those needs.

  1. The plugin provides summary data for entire feed (Circulation, Hits and Reach) and can be compared over a date range.
  2. The plugin provides a detailed report on each item within the feed (itemviews, clickthroughs) for the last day, or over date range.

Which do you think is more valuable, or should I just provide both?

Anonymous Piwik user

So scratch that last comment, it seems the api that provides item details is returning a 500 error for the time being.

SO i have wrangled all the data, but I can’t find any decent documentation on using graphs. I would like to populate a line graph with circulation, hits, and reach for the last 30 days or so.

Any advice? Has anyone suggested dOxygen or another API generation tool?

Anonymous Piwik user

There’s what I got so Far. Feedburner Plugin 1.0 .

Matthieu Aubry
Owner

hello, thanks for your code submit. However to be considered by the Piwik and accepted in trunk, please first review your code to apply to the [Piwik coding standards](wiki:CodingStandard): separate your html code in a template, clean comments, clarify variable names, etc.

Thanks

Anonymous Piwik user

After Update to 0.2.35 I have the following issue. The error is displayed instead of the dashboard

Missing argument 4 for Piwik_AddWidget(), called in /var/www/web5/html/piwik/plugins/Feedburner/Feedburner.php on line 36 and defined 
in '/var/www/web5/html/piwik/core/PluginsFunctions/WidgetsList.php' at the line 7

#0  Piwik_ErrorHandler(2, Missing argument 4 for Piwik_AddWidget(), called in /var/www/web5/html/piwik/plugins/Feedburner/Feedburner.php on line 36 and defined, /var/www/web5/html/piwik/core/PluginsFunctions/WidgetsList.php, 7, Array ([widgetCategory] => Feedburner,[widgetName] => feedburner,[controllerName] => Feedburner statistics)) called at [/var/www/web5/html/piwik/core/PluginsFunctions/WidgetsList.php:7]
#1  Piwik_AddWidget(Feedburner, feedburner, Feedburner statistics) called at [/var/www/web5/html/piwik/plugins/Feedburner/Feedburner.php:36]
#2  require_once(/var/www/web5/html/piwik/plugins/Feedburner/Feedburner.php) called at [/var/www/web5/html/piwik/core/PluginsManager.php:282]
#3  Piwik_PluginsManager->loadPlugin(Feedburner) called at [/var/www/web5/html/piwik/core/PluginsManager.php:242]
#4  Piwik_PluginsManager->loadPlugins() called at [/var/www/web5/html/piwik/core/PluginsManager.php:161]
#5  Piwik_PluginsManager->setPluginsToLoad(Array ([0] => CorePluginsAdmin,[1] => CoreHome,[2] => Widgetize,[3] => Actions,[4] => Dashboard,[5] => Referers,[6] => UserSettings,[7] => UserCountry,[8] => VisitsSummary,[9] => VisitFrequency,[10] => VisitTime,[11] => VisitorInterest,[12] => ExamplePlugin,[13] => Provider,[14] => Login,[15] => UsersManager,[16] => SitesManager,[17] => Installation,[18] => Feedback,[19] => LanguagesManager,[20] => CoreAdminHome,[21] => API,[22] => ExampleRssWidget,[23] => DBStats,[24] => ExampleAPI,[25] => CoreUpdater,[26] => Goals,[27] => Live,[28] => Feedburner,[29] => CoreHome,[30] => CoreUpdater,[31] => CoreAdminHome,[32] => CorePluginsAdmin,[33] => GeoIP)) called at [/var/www/web5/html/piwik/core/FrontController.php:224]
#6  Piwik_FrontController->init() called at [/var/www/web5/html/piwik/index.php:52]

As temporary solution I disabled the plugin in config.ini.php

Anonymous Piwik user

This error should be because of Changelog:

  • API CHANGE: the API for the function Piwik_AddWidget has changed. The new API is Piwik_AddWidget( $widgetCategory, $widgetName, $controllerName, $controllerAction, $customParameters = array()). See examples of calls in all the core Piwik plugins. This change was necessary to make widgets more modular (they now accept custom parameters).

It is probably pretty easy to add the missing argument, but I don't know what to add. Could somebody help, please?

Anonymous Piwik user

I have updated the plugin to work with the recent API updates and versioned it major 1.0.

Anyone who downloaded prior to July, please update

I have diligently refractored the code (html in template,etc) as and commented thoroughly as per your feedback.

Anonymous Piwik user

Oh yea, maybe I should be the owner of this ticket since I am the only one actively working it..

Matthieu Aubry
Owner

masterkeedu, do you think we should include this plugin in core?
Does it work with both users from the old feedburner URLs as well as users who already migrated?

I put you owner too.

Anonymous Piwik user

@Matt

To be honest, I am not sure as I only have one feedburner account ;)

I can tell you that Piwik works. If anyone is still on the old Feedburner accounts please share your URI and I will test it.

Anonymous Piwik user

The plugin does not handle the old urls. What's more it is not at all graceful with the error. I'll be updating the code to handle the error, and maybe the old urls.

Matthieu Aubry
Owner

(In [1905]) Fixes #5479
Thanks Eddie for the patch!

I also made a few changes:

  • using common Piwik function Piwik::sendHttpRequest to fecth remote data
  • added error use cases (empty data back, feed is not authorized)
  • cleaned up CSS
  • when the feed name is updated, the widget will automatically reload (added helper functions in dashboard JS object to reload a widget)
Matthieu Aubry mattab added this to the Piwik 0.5.5 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.