Matt RaibleMatt Raible is a writer with a passion for software. Connect with him on LinkedIn.

The Angular Mini-Book 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 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.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.
You searched this site for "css". 327 entries found.

You can also try this same search on Google.

Heading to the Big Apple

May is shaping up to be quite the travel month. Next week I'm heading to New York City to put on a 5-day seminar for a client. Topics include: Web Frameworks, JSF, Ajax, Spring, Spring Web Flow, Hibernate, Caching and Performance, Deploying to Production, Comparing CMS Applications, eCommerce in Web Applications, Sharing with RSS and Atom, Acegi Security, Storing User Preferences, Source Control with Subversion and Coding Standards/Project Management. Yeah, a whole slew of stuff. There's nothing like doing a customized seminar when the client gets to pick whatever topics they like. ;-)

The only things I'm a little light on are Comparing CMS Applications, eCommerce and Storing User Preferences. For Comparing CMS Applications, I'm going to talk about Alfresco, Drupal, Joomla, Magnolia, OpenCMS and Plone. I'll be talking about ease of installation, ease of use, community and support, extensibility and performance. One thing I plan to do is zing CMS providers about eating their own dogood. As far as I can tell, neither Alfresco nor Magnolia use their own CMS for their websites. Of course, they might not be developing a "CMS for the web", but that's what most folks tend to use CMS's for IMO. It should be interesting to see if the Java solutions have decreased their installation times. Drupal, Joomla and Plone all took under a minute to install (on OS X) the last time I tried. If you happen to work on one of these applications and want to point out a kick-ass site developed with your software, please leave a comment.

As far as eCommerce solutions, most of the applications I've worked on recently just hook in with PayPal. This seems like the best solution because you eliminate the headache of credit card processing and in-house security/fraud preventation. If you've recently developed an e-commerce enabled application, what solution did you use? Did it work well for you? I'm also interested in solutions that were utter failures or a pain in the ass to use.

Lastly, as far as storing user preferences - I can only think of 3 ways to do it: cookies, database tables, and using the Java Preferences API. I'm sure I'm missing something. What solutions have worked well for you?

After returning from NYC, I'll be in Denver for 5 days before flying out to San Francisco for The Ajax Experience and JavaOne. In the midst of all the travel, I hope to finish up the CSS Design Contest, release Equinox 1.7/AppFuse 1.9.2 and do some performance tests with the T2000.

Posted in Java at Apr 27 2006, 12:17:39 PM MDT 12 Comments

CSS Framework Design Contest - only one week left!

It's time for another CSS Framework Design Contest Update. The contest will officially end this weekend (Sunday night), but hopefully people will continue to contribute designs after that. After the initial deadline passes, I'll send out a vote to the AppFuse CSS Mailing List. If you have a better idea of how to handle voting, I'm all ears. Maybe we should use JIRA?

I spent a few late nights last week converting some of Andreas Viklund's Templates to use the CSS Framework. All the ones I converted, along with many other contest entries, can be seen at http://css.appfuse.org/themes. For many of these, I've replaced the default forms.css with one that has CSS from Wufoo.com. If you'd like to include a similar form in your entry, just copy the <form>s from form.html into your own page.

I've also looked at incorporating the CSS Table Gallery, but found many of the designs to be pretty ugly. Nevertheless, most of them work with the displaytag, so I might include some of them in the future. In the meantime, if you want to see what they look like, go to css.appfuse.org/users.html (user/pass: mraible/tomcat). Change the "css" parameter in the URL to match a table's stylesheet, and you should see what it looks like.

To answer a few questions I received earlier today:

Does an entry have to contain all possibilities/layouts?

No. I've come to realize that it's easier to only accomodate one layout. If users really like your design, hopefully they'll morph it to a different layout sometime in the future. If you look at the Andreas themes I converted, they only have a main page and a form. They'll likely be enhanced in the future for form elements, calendars, tables, etc. - but that should be pretty easy (and I'm willing to do that work).

Am I "allowed" to overwrite some settings in the different layout CSS for different settings, depending on which layout css is used beside the layout according stuff? For example settings (appearance, design) for the main navigation and so on?

Yes. You can change any of the CSS files you like. The only thing that needs to remain constant is the HTML - and then only the ids and order of <div>s, etc. needs to be the same. The general idea we're hoping for is to put your "theme" in a directory and then refer to it dynamically as part of the showcase. We're in the process of enhancing the showcase site to use the same HTML pages for all themes.

Don't forget about the prizes: an iPod (60GB), an iPod (30GB) and a 2GB Nano. In addition, you could use your cool new design for the CSS Reboot.

Posted in The Web at Apr 25 2006, 05:18:18 PM MDT 3 Comments

CSS Framework Design Contest Update

Entries for the CSS Framework Design Contest are continuing to roll in. However, I don't know if the contest will finish at the end of this month. We've only received 5 submissions so far (1 being my own) and I'd like to get at least 10 good ones for folks to choose from.

My first attempt to show off the entries didn't do any justice to the submitted themes, so I've created a new showcase application. The new CSS Framework Themes application is available at http://css.appfuse.org/themes. It allows you to view the current submissions in the raw form that they were submitted. I've come to realize that a good design is tought to make flexible (where you can use all 6 layouts), so it's probably best to just have a single layout for each. Then again, juisefuse allows you to use all the layouts, so I guess it's up to each designer.

When I first started this contest, I envisioned people using the CSS Framework as a base, and overriding classes and styles in their own stylesheets. However, most of the entries contain modifications to the core CSS files - so it's probably best to allow free-form modifications of the CSS. Last night, I created my own entry based on Andreas Viklund's andreas01 theme. I did this to see what pain points there are in creating these themes. Although the experience wasn't too bad, I did find myself having to make one exception and break the "don't modify the HTML" rule. I had to move the top image out of the header div in order to get things positioned correctly. Oh well. I hope to convert some more of Andreas's themes this week. I also hope to incorporate some of the CSS from Wufoo's forms into these designs. After that, I'll start trying to figure out how these can fit into AppFuse and maintain their look and feel.

What's my pipe dream for css.appfuse.org? I'd like to make it possible for users to download and use these themes quickly and easily. Furthermore, it'd be pretty cool to develop an XSLT transformer that converts the main HTML page from each theme into decorators for AppFuse, Drupal and Roller. I don't know if this will be possible, but it certainly sounds cool.

Update: I added a new Deliciously Blue theme, which includes a form example based on CSS from Wufoo.com.

Update 2: I've converted three more of Andreas's themes: andreas03, andreas08 and andreas09. They're not pixel perfect, but they're pretty darn close. ;-) All of the themes in this contest (including the "showcase" application itself) are available in Subversion from the AppFuse CSS Project on java.net.

Posted in The Web at Apr 19 2006, 05:04:44 PM MDT 1 Comment

The T2000 Arrives

I received my T2000 server from Sun yesterday, and now it sits in its original packaging in my basement. I may not even unwrap and install it. When I originally ordered the server, I heard you could blog about it and possibly win a free one. Since then I've heard different; there's a contest with many entering, and they're only giving away a couple of them. Because of this, I've somewhat lost my motivation to install the sucker. Partly because I know I'll have to send it back, and partly because it doesn't look that fast. Regardless, it's nice to have Jeff's setup instructions if I do decide to assemble/install it.

Right now, my schedule is packed full of client work - all the way until mid-June. So if I'm going to build this bad boy, it'll have to be as part of my "late night" schedule. Right now, that's booked with Spring Live, designs for the CSS Framework and AppFuse/Equinox development.

To further justify my lack of motivation, I don't think the T2000 will solve my OOM issues with CruiseControl and Ant. I've been talking with one of the Ant developers, and it appears to be caused by the <copy> task in Ant. With any luck, I'll find some time to setup CruiseControl and do some performance testing of web frameworks before the T2000 goes back in mid-June, but it doesn't look good right now.

Posted in Java at Apr 18 2006, 09:27:01 PM MDT 8 Comments

gotAPI.com - an API Lookup Service

A friend just IM'ed me a link to gotAPI.com. This is a very cool site that allows you to lookup API information on practically everything I use: HTML, CSS, Java, Spring, Ant. Definitely a good bookmark to have.

Posted in Java at Apr 06 2006, 03:17:25 PM MDT 5 Comments

Run Windows XP on your Mac Book Pro

I have to admit, it's pretty cool to see Apple's BootCamp. This software allows you to install/boot Windows XP on a MacBook Pro. I'm intrigued by the thought of doing this. I'd love to use WAPT, Beyond Compare, TopStyle and HomeSite on my laptop.

However, I realize that the process of installing BootCamp would probably take up the whole day - and after 2 days, I'd never use boot into Windows again. It's just easier to use my Windows box when I need Windows stuff. The thing I am interested in is running Windows XP on my Mac using VMWare. Then I don't have to reboot the whole machine just to do some CSS tweaking with TopStyle.

Posted in Mac OS X at Apr 05 2006, 01:19:09 PM MDT 7 Comments

What happened to the design?

To know more about why styles are disabled on this website visit the Annual CSS Naked Day website for more information. Good idea - let's watch the web get ugly. ;)

Posted in The Web at Apr 05 2006, 12:19:02 AM MDT 1 Comment

Busy Weekend

I was planning on taking this weekend off to let my left arm heal a bit. Furthermore, Julie and Holly headed up to Steamboat for some skiing and it was "Daddy Weekend". While the kids and I had a lot of fun, I was unable to overcome my addiction to work.

Saturday night I finally managed to get AppFuse running under CruiseControl. Previously, I'd always run into OOM exceptions before the 10-12 minute process of testing a particular flavor. This seems to be due to Ant and the copying of 700 files 3-4 times makes it run out of memory. For each web framework, the basic install is tested, then tested again with AppGen, and finally iBATIS is installed and tested. While the tests all run and report pass/failed correctly, the memory is so close to being maxed that e-mail cannot be sent, and half the time the webapp isn't viewable. Nevertheless, the process keeps on humming. To see the build status for each different AppFuse flavor, see http://home.raibledesigns.com:8080. Having you all click on this link should crash CruiseControl for sure. ;-)

Last night, I got caught up with working on the appfuse.org website. Rather than having a splash page, I changed it to use frames to wrap the java.net homepage, as well as other AppFuse sites. The top navigation should allow you to navigate to java.net, the wiki, demos and JIRA w/o having to type in new URLs. The fun part of this exercise was using CSS to hide images and compress the standard java.net header. If you'd like to do this for your java.net project, add the following to your www/project_tools.html page:

<style type="text/css">
    .topline, .topbar { border: 0 }
    #banner { height: 0px }
    #banner img { display: none; }
</style>

This week should be a pretty good one. I'm working full-time on finishing up AppFuse 1.9.1, and I hope to have it released before this weekend. My parents are coming into town on Thursday night, so that's my deadline. If I don't have everything done by then, I'll probably release anyway. For the full plan of attack for 1.9.1, please see The road to 1.9.1.

If I can finish the AppFuse release this week, I can work on Spring Live next week. After that, I'm booked up with client work for quite some time. So wish me luck, I'll be burning the midnight oil most of this week.

Finally, it was nice to see that many of you bought into my April Fools joke. While it wasn't as good as last year, I still had fun writing it. As some noted, it's not that unbelievable. However, the part about me dropping something for another is out of character. I changed my major 3 times in college, but never dropped the previous ones. For the record, I like Rails and I've been promoting it at Virtuas and SourceBeat. We've talked about starting a Rails practice, but (to be honest) haven't seen a whole lot of demand from clients. Hopefully that will change in the future and virtuas.com/rails will get filled in.

Posted in Java at Apr 03 2006, 04:09:19 PM MDT 1 Comment

css.appfuse.org

It's almost the end of March and we've only received a couple entries for the CSS Framework Design Contest. In an effort to show what contest entries look like, I've developed and deployed an application to http://css.appfuse.org (login as an administrator with mraible/tomcat). This application utilizes the CSS Framework and has a few themes packaged with it. In addition, you can set it to use an external stylesheet to make development easier. The default theme and selectable themes are pretty ugly right now, so don't get your hopes up. The good news is this is a work-in-progress, so hopefully it'll get better soon.

The theme setup I'd like to use in AppFuse relies on loading a default.css from styles/themes/<theme name>. I've designated styles/default.css as a place to import the css-framework files, as well as specify rules for all themes. I'm open to alternative suggestions, but I think this is a good start.

I hope to evolve this application, along with the CSS Framework Design submissions to show what's possible with CSS in web applications - as well as provide a repository of downloadable themes. It's likely we won't ship the "CSS Selector" logic with AppFuse, but it should be easy to install one of these themes in your AppFuse-based application.

You'll notice that the themes currently available aren't working that well. I'm working with the authors to see what I need to fix. It's probably related to how I have things setup in the application. One of the things I discovered in this exercise is that CoolMenus isn't very CSS-friendly. It requires you modify JavaScript to change its positioning. I've left the menu in place for now, but I hope to replace it in the next few weeks with a more CSS-friendly version.

Since we've only received two theme submissions for the CSS Design Contest, I'm going to extend it to the end of April. Hopefully css.appfuse.org will encourage more participation. Any thoughts, comments or bug reports are most welcome.

Posted in The Web at Mar 27 2006, 10:56:12 PM MST 10 Comments

[TSSJS] Java Web Frameworks Sweet Spots BOF

I've finished composing my "Java Web Framework Sweet Spots" document and presentation for tonight's BOF at TSSJS. Unfortunately, the BOF is at 6:30 and Crazy Bob's wedding is at 6. So I won't be able to make it to the wedding, but I do hope to have a toast to Bob and his new bride. I have been successful in securing beer for the BOF, so you'd better get their early if you want a free one. Caesar's doesn't have kegs, so it's $6/beer and we've purchased 100 of them for attendees. After that, it turns into a cash bar. Thanks to Virtuas, Codehaus, SourceBeat and yours truly for pitching in for the free booze.

My presentation tonight will be short and sweet. Rather than going through each framework author's responses, I'm just going to highlight their "sweet spot" responses. This allows me to get away with creating a measly 8-page presentation, as well as have a more interactive session. I've taken everyone's responses to the 6 questions I asked, and compiled them in a document. This document is available on the Virtuas site, just click on the link below to download it.

» View Java Web Framework Sweet Spots

Posted in Java at Mar 24 2006, 05:27:24 PM MST 28 Comments