At Piwik, our mission is to provide the best open analytics platform. Part of our mission is to make it as easy as possible to measure and collect data within Piwik from everywhere.
There are already dozens of integrations for other tools that make it easy to track data in Piwik from Wordpress, Drupal, other CMS, Ecommerce platforms, and much more. Besides these integrations with the most popular tools / CMS / Ecommerce (all of these are maintained by community members), it is very important for the success of the Piwik platform to also provide official SDKs for the most popular programming languages.
All creators/maintainers of our official SDK are part of the Piwik team and listed on our official team page.
There is not yet an official Piwik SDK for the following programming languages:
Creating and maintaining an official Piwik Tracking SDK is a awesome way to make a big positive impact on Piwik!
If you are familiar with any of these technologies and would like to participate into growing open source project, let's start the discussion :+1:
Hi, I'd like to hand over my Node.js client for the Piwik Tracking HTTP API (mentioned above), if you're interested.
It's just a thin wrapper around the HTTP API calls, so it shouldn't require too much attention regarding maintenance. I don't think it makes much sense to change/integrate the JS client API, as most functions relate to browser interactions.
Hi @nkuttler , @mattab :
I am interested in maintaining the Python SDK. Is this the proper place to make this request?
Thanks
Awesome to hear @brendoncrawford and welcome to the project! As you now have permission to create/merge PRs and push commits, we're looking forward to see what you make. Probably the Python SDK needs a rewrite to ultimately use more modern APIs and we can discuss this in the Python sdk repo.
@fhemberger Thanks for the offer of handing over your project to the Piwik community. If anyone reading is interested in improving the Node JS Piwik Tracking SDK please leave a comment :rocket:
@mattab Well, this issue doesn't get much feedback. ;)
The Node.js Piwik Tracking SDK is feature complete (it's basically just a simple wrapper doing the necessary HTTP tracking call to your Piwik installation), so I don't expect it to need much maintenance in the future.
But as I personally don't really use any sort of analytics, I think the Piwik org would be a great place for it.
@fhemberger If no one else volunteers, I would be able to maintain it (as in updating dependencies and going through pull requests, as I don't think there is anything to add to it)
If @mattab wants to, we could then move it to the piwik/ organisation.
That's great @Findus23 :tada:
@fhemberger would you be OK to make me an admin on the repository so we can move it to the piwik org?
@mattab I can only make you collaborator, but that doesn't give you admin access.
According to GitHub, I need to be given temporary rights in the piwik org to create new repos:
https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/#transferring-to-an-organization
@fhemberger
In theory it should work if you transfer the repository to me or @mattab (even though that didn’t work when we tried it with my icon repository)
@Findus23 Okay, initiated repo transfer to your account.
@fhemberger And I forwarded it to https://github.com/piwik/piwik-tracker
And it seems like travis also migrated without issues:
https://travis-ci.org/piwik/piwik-tracker/builds/325788795
@Findus23 guess we should rename the repo to something like piwik-nodejs-tracker, to have a consistent naming with the others?
@sgiehl
I agree, but I am not able to rename it.
I guess @fhemberger also has lost commit rights with the transfer, so it would be nice if you could readd him.
don't have admin rights for new repos as well. Needs to be done by @mattab or @tsteur
Repo is also referenced on https://piwik.org/integrate/#programming-language-platforms-and-frameworks, link needs to be changed as well.
@mattab @Findus23 Who would be the owner of the package on npm? So I can transfer rights there as well.
@fhemberger
I tried around a bit and made some minor changes (on a devel branch as I won't have much time in the next weeks to work on it)
What do you think about using something like babel so the people who want to use it in browsers can't complain?
@Findus23 No need for Babel, everything except https://github.com/piwik/piwik-tracker/pull/41 is ES5 and people are already running it in the browser.
Changes look okay (only had a brief look), you may want to squash some commits when merging into master.
The repository has been migrated to https://github.com/matomo-org/piwik-nodejs-tracker - we could rename it to matomo-nodejs-tracker at some point?
Thanks @fhemberger for your contributions to this project and hope we can take this forward!
@mattab
a) You still need an account at npm to manage the package, at the moment, I'm still the maintainer
b) If you rename the package, make sure to deprecate the old package name: https://stackoverflow.com/questions/28371669/renaming-a-published-npm-module
PR for renaming Piwik -> Matomo: https://github.com/matomo-org/piwik-nodejs-tracker/pull/42
@mattab I guess we can rename it now
@fhemberger Thanks for the PR, I'll fix the remaining URLs after the renaming and have now created a npm account: https://www.npmjs.com/~lw1
@Findus23 Made you owner on npm.
I'm waiting for @mattab to rename the repository to matomo-nodejs-tracker, then we can deprecate the old module on npm and publish v2.0.0.
@Findus23 you're now Admin on the repo as well. Might give you the permission to rename it?
I have now published matomo-tracker and deprecated the old package.
➜ ~/tmp npm install piwik-tracker
➜ ~/tmp npm install piwik-tracker
npm WARN deprecated [email protected]: WARNING: Because of the recent renaming from Piwik to Matomo this package is now called matomo-tracker. Please update your dependencies and code accordingly.
npm WARN saveError ENOENT: no such file or directory, open '/home/lukas/tmp/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/home/lukas/tmp/package.json'
npm WARN tmp No description
npm WARN tmp No repository field.
npm WARN tmp No README data
npm WARN tmp No license field.
+ [email protected]
added 1 package in 0.252s
@Findus23 Awesome. Removed myself as npm owner from both packages, it's all in your hands now. Godspeed! Of course, if you have any questions in the future, just ping me.
Most helpful comment
Hi @nkuttler , @mattab :
I am interested in maintaining the Python SDK. Is this the proper place to make this request?
Thanks