New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Download and install plugins from (central) repository from within Piwik admin UI #1116
Comments
Attachment: screenshot |
Anthon, I would like to see such an effort hosted by Piwik itself, for example on a subdomain at plugins.piwik.org ? I would gladly let you lead this project. I believe there is an enormous value in having such a feature in Piwik; this is what made Wordpress what it is now. This also very much in line with our objective to increase the number of third party plugins. Let me know your thoughts :) |
As someone new to piwik, it took me a while to find the plugins at trac. That's why I would like to have such a central plugin to find and install plugins. BUT: I would prefere it to be hosted by piwik, not by a third party. A plugin like this has quite some power over my system, being a kind of gatekeeper. And although I have no reason to mistrust VIPsoft or ActiveAnalytics.net (never heard of them before, so no offense, guys), I would rather trust piwik.org. |
jimbo: you missed the part about "during development". |
I took a look on the powerup website, functionality looks nice, but there should be an restriction which allows only users with trac logins for piwik.org to upload plugins. Then there should be an option to reserve Pluginnames, during the first phase of development - as there won't be and upload at first ... . Additionally the user should be forced to upload the code to a piwik.org server, and not specify a download url.
Great work so far - go on ;) |
oh and i forgott to say, that developers should sign a copyleft agreement to have the rights of the opensource plugins ... Sth. like http://www.tine20.org/licenses/metaways_icla_1.1.pdf Best regards |
Kay, all good points. We're discussing internally how the plugin repository should work and this is a work in progress :) but certainly a great idea! |
At the moment, I want to focus on getting the plugin and backend server working to my satisfaction. Policies and hosting infrastructure are relevant discussion, but not in this ticket. |
@vipsoft: absolutly a great idea and that's why i spend the time to give feedback ;) of course software is work in progress, i just wannted to provide some feedback to make id eveb better ;) Best regards |
I talked with Piwigo project lead, who built the system to host Piwigo's plugins.
PEM project is open source and available at: https://gna.org/projects/pem/ Piwigo project lead is also dev of this software and they are planning to improve the UI aspect of the "plugin listing page" to make it a bit easier to navigate. But other aspects are working and in production for a few years now. I think this solution could help us a lot and save us of similar features. The project is active and in production, and I didn't find other similar projects while searching for it. What do you guys think? |
The Typo3 extension manager is also a potential candidate: |
GA Application Gallery: http://www.google.com/analytics/apps/ |
Designate "Piwik Labs" for plugins in alpha/beta/preview state that users can test drive and provide feedback. |
Maybe we can just flag Alpha/Beta plugins clearly as being non stable, the other state being 'stable' ? They could both be listed in the same UI, etc. |
Add ability to install third-party libraries (./libs), e.g., HTMLPurifier. This keeps the core distribution smaller, and allow for independent updates (i.e., not tied to Piwik's release schedule). Whether or not we track the dependencies is debateable. For example, the HTMLPurifier stubs will use a mock object if the library isn't installed. Another example would be Zend Framework. It has a large footprint, so we include only a subset of the components. If the Example plugins were moved to the repository, then Zend_Feed, Zend_Uri, Zend_Validate, ... could be separate. |
As an addition to Alpha/Beta/Stable we should add a "Reviewed" state for plugins that were reviewed by at least one Piwik developer. This would add additional credibility to some plugins. Could also be offered as a service by trusted Piwik consultants. |
problem is that the 'reviewed' state should be reset at each plugin release (since we would have to re-review each release) |
in TYPO3 there reviewed extensions - but correct there is a review needed for every release. Additionally there is a discussion about common / suggested plugins. - What about such a state? (Doesn't need to be reviewed every release, but regularly ... ) Regards |
Hi, I started a project along those suggestions. Of course the project is after about one month in a early stage, but it provides a lot of the specified functionality:
Of course the wishlist is very long for such a project... |
This is awesome, very promising and exciting. So many users would benefit from an open plugin repository for Piwik analytics! However I have to be honest: there will be quite a lot of work to re-code or simplify the code a lot. I will give a code review and various thoughts/feedback. I look forward to the next iteration and will try to give feedback asap. Code/UI review:
Plugins repository:
Awesome that you integrated already 10 plugins! The integration in the admin settings should be better I think and be fully integrated within the existing "Plugins" menu. There should be a submenu for "Listing Third Party plugins" and "Add new plugin" (submenu are coming in admin: #1552 ) Ok Review done, that's a lot of feedback, Looking forward to seeing all the changes applied and reviewing next iteration. Let me know if I can help you in any way or if you have any question! |
hi matt, thanks for the quick review. I have to think about each single point... Correct me if my overall counclusion fails:
after christmas holidays we'll go further |
Perfect... building such a important and "central" system for the Piwik architecture, will be definitely core code at least for all the code dealing with enable/disable etc. the Plugins. The installation process is slightly complex, but all this complexity should be within a new class "PluginsManager_Updater" or similar, that will contain this logic. But the updates should be picked up by the CoreUpdater anyway so if they contain any DB update, it will be executed on next refresh ?
Yes, just do the most simple way: the updates should always be checked by default for example (no need to set a special getInformation() flag). Let me know any other problem or missing getInformation() so we can add it if reqiured. The general idea is to integrate all changes into the core file so that this plugin is simply a very basic UI to call the "plugins.piwik.org" API to get the JSON list of plugins. Does it sound good? Enjoy the end of year! See you next year and looking forward to working together on this amazing project! |
Hi, I used the time until piwik went to github:
Replying to matt:
The PluginsManager is not able to explore plugins outside of plugins/*. Most of the PluginsManager methods are declared as private. Without refactor this code, is was not possible to derive the class, so I decided to go the proxy-way as far as possible.
You call it shocking. I call it, as you might have read in the comments, proxy with extreme caution. Most of the steps using the Plugin__/Core__ classes, as far as they were implemented there
simple? get marketplace info, download, unzip of course no side effects, no compromising the piwik installation quite easy, sure ;)
Erm, almost all installers I know are running that progress bar UI. I cant see the benefit for the user, to change this well-known behavior.
12, if they would not fail the Sandboxtest
The last thing, I want to implement is the CLI-mode. Then I could care about integration/merge the functionality to the core |
Thanks everyone for the discussion and suggestions. Im closing this ticket because it's getting long and scope too broad. @csuenkel2 sorry we wont use your code as is, as you know we would choose to improve core rather than write code around it. The plugin marketplace code will be minimalist / KISS. Plugins repository V1 will be built for Piwik 2.0 only. Will create ticket in a few weeks once we flesh out details. |
Proposal:
The client is a Piwik plugin. The server, hosted at ActiveAnalytics.net during development, will be moved to plugins.piwik.org.
Offer delta releases which package only the changed files; the update script would remove any files deleted from the distro.
Related tickets:
Out-of-scope for the first iteration of this plugin and ticket:
The text was updated successfully, but these errors were encountered: