It started yesterday and continues today. GMail is no longer filtering out spam - I'm getting it all. This means if I leave my computer and check my e-mail a couple hours later - I'm up to 200 new messages, with 1 or 2 that are actually sent to me - the rest are spam. Anyone else experience this GMail meltdown?
There's 3 phases of adding a new web framework to AppFuse. The first phase is integration and configuration. This is the fun part and involves adding JARs and configuring everything so the framework actually works. At the end of this phase, I'm usually pretty enthusiastic about my progress and think I can finish the whole project in a few more days. Then comes the "features" phase, when I start coding AppFuse features with the framework. This part always takes wwaaaaaaayyyy longer than I anticipate. This is the part where I realise previously done things (from other framework implementations) won't work and I have a long road ahead of me. For instance, with Tapestry and JSF, I have to figure out how to do the following: Country drop-down based on locale (currently a JSP tag, so should work with JSF), multi-select checkbox, and placing an asterisk next to required fields.
The asterisk isn't too hard if you do it the "WebWork way" - where you simply specify required="true" on JSP Tag. However, I'd prefer to have it read from the validation engine, so this will probably take some digging on how to do it with JSF/Tapestry. For the country drop-down, I'll probably have to create a Tapestry Component. I believe both frameworks have a multi-select checkbox component. After working with Tapestry's contrib:Table component for a few hours, I miss the Display Tag. The contrib:Table works, but it's a LOT more difficult to configure than the Display Tag. It also blows up if you click the column headings too many times. Also, it doesn't have any exporting features like the Display Tag. Sure, it might not need them, but a lot of folks have come to rely on these and it's a handy feature. Furthermore, another unfortunate thing I found in Tapestry this morning is it doesn't seem to read the locale from the request. So if you change your browser's language, it won't switch the language. You actually have to logout and kill the session to switch the locale. Bummer.
My main problem with the 2nd phase of the project is choosing whether to "do it right" or "get it done". I often start out just trying to get shit done, but end up being a perfectionist and trying to do it right. This phase took a couple of weeks to get through with WebWork. Ugh - I'd rather just get this stuff done, but I don't think it's gonna happen. I think I'll be working on the "features" phase for quite some time. Oh well, at least I'll learn the ins and outs of each framework.
The final "finishing up" phase is one of the best. It's when everything works and I write the installation scripts and tutorials. This is slightly painful b/c there's nothing new to discover, but it's also nice because there's nothing new to learn or get tripped up on.
AppFuse 1.7 estimated release date? I was hoping for the next couple of weeks, but I'd better stick with the end of the year. I'm sure there's going to be a fair amount of banging my head against the wall in the next few weeks.
Happy Thanksgiving to all those celebrating today. It's been a great week at the Raible Household. I've managed to squeeze in a few hours for AppFuse/Tapestry/JSF, but mostly I've been building a garage workbench with my Dad. We also setup a "beer fridge" so the garage is now a nice place to hang out. Should be even better when I start disassembling the bus.
I have a lot to be thankful for this year - the new bus, new baby, new house and new book. Abbie is a ton of fun these days, so I owe her a big thanks for all the smiles and laughs. I owe Julie a huge thanks for being so supportive of my "burning the midnight oil" and allowing me to write another book. To my Mom, Dad, and Kalin - you guys rock for always reminding me who I am and where I came from.
I owe my readers a note of thanks for visiting this site and listening to me ramble on about Java and the kick-ass open source tools that make our lives easier. You guys are responsible for the popularity of this site. Finally, I thank Dave Johnson for Roller (which started this site) - which lead to meeting Lance, which led to my first authoring opportunity. A lot of good fortune these days come from this site - I'm still astounded that a simple blog can open so many doors.