Hi everyone,
I was just browsing through the (official) Yii extensions repository and thought: what a mess. There are currently a lot of issues:
[list=1]
[*] There aren’t any coding standards for writing extensions.
[*] Source Code is hosted anywhere. Some people really release on yiiframework.com others have ancient versions in the database here and refer to some Github or GoogleCode page where the source locates.
[*] Issues and problems are the same story. Some are in the comment section for the extensions, some are in the forums here, some are on GitHub issue tracker, …
[*] Contribution is hardly possible. Most extensions are released under a license that allows contribution, however on this site it is made extremely hard. As (I think) only the creator of the extension can make changes to it, some (good) extensions can’t be driven further, because the creator is gone, not active anymore, or doesn’t want to maintain it anymore.
[*] Many extensions for the same job. Just look at category "mail" in the extensions repository. Nearly each extension does the same thing. Two of the three most popular extensions (mailer + yiimailer) are actually wrappers for the very same class. I think this is mainly because of #4 (participation is hard).
[*] Most of us don’t earn money directly with Yii itself, so few want to maintain extensions forever. Maybe a few volunteers or parts of Yii core team can maintain them, so that bugs that are known for years don’t stay unfixed. Right now after downloading an extension I first read all the comments if there are bugs that haven’t been fixed yet. Maintaining extensions with little activity also takes no effort, but if someone wants so submit a Patch/Pull Request it would be cool it could be applied.
[*] Enforce basic information such as demos (at least screenshots or something) and put it in a more prominent place. Especially in UI (which currently make up about 40%) this should be a must.
[*]Composer support. This has been discussed a lot for Yii 2 core and it should also be there for extensions. This even alleviates #7 a little bit, since testing on your own can be a lot faster.
[*] Politics. Mention extensions somewhere in the guide or some place. Take a extension like Giix for example. You can make your extension perfectly fine without it, so you probably won’t search for something like that. When you stumble upon it some day, you probably have created all the models and CRUD. This practically makes Giix only usable from project 2 onwards. Why don’t tell this to people BEFORE they struggle to make their applications with plain gii?
[/list]
Open for discussion. Obviously,not all of you will agree on everything, but most people will agree that some changes should (must) be made.
P.S.: Yes, I know, there is http://yiiext.github.io. However, I think many people do not as it isn’t actively promoted anywhere here. (Probably because it’s inoffical. Also see #9) This actually would help on quite a few points.