Modular Movement
It has been very exciting for me the past couple months in the Zend Framework world. This buzz about modular development with ZF is cool--people are really starting to see the need for reusable modules. Adam Jensen offered up a reusable content module prototype in June and today Pádraic Brady made a great post about self-contained, reusable modules. Exciting times, indeed: I'm sure I can speak for any developer that has tried to sell a client or upper-management on the idea of rolling custom is an uphill battle; even with a library like Zend Framework behind you, it's just plain expensive--especially when they know very flexible solutions like Drupal exist.
Get some modules
So about a month before 1.8 and Zend_Application was released and I got momentum rolling on [tentatively named] ZFComponents.com to help bring the next wave in for Zend Framework (yep, this blog post is a massive plug for it). To re-state it's purpose if you haven't heard of it before now: ZFC will be a resource to exchange your reusable Zend Framework modules to other developers for free (as always and forever). But what is involved in such a resource? Well, it requires a web site, obviously, but further there are no real standards for modular development. Sure, we have a directory structure and autoloaders, but what then?
That's when I hit a roadblock and the project stagnated for awhile. Enter IRC, #zftalk and Ryan Mauger (Bittarman), who has been very helpful in keeping me on task to getting things done. We decided that the best way forward would be to create a base application which would create standards for developing reusable modules on. From this, I've been working on ideas to create reusable modules through configurators, installers and module plugins. While reading Pádraic's post, I realized that some things should definitely be put into Zend Framework itself. As I sadly take my walk of shame: it hadn't even occurred to me to contribute code to the library. Needless to say, now I'm all giddy on helping where I can on Pádraic's proposal, while still keeping my extraneous pieces out and in the base application.
Where are we at?
But what of ZFComponents? Where is that at? Well I'm glad you asked. First, a look at the first-release features. They're humble, but I think perfect to get running:
- De-centralized project storage: Keep your repositories where they are (tested GitHub and Google Code so far). All you do to add a project is enter the name, a little description and a link to a public commit feed.
- Module Ratings: Let other developers know of the real useful modules--as well as the ones that need work.
- Module Tags: Find similar modules, easier.
- Module and Developer Browsing: Browse by recently added, recently updated, hottest (most rated in a week), and most popular (highest overall rating).
- Search: Because it's necessary.
- Module Comments: Because ratings can only take you so far.
- Developer Profiles: See what developers have to say about themselves, the modules they contribute to, their karma and sexy Gravatar picture (maybe).
A fairly beefy feature list to start off with now that I've listed it off. So where are we at? Glad you asked!
The code sits happily on my local machine and staging server, and for the most part, buzzing away splendidly but it's in dire need of some good looks! That's where my boy Ben Child comes in, one of the designers here at Purple, Rock, Scissors who was most kind to help me with the look and feel: he's working on it this week! We're going through wireframing and I'll hopefully be able to shoot up a few screenshots of concepts later this week sometime.
The community needs YOU!
That's all good and dandy, but I think the biggest thing holding us back right now is the lack of reusable modules. To make this ridiculous blog post come to a climatic end, I'd like to war cry for Zend Framework developers to start doing what they can contribute to the modular movement (oh, I'm so clever with names).
Bittarman and I have been talking and making plans to create a generic, extendable content module; I've been working on a calendar / events module. What about you? These are by no means, "I called it, find your own module," kind of deals. If you'd like to help in any way (ZFComponents, a module, or what have you), I'm sure there is opportunity of it for you. Drop by #zftalk, for lack of a better option, and ask about it (for reference, my name on there is "rizza").








Comments
Gareth (not verified) says:
Published on Nov 10, 2009 @ 09:28am
The reusable codebase is a big reason why I've built a lot of projects in Drupal recently.
The quality of the architecture doesn't touch Zend's, but the ease of adding complex functionality very quickly make it much more attractive for certain projects (especially ones with a paying client...).
http://www.drupalmodules.com/ and http://dev.cmsmadesimple.org/ have "Most Popular Projects" lists which you might helpful to find out what modules people tend to want.
Rob Zienert (not verified) says:
Published on Nov 10, 2009 @ 10:09am
Yeah, those are pretty close to the intent of what I'm looking for. Ben has finished the initial comps for the site and Zach has been so gracious to offer building it out for me... it shouldn't be long before I can drop this beast on the world.
I don't expect it to change the ZF game by any means, but maybe it'll get people fired up about exchanging more substantial code related to Zend Framework.
Post new comment