Plugins have a new home
July 31, 2008
•
Published by
Fabien Potencier
The symfony plugin system is the easiest way to contribute to the symfony project. Plugins are easy to write, easy to package, ease to install, and they can override everything in the framework.
But how do you answer questions like these: Is there a plugin to add the "foobar" feature to my project? Does my favorite plugin work with symfony 1.1? What are the plugins compatible with Doctrine? Who is the leader of this plugin? How can I contribute to a plugin?
I can go on and on. It is not easy to answer any of these questions with the current plugin management system, aka Trac. Trac has served us quite well for over the last two years, but with more than 200 available plugins, it was clear that we needed a better, dedicated system.
So, I am pretty happy to announce that I have just deployed a new version of the symfony project website with a brand new "Plugins" section (look at the top menu entries) to replace the Trac plugin management system.
Features
Here is an overview of the main features of the new system:
The plugin homepage lists all the available plugins. You can filter them by the symfony version, by the ORM tool you use, or by author or plugin name.
Each plugin has a dedicated page with some general information, the license text, the installation process, the README file, the dependencies, the list of all releases sorted by symfony version, a contribute panel, and an admin panel for the plugin developers. The page is even customized for each plugin version.
All information are linked together which means that you can easily find all the developers of a plugin, or all plugin from a developer, ...
The plugin lead developers have access to an admin panel to manage their plugins (description, categories, ...), to upload new releases, and to manage the plugin team.
Each plugin can have several people working on it with three different roles:
developers: They have access to the plugin repository (if the plugin is hosted on the symfony repository)
packagers: They can upload new releases and delete old ones
leaders: They can do everything with the plugin
From now on, you have to ask the authorization and be accepted by the lead developers to work on an existing plugin. The process is very easy because everything is done online in the contribute and the admin panel. So, everything is automated, from the creation of your account to the SVN authorization.
The plugins are now categorized by the lead developer directly in the interface. And, when a significant amount of plugins will be categorized, I will enable the category filtering on the homepage.
As all the trac accounts have been migrated to the symfony website, you can login today with your existing Trac account. So, the same account is now used for Trac, plugins, and Subversion.
Plugin developer notes
With the migration, some changes have occurred. Here are the main points you need to be aware of as a plugin developer:
The information displayed on the website comes from the
package.xml
file. So, all plugin leaders are encouraged to check their plugin page and fix their package file if needed.The license panel displays the
LICENSE
file of the PEAR package if it exists. If not, please add aLICENSE
file at the root of your PEAR package with the license text.The readme panel displays the
README
file. The official format of this file has changed from the Trac wiki markup to Markdown as it is the format used everywhere for the symfony documentation. There is an on-the-fly conversion from the Trac wiki markup to Markdown but as the conversion is far from perfect, you are encouraged to convert your README files to the Markdown syntax.The import script automatically associated the plugin leaders with their plugins, but it only worked if you have associated an email with your trac account and if this email is the same as the one used in the
package.xml
file. About 85 plugins don't have any leader for now. If you are a leader for one of these plugins, please send me an email with the plugin you claim and your username (fabien.potencier [(at)] symfony-project.com).Some plugins have not been imported because of some errors. If your plugin is not listed in the new system, please have a look at the plugin error page to know the reason. If you don't know how to fix the problem, send me an email and I will try to help you out.
The plugin Trac pages are redirected to the new application, so the transition for the end users is quite easy.
The forge
The new system does not replace the current Trac ticketing system, and it does not provide a dedicated Subversion repository for plugins. That's because the system is not a replacement for the symfony forge project. We are still working on the symfony forge to provide tools for your plugins: dedicated Subversion repository, ticketing system, wiki pages, and more... Stay tuned!
I hope that the new system will ease the plugin management and will give more visibility to all the great symfony plugins we have.
Help the Symfony project!
As with any Open-Source project, contributing code or documentation is the most common way to help, but we also have a wide range of sponsoring opportunities.
Comments are closed.
To ensure that comments stay relevant, they are closed for old posts.
Now that it's paged, could the search box also search the description field, or a category filter? i.e. a search for 'validation' should return me sfPokaYoke, or 'javascript' should return all related plugins.
Indeed, perhaps it could be cool, to have "lists" as before in the wiki, to quickly see all plugins available for a category. (without pagination)
Adding a popular downloads section would add to value IMO.
It would provide a quick snapshot on what plugin is being used more throughout the symfony community.
Thanks again!
Imho Pear is the worst thing that happened to php. Screw their how to make package documentation.
Just one enhancement (I hope it's a little one) would make it perfect: a printer-friendly format that concatenates all information from all tabs ("Plugin info", "License", "Installation", "Readme" etc etc.) onto one single printable page. This would avoid printing out each tab individually, as needed now.
Maybe it's basically a matter of adapting the CSS for printing mode?
Cheers RAPHAEL
sfDoctrineGuardPlugin .
Besides the 'Plugin' link it doesn't appear in the forum header
This morning, I was looking for the documentation plugin in your great new plugin homepage. Difficult to find it because the "project management" category whose sfPHPDocumentorPlugin belongs to disappeared. Have you planned to set this category again ?
regards,
i do understand you tried to improve the interface to the plugins and plugins is a big advantage of symfony. But you did so without properly testing the new version. which is quite buggy.
i do understand that bugs are part of software developement. but additionnaly you disabled the old list which contains a lot of documentations and which was working.
But please understand, that symfony users are now without documentations due to your choise to disable the old working version.
To me, your attitude on this has been totally unprofessional!! please reenable the working version with the docs while the one is beeing debugged
see http://www.symfony-project.org/blog/2008/08/07/some-news-on-the-new-plugin-system
thanks for your reactivity
You may not like a particular move, but you appear to be forgetting that you are getting the benefits of this software and associated services for free. Accordingly, rather than offering thanks with constructive criticism, you have just been rude instead. Let me suggest you should try to be nicer in your posts, if you intend to be part of the symfony community.