I hope I’m not starting a discussion about something that is discussed before. I could not find a topic about it. But if it exists already, please point it out to me.
I’m using Yii for a while now and I’m very happy with this framework. Every day I learn something new. Instead of writing everything myself I like to use other peoples hard work who are a lot smarter than me. That’s why I like the extensions. But it also confuses me a lot.
Let me give an example. I was looking for a way to save MANY_MANY relations in ActiveRecord. Via Google I found the extension: esaverelatedbehavior. Real nice, but then I found another one: cadvancedarbehavior. On top of that I found one that combines there ones together: activerecord-relation-behavior. And later I found at least 10 more extensions like these! It seems that a lot of people are doing the same thing over and over again.
Another point is that anyone can write an extension. I don’t know if one is okay or written by a newby like myself what could result in trouble. The comments tells me something, but still…
Also a lot of them are not up to date. Some point to Github, some don’t mention it so I found out later that I was working with an outdated version.
And it’s not clear to me where to look. We’ve got:
Thanks, I will follow this algorithm. But step 1 is my first trouble. I find like 20 extensions that do almost the same. Should I test them all? Which one is the best, which one is maintained right etc.
But imagine you would have to use this algorythm for an iPhone app? Instead of just browsing the Apple store. If Yii has one central place for Extensions, that would be awesome right?
But the confusion is also because there is a Yii Extension section and there is Github. Some extensions can be downloaded from the Yii Extension section, some on GitHub and some both. Why not disable the download option in the Yii Extensions section and connect GitHub as a default?
Improve the Yii Extensions section to see in a blink of an eye if an extension is populair, downloads, latest update (connected with GitHub data) and maybe even reviewed by an expert.
I would say something like this:
This is only the design part, but the connection with GitHub as a default is more important if I could change one thing.
But with a design like above, and I could select on the columns, I can find the right candidates much faster and check the top 5 of most downloaded, discussed and best maintained easily.