Category: Training

RichFaces workshop during JSFdays 2010, Vienna, Austria

Next week (Thursday, Feb 25th) I will be teaching 1-day RichFaces workshop on the last day of JSFDays conference in Vienna, Austria. If you are new to RichFaces, this is an excellent opportunity to learn everything you need in just 1 day. RichFaces is very simple, yet powerful and flexible if you just know a few basics (1. sending an Ajax request, 2. partial tree processing, 3. partial page update, 4. using queues, 5. using component JS API).

I’ve been teaching RichFaces for over 4 years and I always tell my students, you really just need to be familiar with a few core concepts. That’s it, everything else is based on these concepts. Now, if you have been using RichFaces for some time, you will greatly benefit from the workshop as well. You will learn new features and concepts that you might not know existed. You don’t know how many times I heard form students that used RichFaces previously: “we didn’t know we can do that, now it makes sense, it’s so easy”.

All the core concepts are carried to using rich: tags as well. We will cover a few extra features such as using built-in RichFaces functions, component JavaScript API and facets. Again, once you know the basics, you can use any component in RichFaces. We will then cover using and customising skins. We will finish with RichFaces 4 and what features it adds on top of JSF 2 and specifically Ajax features.

You can review the outline for the workshop here. There is still time to register!

I’m also doing a general session on RichFaces on Tuesday, Feb 23rd. Exadel is a sponsor and we are going to have a table at the conference so stop by and say hello.

Presenting and teaching at JSFdays 2010, Vienna

I’m presenting and teaching at the JSFdays 2010 conference in Vienna, Austria February 23-25th, 2010. The conference is being held for the 3rd year and is a great place to learn about JSF and everything that’s happening around JSF.

I’m presenting a session on RichFaces on Wednesday, February 23rd. The session will cover RichFaces 3.x as well as new RichFaces 4 based on JSF 2. On the last day (February 25th), I’m teaching a full day RichFaces workshop. If you are new to RichFaces, this would be a great opportunity to learn everything you need to know in just one day. We will cover all the core concepts, features and tags. If you are already using RichFaces, this workshop will fill in many gaps in your knowledge, and you will also be introduced to concepts and features you might never known existed. On Thursday, February 24th, I’m participating in a Rich Internet Applications forum.

Outline for RichFaces workshop

  1. RichFaces core concepts
    1. Sending an Ajax request
    2. Partial view rendering
    3. Partial view processing
    4. View scope
    5. Using queues to control traffic
    6. More a4j:tags (a4j:repeat, a4j:status, a4j:actionparam, a4j:log and more)
  2. rich: tags
    1. Inputs, in-place edit
    2. Selects
    3. Validation
    4. Data iteration
    5. Menus
    6. Other
    7. RichFaces functions
  3. Skins
    1. Using out-of-the-box skins
    2. Creating custom skins
    3. Loading different skins in runtime
    4. Overwriting styles generated by skins
  4. RichFaces 4.0 and JSF 2 integration

2009

2009 was a good year. RichFaces is more popular than ever today. Exadel has participated in hundreds of RichFaces engagements this year. I don’t remember how many trainings I’ve done this year but just since September I had a RichFaces training every other week. The forum is very active. RichFaces now has two books, one is mine, Practical RichFaces (Apress). The other books is called JBoss RichFaces 3.3 (Packt). There is also RichFaces DZone RefCard available.

My blog traffic has been steadily growing this year. To make it easier for readers, I have tagged all my RichFaces howto’s, tips and tricks with richfaces-howto tag. Now you can find all the posts quickly. And of course I also started using Twitter (http://twitter.com/maxkatz) this year. My first tweet and my first follower @kito99 via http://firstfollower.com/

If you tried JSF 2 (and you should, it’s much better than JSF 1.2. Here is a great post by Andy Schwartz and here is my JSF 2 series), you will notice that core Ajax features in JSF 2 are very similar to what has been available in RichFaces for a very long time now. You will see that f:ajax tag in JSF 2 works very similar to the popular a4j:support tag (see this blog post and this for more info). The RichFaces team is already working on RichFaces 4 which will be based on JSF 2.

This year I attended and spoke at a number of conferences. I started with JSFdays in Vienna, Austria in early April. End of April I attended JAX in Maintz, Germany. In June, I spoke at JavaOne 2009 and beginning of September presented at JBoss World in Chicago. My final conference was JSFSummit in Orlando in December.

With trainings and conferences (and some personal travel), I flew over 150,000 on United this year which makes me 1K again. I’m looking forward to system wide upgrades (for international travel) and new unlimited upgrades United announced earlier this year. If you travel frequently, I definitely recommend trying to stick with one airline. Even if you just get entry level status, travel usually becomes more pleasant.

Next year already looks very interesting. I already have three trainings booked and two conferences. I will be presenting and teaching RichFaces workshop JSFdays 2010 in Vienna in February and presenting for the first time at TheServerSide Symposium in Las Vegas in March.

If you have been reading my blog, you will know that we have been doing some interesting stuff with JavaFX. Exadel has been working on JavaFX plug-in for Eclipse and Flamingo framework. We have also worked on JavaFX and JSF integration. Although we could wished for a stronger “acceptance” of JavaFX this year especially in the enterprise, nevertheless, the community has been growing very strong. I have approached Sun on two different occasions with an offer to work together on some of the enterprise features for JavaFX but never got a reply back. Now that Oracle-Sun deal is close to being final and once Oracle takes ownership of JavaFX, we hope it [Oracle] will start using more JavaFX in the enterprise.

2010 (how are you going to say 2010?) is looking to be very interesting year. We have RichFaces 4.0, our JavaFX plug-in for Eclipse is going to be open source and have been adding very interesting mobile feature to Flamingo such as connector for Android. JavaFX and JSF integration also sounds very interesting. Stay tuned.

Happy New Year!

RichFaces workshop in Nuremberg, Germany

I will be teaching a 1-day RichFaces workshop in Nuremberg, Germany during Herbstcampus conference. The workshop is Monday, September 14th. If you are starting a new RichFaces project, this is the perfect place to learn all the core concepts, tags and features in just one day. If you are already using RichFaces, this workshop will fill in many gaps in your knowledge, and you will also be introduced to concepts and features you might never known existed. And it’s all in just one day!

RichFaces workshop
Outline below
Monday, September 14th
More info… (on web site)

In addition to the workshop, I have two regular sessions:

Rich Enterprise Applications with JavaFX
Tuesday, September 15th
More info…

Building Rich Internet Applications with RichFaces
Wednesday, September 16th
More info…

Outline for the workshop:

  1. RichFaces core concepts
    1. Sending an Ajax request
    2. Partial view rendering
    3. Partial view processing
    4. View scope
    5. Using queues to control traffic
    6. More a4j:tags (a4j:repeat, a4j:status, a4j:actionparam, a4j:log and more)
  2. rich: tags
    1. Inputs, in-place edit
    2. Selects
    3. Validation
    4. Data iteration
    5. Menus
    6. Other
    7. RichFaces functions
  3. Skins
    1. Using out-of-the-box skins
    2. Creating custom skins
    3. Loading different skins in runtime
    4. Overwriting styles generated by skins
  4. RichFaces 4.0 and JSF 2 integration

Updating training materials

Started to update my training materials for JSF and RichFaces and shortly Seam. Right now I have slides, going to convert them to a short training booklet. Why am I doing this? Well, I have realized that training is not a presentation, so slides is not the best way to do it. Plus, it’s going to save lots of paper. I used to print 2-slides per page and all the space around them wasted. The short booklet will also allow to include more details and examples.

1-2 day RichFaces training outline

As a follow up to this blog entry 1-2 day RichFaces training idea, here is a general outline for 1-2 day RichFaces on-site training:

  1. We start by building a simply JSF applications. We take this applications and add various Ajax functionality such as sending an Ajax request and learning how to do partial page re rendering. This example while simple, will cover about 80% of the concepts behind RichFaces.
  2. RichFaces concepts
    1. Sending an Ajax request
    2. Deciding what to process
    3. Partial page re rendering
  3. a4j Components
    1. a4j:support
    2. a4j:commandLink and a4j:commandButton
    3. a4j:poll
    4. a4j:region
    5. a4j:include
    6. a4j:status
    7. a4j:ajaxListener
    8. a4j:jsFunction
    9. a4j:actionparam
    10. a4j:outputPanel
    11. a4j:log
    12. a4j:repeat
    13. a4j:keepAlive
    14. You will learn about the following attributes of the above components: eventsQeue, requestDelay, limitToList, renderRegionOnly, process, reRender, ajaxKeys, selfRendered, bypassUpdates, ignoreDupResponses, onsubmit, oncomplete, onbeforedomupdate
  4. RichFaces components (What is the difference between Ajax4jsf and RichFaces? )
    1. Cover various rich: components such as rich:modal, rich:suggestionbox, data iteration components, rich:inplaceInput, rich:messages(s) and many more. Keep in mind, once you know how to apply RichFaces concepts, you will know how to use any RichFaces component!
  5. Skins

1-2 day RichFaces training idea

At Herbstcampus conference last month, I did a full-day, hands-on RichFaces training. It was very successful. In just one day we covered the most important RichFaces concepts and features. The session closely followed the beginning of my Practical RichFaces book.

After teaching RichFaces and JSF for a couple of years, and talking to people at various conferences, I have realized that many people are using RichFaces (and to some extent JSF) without really understanding the core features and concepts. Without this understanding, you won’t be able to fully utilize the framework. For example, many are still not clear how a4j:region tag is used. After some trial and error, almost everyone gets their application to work in some form eventually; however, they often still don’t understand why it works.

After doing the one day training in Nuremberg, I have realized that in just one day I can cover all the most important concepts and features and get an entire team up to speed with RichFaces (one more day can be added to cover more material). Spending just one day in real training makes a lot more sense than spending hours and hours searching for how a particular component or feature works. The training obviously costs money, but keep in mind that searching or trying to figure out how a component works has an opportunity cost. This sort of training will fill in many of the gaps. I’m sure you will say at least once, “I didn’t know that was possible with RichFaces!” or “I didn’t know I could do that!”.

Drop me a note (max at exadel dot com) if you are interested to talk about this type of training.

RichFaces boot camp

I’m thinking of doing a 2-day RichFaces boot camp. This assumes you have some basic JSF knowledge and in just 2 days you have a pretty strong knowledge of RichFaces. This can be on-site (private) or public training at any location. I will probably use my upcoming Using RichFaces book (published by Apress) as the basis for this training.

We can do Friday-Saturday, this way we will use only one working day. Another option is to do Saturday-Sunday – this way no one has to take any days off. Those are just ideas. I’m open to other suggestions. If you are interested and would like more information, email at max at exadel dot com.