Plugins in symfony are the easiest way to contribute to the development of the symfony framework. Plugins are easy to write, pack, install and they can rewrite anything in the framework. But the existing system of working with plugins cannot answer the questions:
Is there a plugin that adds “just such a thing”? Does my favorite plugin support the new version of symfony 1.1? Is the plugin compatible with Doctrine? And what are the most popular plugins? How can I help improve the plugin? With the current Trac plugin control system, it’s hard to answer these questions. Now there are more than 200 plug-ins in the system, which is why it was decided to make a separate system for them. Well, now we have a completely new section " Plugins " (in the top menu), which added the good old Trac.
What can
Below is a list of features of the new plugin system:
The plug-ins page displays all existing plug-ins at the moment, they can be sorted by symfony version, by ORM model used, by author or by plugin name Each plug-in, as before, has a separate page with information about the plug-in, with the license text, with the installation process, readme, dependencies, list of releases sorted by symfony versions and the admin panel for the plugin developer. This page can also be customized for each version separately. All information is linked to each other, this means that you can easily find all the developers of the plugin, or all the plug-ins of the selected developer. The owner of the plug-in (its main developer) gets access to the admin control panel of the plug-in (editing the description, categories, ...), downloading new releases and managing the development team of the plug-in. Several developers with different rights (roles) can work on each plugin: - developer : has access to the plugin repository (if it is located in the symfony repository) - collector : can download new releases and delete old ones - owner (leader) : what he wants and does with the plugin Now, if you want to help develop an existing plug-in, it’s enough to ask for access from the owner of the plug-in. This process is very simple, as now everything is automated, from creating account to authorization in SVN Categories that include plug-ins can be selected by the owner (main developer) of the admin control panel plugin. And when most of the plug-ins grow into categories, it will be possible on the main page of the plug-ins to sort them also into categories. All trac accounts have been transferred to the new system, and now you can log in with your existing trac account . Those. similar accanuts are now used for Trac, Plugins, and Subversion.
For plugin developers
During the transfer to the new system, there have been some changes. Below is a list of the main points to consider when developing plugins:
Information about the plugin displayed on the plugin page is taken from the package.xml file. Therefore, all owners of plug-ins should check and correct their package files.
The "Licenses" section in the admin panel of the plugin will show the PEAR package LICENSE file if it exists. If not, then please add it to the root of your PEAR package with the text of the license itself.
The “readme” section will show the README file . The format of this file has changed from Trac wiki markup to Markdown, as this format is used throughout the symfony documentation. Converting to Markdown from the Trac wiki markup happens automatically, but since it leaves much to be desired, you need to check the README file for compliance with Markdown syntax
The import script automatically linked the owner of the plugin with its plugin, but it worked if the email in your trac account coincided with the email you specified with the package.xml file. At the moment, about 85 plug-ins do not have owners (we attack and disassemble, to whom the plug-in!). If you are the owner of the plugin and you cannot access it, send an email with the name of your plugin and login to Fabien (fabien.potencier [at] symfony-prokect.com)
Some plugins were not migrated as they were with errors. If you did not find your plug-in in the new system, then look at the plug- in page with errors in order to find out the reason. If you do not know how to overcome the problem, write to Fabien should help
The page with plugins in Trac is overflowed to a new page of plugins, so that users will get where they want.
In conclusion
The new plug-in system does not replace the current Trac system, and also does not offer SVN repositories for plug-ins. This is because the new system does not replace the symfony project formation system. The developers are still working on such a system, which will provide for our plug-ins a dedicated SVN repository, a tracking system, a wiki, and a whole lot of different things ... So stay in touch!