Funny Video
This is too good not to post. Received from Emily of virtuastravels.com.
The Angular Mini-Book is a
guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and
deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.
Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.
For book updates, follow @angular_book on Twitter.
The JHipster Mini-Book is a
guide to getting started with hip technologies today: Angular, Bootstrap, and Spring
Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.
This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.
For book updates, follow @jhipster-book on Twitter.
Jason Thrasher has put together a nice howto for integrating JCAPTCHA with AppFuse via Struts. If you're interested in making your application more secure for signup or authentication, check it out!
If you're an AppFuse user, please join our AppFuse Frappr Group. GlassFish may be winning in java.net stats, but I think we can beat
them at the Frappr stuff.
This release includes CSS Framework integration, EMMA code-coverage support and AppGen sub-package support. Thanks to the CSS Framework Design Contest Winners, Doug Hays and Mika Göckel for their help with this release.
To install and configure AppFuse for development, see the QuickStart Guide. Thanks to all the sponsors who have contributed products and free hosting to the AppFuse project.
To see how AppFuse works, please see the following demos (username: mraible, password: tomcat):
TIP: If you login as an administrator, you can change the theme by appending ?theme=themename to the URL. The default theme can be set in web/WEB-INF/web.xml.
Comments and issues can be sent to the mailing list or posted to
JIRA.
NOTE: This release contains Acegi Security 1.0 RC2 rather than the recently released 1.0. This is because a couple issues were found with the 1.0 release. When Acegi Security 1.0.1 (or 1.1) is released, all AppFuse users are encouraged to upgrade.
This (hopefully) marks the last release from AppFuse 1.x. AppFuse 2.0 development should start shortly. See the roadmap for more details. I'd like to say it'll be done in the fall, but I already said it'd be done two months ago.
P.S. For those of you that won the CSS Framework Design Contest, I'll be contacting you within the week to get you your prizes.
Update: If you're building AppFuse on Linux, you should be aware of some non-English encoding issues. The solution is to add something like the following to your ~/.bashrc file.
export LC_CENGINE=en_US export LANG=en_US export LANGUAGE=en_US
From Malcom Gladwell's "The Tipping Point":
The Law of the Few says that there are a few exceptional people out there who are capable of starting epidemics. All you have to do is find them. The lesson of stickiness is the same. There is a simple way to package information that, under the right circumstances, can make it irresistible. All you have to do is find it.
The primary reason for this release is to integrate Mike Stenhouse's
CSS Framework. Since
this involves many UI changes, we're publishing a release candidate that uses Herryanto Siatono's
"simplicity"
theme. For the final 1.9.2 release, we hope to offer themes from all the
CSS Framework Design Contest Winners.
To install and configure AppFuse for development, see the QuickStart Guide.
Thanks to all the sponsors who have contributed products and free hosting to the
AppFuse project.
To see how AppFuse in action, please see the following demos (username: mraible, password: tomcat):
Comments and issues can be sent to the mailing list or posted to
JIRA (please use version 1.9.2). Hopefully we can release 1.9.2 final in the next week or so.
Update: I've finished a first stab at integrating the puzzlewithstyle and andreas01 themes. I've only tested these in Firefox so far, but you can see them in action on the demo site using the webwork and jsf flavors.
Update 2: 1.9.2 Final has been released.
It's not everyday you see a job that lists "Knowledge of AppFuse and an appreciation of fine wine" as optional skills. I asked Julie if she wanted to move to Napa Valley, but no dice. Too bad - sounds like a job I'd really enjoy.
Thanks to Solomon for the tip.
Unfortunately, I'm still working on AppFuse 1.9.2 and I've given up on estimating when I'll be done. I'm having a hard time finding time to work on it between client meeting and being a good dad. The biggest frustrations so far are the good ol' component based frameworks: JSF and Tapestry. JSF sucks because of JSP and Tapestry is giving me fits because I can't seem to stuff a <span> inside a @FieldLabel. I'd like to think that component-based frameworks are more flexible than their action-based counterparts, but I'm finding quite the opposite so far.
JSF 1.1 has a problem with JSP in that it can't bind components together when a page first loads. This is well documented in Improving JSF by Dumping JSP by Hans Bergsten.
The easy example of this problem is when you have <h:outputLabel> tags before <h:inputText> tags. The average JSF user might not notice the problem, but if you customize <h:outputLabel> to display "required field" indicators based on the "required" attribute of <h:inputText> - the issue slaps you in the face. The easy solution is to use <h:panelGrid> to layout your form data, and everything magically works. However, table-based forms are ugly and I'd much rather do pretty forms like this one.
In order to create pretty forms and get around the JSF sucks with JSP problem, I'm looking for a component similar to panelGrid - but it spits out <ul> and <li> instead of <table> and <tr>/<td>. Does anyone know of such a component?
I asked this question on the MyFaces list this morning, but haven't had much luck.
I'm fully aware that Facelets (or Clay) will solve this problem. However, I'm merely trying to get AppFuse 1.9.2 released without making major changes. I suppose I could always go with ugly table-based forms, but I'd rather not.
Sanjiv has some interesting thoughts on the future direction of AppFuse. To summarize: take on Seam head-to-head, but use Spring instead. Get rid of all the other frameworks except for JSF, Spring and Hibernate. Furthermore, focus on making Web 2.0 applications easy to create and use.
I like Sanjiv's ideas, but I'm not so hot on ditching all the other web frameworks in favor of JSF. I'm still not convinced it's the best solution for Java web development. The idea behind JSF is great, but the implementation has warts. Maybe that'll be fixed with JSF 1.2, but it will likely be quite a few months before MyFaces supports it. Yeah, I know there's the RI, but it is an RI and you remember the 1.1 version don't you?
I'd hate to give up WebWork support because I've used it on a couple of projects and really like it. Ditching Spring MVC would likely be a mistake as well since it's the most popular web framework among AppFuse users today. While I love what Tapestry brings to the table, it is harder (for the newbie) than JSF. Also, it seems to be the least-used web framework in AppFuse, which means I'm doing a lot of maintenance for no reason. AppFuse 2.0 will definitely make things simpler (JDK 5, Maven 2, standard directory layout, better IDE integration), but it will still be difficult to support 5 web frameworks and 2 persistence frameworks.
What do you think about Sanjiv's proposal? It sounds good to me. However, I'd rather see different lead developers for each framework and continue to support them all - except for Struts of course.
After a week and a half on the road, it's awesome to be home. JavaOne was a great time, but pretty exhausting too - and I didn't even go to any sessions! After attending the Ajax Experience, all the JavaOne topics seemed like old news. Actually, I was motivated on Thursday, but when I tried to register using the schedule builder, all sessions were full. Hot topics of the week were GWT, Avatar in JSF and Java EE. I do hope to checkout GWT sometime, but it'll probably take me a month or two. I'm booked at clients for the next couple of weeks, and after that I'd rather just enjoy the summer than work 12-hour days. As far as AppFuse 1.9.2, that's high on my list - but it'll probably take me a couple days to complete since I'll be doing it at night.
The Tangosol/SolarMetric party didn't disappoint, and Geronimo Live was a smashing success. There's a bunch of pictures (and video) posted on the Virtuas Travels Blog.
I arrived home Friday afternoon and the fun hasn't stopped. Softball game yesterday, followed by 3 BBQs and a night of playing with the kids on a friend's swingset. Today, we went to the 12th Annual VWs on the Green show. Unfortunately, it was 90°F, so we didn't last long. I'd like to say I got some good ideas for my bus, but in reality I chased Abbie and Jack around the whole time. Below are some pictures from the show today. As for my bus, it's in the shop, but no work has begun. I need to visit them this week to get something in writing so they can start doing body work.