New features for the plugin system
August 10, 2008
•
Published by
Fabien Potencier
My previous post about the plugin system generated some more feedback from the community. The requested features make sense, so I have implemented most of them. The new version has been deployed with the following new features:
Plugin developers have now a new description field to give an overview of the plugin. This field does not depend on a specific version of the plugin and is displayed on the main "Plugin Information" tab.
Each plugin can be bound to an ORM. This property was previously set automatically based on the name of the plugin and some weird heuristics. This field is now set by the plugin developers. So, the ORM information will be more accurate than before.
Developers wanted a way to test their README file before releasing a PEAR package. They now have a Markdown dingus page to test the conversion to HTML. This page also contains a Markdown cheatsheet.
Most plugins still have their README file in the trac wiki syntax. To ease the conversion to Markdown, you can now download the Markdown converted by symfony in the README tab. As the conversion is far from perfect, you will have to tweak it a bit, but this is a good starting point.
The plugin system relies on some conventions to display most of its information. These conventions were not really documented anywhere. So, I have added a developer FAQ which answer most of the questions I receive by email. If you think you have a question that need to be answered there, feel free to send me an email and I will try to answer it.
When you upload a PEAR package, symfony validates your package and give you some errors if something is wrong with your package. I have added a new switch: the "strict mode". When enabled, symfony also checks the conventions. So for example, under strict mode, the LICENSE and README files become mandatory. More checks will be added in the future.
The search module was enhanced with a new stability flag. It is also now available as a dedicated page. The search engine now responds to GET requests, so you are now able to bookmark or copy/paste some search results (here is the plugins in the security category for example).
That's all for now. But keep in mind that the system will be much better when all the plugin developers will have tagged their plugins and updated their package.xml
files. So, if you are a plugin developer, please take a minute or two to login to the system and give us as much information as possible on your plugins. And if you have not uploaded a PEAR package yet for your plugin, it's time to do so.
On a side note, we still have 45 plugins without any lead developers. If you are one of them, please send me an email to claim your leadership (don't forget to give me the plugin name and your trac username).
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.
For markdown, I also found this nice tool that can be downloaded and run offline with live preview and Wysiwyg Markdown Editor:
http://attacklab.net/showdown/
thank a lot for that great job !
I still have, however, some prblems editing my trac imported plugins: every action end in a "An error occured while saving."
Your work very, very fast!
- The field 'bound to an ORM' is required, but it does not have a choice for 'none' if the plugin is not bound to an ORM.
- When I tried to upload a package, I get a blank page on http://www.symfony-project.org/plugins/sfDtAjaxPlugin/add_release#new_release and no package is uploaded. I tried strict mode or not.
- First problem solved
- Can you send me your PEAR package by email, so I can investigate the problem?
till the new plugin system were working well. I 'd be really nice to include the ability to make a search in the description of the plugin. For example if i do a "ajax" search there is 3 plugins. But if i look in the old page i find more matches with the word ajax. I needed some plugin to help me upload files with ajax request. So if i could search 'file upload' i'd probably find the 'sfSWFUpload' which i couldn't find with the new system if i didn't know the plugin name. Sorry for my english, i hope you understand my request.