On getting to there (XPages fluency) from here

I recently got involved in a couple of brief discussions about continuing professional development.  Both were in the context of transitioning from traditional IBM/Lotus Notes & Domino development to the new cheese of XPages.

In the discussion we recognised that there are a number of N&D developers that have yet to look at XPages in any depth or take advantage of the many excellent resources the community has been developing.  The feeling was that for some developers XPages appears hard, perhaps too hard.  If that’s describes how you feel then I wrote this post to encourage you.

From the film Jacob’s Ladder:

Eckhart saw Hell too. He said: “The only thing that burns in Hell is the part of you that won’t let go of life, your memories, your attachments. They burn them all away. But they’re not punishing you,” he said. “They’re freeing your soul. So, if you’re frightened of dying and… you’re holding on, you’ll see devils tearing your life away. But if you’ve made your peace, then the devils are really angels, freeing you from the earth.”

Seem a bit too melodramatic? If you grasp the idea that the only painful bit about getting started is holding on to the old ways too firmly, forgive a man the odd indulgence and read on 🙂

Why do I care?  Because I put off getting started too.  “It’s another one of those shiney technologies that IBM introduces and quickly drops”, “I’ll have a look at it when it’s a bit more mature & I have more time”.

When XPages surfaced I had spent the best part of 12 years working with cc:Mail, Notes, and Websphere Portal Server.   I was busy developing and maintaining applications for the Notes client and the Web but it was painful, really painful.

The arrival of XPages promised a way out of all of that. Web standards, commonly understood programming languages, isn’t hamstrung by all the legacy stuff and peculiarly Notesy way of doing things we’ve had to learn over the years.  At last a chance to rub shoulders with the current crop of web platforms & do things properly.  Why as a life long learner, and a magpie wouldn’t I grasp that with both hands?

“How much time will I have to invest in getting up to speed?”,  “I know I can get my work done using the skills I know today why should I take a risk when I’m already busy by straying off the beaten track?”, “It doesn’t feel like a gentle evolution this is a step changes it feels revolutionary….”,”I have to learn JAVA?”

Not all of those statements apply to me. I was a certified JAVA developer 🙂

Lots of us N&D developers fell into development because we were the only ones that showed an interest in it or were just willing to have a go.  We built our comfort zone over a long period of time and this XPage thing seemed to be tearing away at the foundations.  That’s unsettling at the very least perhaps a bit frightening.

Remember when you started developing in Notes? It was designed to make it easy for you to click and drag fields on to forms, to create views, framesets.  You could get stuff done, make work easier and do it quickly.  You were a hero!

Life was simpler then and so were the requirements.  You probably hit many limitations and found ways round them but things have contmoved on & it’s become harder and harder to keep up with the needs of the people that use your applications by using the same old techniques & with the perceptions others have of the competition.

The good news is you can still be a hero, you can keep making things better, you can still make a difference.  If you are currently developing web applications in Domino you can do it more easily with XPages.  You can still do drag and drop development like you are used to, but you can go way way beyond that.  You’re not tied down by the limitations of Notes like you have been.

Have your ever tried maintaining state information in a traditional Domino web application?  For example steps in a complex transaction like a purchase or an application form?  Maybe you passed data forward and back with parameters on the url, you encrypted them to make them tamper proof, wrote code to diagnose what stage you were being asked to progress or revert to. Hateful. Particularly in six months when you have to change to incorporate new steps.  With XPages you can store information like this in little containers that exist for as long as a page is viewed, or a user remains logged in or for the life of an application. Getting it there is as easy as putting it there (sessionScope.put(“process_step”,”3″)) and getting it back (sessionScope.get(“process_step”)).

I hate “hide when” with a passion.Hate.IT. What if instead you could use dot notation to hide or display bits of your page?  Well you can: getComponent(“myTextField”).rendered = true.

There are loads of examples where the knowledge that you have is very transferable. Like @Formula  you can still use that.

What if you have just been developing client apps all this time?  Your learning curve is a bit steeper it’s true. You are going to need to develop some new skills:

JavaScript (and eventually you will want to know JAVA but not necessarily straightaway).  The good news is that programming languages share lots of the same concepts: variables, loops, conditions, error handling it’s grammar.  So if you’ve done some Lotuscript programming that’s going to stand you in good stead.

CSS, HTML etc etc. It’s starting to get daunting? Well XPages provides enough of the basics for you to get things up and running with a little knowledge.  You can use the built in theme of ONEUIV2 and the Application layout control to build an attractive layout with navigation in just a few clicks.  Do that from scratch and it will take ages. Imagine IKEA for your web application.

Just because the hill is steep that’s not an excuse not to climb if you’d prefer not to be left at the bottom.  You’ll acquire confidence, knowledge and understanding as you go!

All that’s left is to get started.  So where do you go?

If you know your way around the Domino Designer client then Matt White and Tim Clarks XPages Blast 2012 is pretty good (http://mattwhite.me/storage/LS12_XPagesBlast.pdf).  Otherwise consider investing a little cash in subscribing to xpages101.net again it’s Matt White (I’m not affilliated, but I’m a customer :-)) or FREE of charge there’s David “100,000 viewings can’t be wrong” Leedy’s Intro to XPages on Notesin9.com (http://notesin9.com/index.php/2010/09/26/notesin9-extended-edition-intro-to-xpages/).

Now strike whilst the irons hot!  Print the XPages blast slides, watch David’s video.  Let it wash over you and then go back and watch it again.  You’ll feel better.

If you haven’t already got a copy of the latest Domino Designer for Eclipse grab a copy here: http://www.ibm.com/developerworks/downloads/ls/dominodesigner/ you can do quite a lot of the groundwork working against local databases.

Good luck!  If you need more help ask questions let’s see if the stuff you need isn’t already out there…

Tagged with: , , , , ,
Posted in XPages
One comment on “On getting to there (XPages fluency) from here
  1. Xpages is great but have you ever tried maintaining an XPage application with no SSJS debugger ?

    I would strongly encourage everyone to try XPages but I would even more strongly encourage IBM top proved a debugger – it is the biggest impediment to the adoption of XPages from both a business profitability pov and a developer learning curve pov.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: