Latest Updates

Products & Applications

Showtime
My Blackberry Enterprise Server Push Utility for the Lotus Notes Client, allows you to create Jobs for individual Channel, Message, and Browser Content Pushes, as well as allows you to delete Pushed Channel Icons from defined recipient devices.

Time Tracker
The idea is simple. At the start of your day - upon completion of your first task - create an entry highlighting what you did and whether you feel it was an efficient or inefficient use of your time. Based on several requests, you can also select the priority, apply categories, or even align your time against a project.

For Lotus Notes Client v8.0 and above, you can use the Time Tracker Widget to make this process even easier!

Zephyr
My Configuration-based Rich Text Mail Merge and Emailing Utility, Zephyr allows you to create rich, data-driven emails to support automated workflow - all via Microsoft Word Mail Merge-like architecture. Dear <firstname> allows you to personalize each email message not only to the individual recipient, but also to the individual application workflow event!

xCopy
xCopy is a simple configurable xCopy client for the Lotus Notes client. By creating and defining xCopy Profiles, you can batch process your file backup or remote upload jobs. With the addition of the xCopy sidebar widget, you can easily kick-off these jobs, and modify both the xCopy Profiles and xCopy itself.

Community & Resources

Lotus Technical Information & Education Community

The Lotus Technical Information & Education community is comprised of IBM, business partner, and customer subject matter experts who use product wikis, published articles, white papers, community blogs and the latest in social media to build and share high quality technical content.

OpenNTF.org - Open Source Community for Lotus Notes Domino

OpenNTF is devoted to enabling groups of individuals all over the world to collaborate on IBM Lotus Notes/Domino applications and release them as open source.

developerWorks Lotus : Wikis

Share your deployment experiences and best practices in our wikis and help IBM to create scenarios for successful deployments. Contribute to the community by collaborating on shared content and leverage the shared knowledge from that community.

Review and Giveaway: XPages Extension Library from IBM Press

06/04/2012 02:29:00 PM by Chris Toohey

(This was the first time I've used the Vendor - Commercial disclaimer on one of my posts... Not too sure if it's a perfectly accurate description tho, so mind the intro to the review/giveaway.)

XPages Extension Library: A Step-by-Step Guide to the Next Generation of XPages Components I was one of the technical editors for the latest XPages development book from IBM Press: XPages Extension Library: A Step-by-Step Guide to the Next Generation of XPages Components... so I might be a little biased. As such, I'm not going to "review" this book, as much as I'm going to discuss it -- using my typical review format -- and let you make your own decision. For what it's worth (spoiler alert!), I'd absolutely recommend this book. It's an invaluable resource for any developer using the IBM XPages development platform as of 8.5.3 Update Pack 1, or even previous versions with the OpenNTF.org Extension Library installed. I was paid to act as one of the technical editors on the book, and the majority of the feedback I provided to the authors resulted in updates to the book. Things like "great, but an example of this showing this would really help" or "this example is kinda out of context without the rest of the XPages XML markup showing exactly how they can do it".

I guess what I'm trying to say is that I looked at this book not as someone who has been developing in XPages prior to it's 2008 in-product release, I read the book as someone new to the Extension Library and somewhat familiar with XPages... and someone that would actually have to use these Controls to duplicate functionality for their Lotus Notes Client applications while extending (or in some cases, evolving) those applications to meet their user expectations of what enterprise-level web applications can do.

Hopefully that gives you an idea, at least, into my role in this book. Not all of my suggestions were taken -- as I'm certain not all of my suggestions were good -- but both the authors and the technical editors (of which I was one) did their best to create a product that not only showcased the capabilities of the technology, but also gave you something that you could actually use in your day-to-day application development efforts.

Again, spoiler alert, I think they succeeded. Again, I might be biased. But then I don't think you really care if I am biased, as long as I keep to the previous format... which I think gives you enough insight into the book to know whether it's something you'll want in your own arsenal.

... and with no further ado:

Chapter 1: The Next Generation of XPages Controls

After a detailed overview of the history and "how we got to the now" recap, this chapter explains why the XPages Extension Library is so important to the evolution of Lotus Notes and Domino applications. The chapter sets the stage for what's to come in the rest of the book, as well as the IBM and ICS community message: XPages (and due to it's importance the Extension Library) is the future, and now is the time to ramp up your skills.

Chapter 2: Installation and Deployment of the XPages Extension Library

This chapter delivers on what's promised in the title: installation (and uninstallation), and deployment of the Extension Library (which I'll refer to from now on as "ExtLib to save my fingers a few keys...).

The most important part of this chapter is the "Deployment" of the ExtLib, which this chapter covers with an in depth review of creating and maintaining using an Eclipse Update Site NotesDatabase.

Chapter 3: TeamRoom Template Tour

If you're the type of person who -- like me -- needs to see something at-work before I can actually understand it, then this chapter was written for you. Chapter 3 shows you the TeamRoom template, which is not only a fully-functional and feature-rich XPages application itself, but also showcases the ExtLib with Controls that either duplicate or outright replace functionality you have in your traditional Lotus Notes Domino applications.

Short but to the point, this chapter delivers, and it'll have you wanting to put all of the cool things covered here in your applications...

Luckily, that's all covered in the following chapters.

Chapter 4: Forms, Dynamic Content, and More!

The ExtLib is all about speed and bringing Rapid Application Development back to the IBM Lotus Notes Domino Developer while also allowing them to build the feature-rich, enterprise-grade applications that both the business and the user base demands. This chapter not only embraces that philosophy, it kicks-off showing you exactly how to do it.

Chapter 5: Dojo Made Easy

The first time I read this chapter title, I laughed out loud. The idea of a Client-side JavaScript framework -- for most Lotus Notes Client application developers -- is so alien that it's almost impossible to explain just how actually using Dojo. But this chapter shows how simply ExtLib Control attributes can change input types, add animations, and create interactive client HTML Elements like image selectors (xe:djextImageSelect).

Chapter 6: Pop-Ups: Toolips, Dialogs, and Pickers

Speaking of interactive client HTML Elements, this chapter is all about using ExtLib controls to interact with the user.

This chapter also discusses one of my favorite controls, the ExtLib xe:toolTipDialog... which I think will be overlooked by most developers.

Chapter 7: Views

Despite what may come across as a lackluster title, this chapter covers "Views" of NotesData, JSON, and more and their UI display using various ExtLib controls.

Far beyond the core xp:viewPanel, this chapter covers things like using an xe:restService or an xe:viewJsonService to populate an xe:djxDataGrid or xe:listView controls. Really advanced-level stuff, yet still designed to support the RAD philosophy.

Chapter 8: Outlines and Navigation

Having all of that data on-screen means nothing if you can get around it, and this chapter delivers the how to on navigation using the ExtLib controls.

Building applications targeted to a web browser client is a funny thing. You can either go more "web" than "application", where most of your applications will look like a website that has some bolt-on web forms and data grids. Or you can go more "application" than "web", where it looks like you re-created Lotus Notes in Google Chrome.

While I think the middle-ground for these two extremes is OneUIv2.1, this chapter covers -- amongst other things -- the xe:djBorderContainer control.

Once you start using this control, and more importantly create you own custom layout controls for your XPages-based applications, you can really start duplicating the feel of a Lotus Notes Client application while having the ability to evolve it to fit the Web Browser client.

This chapter delivers on other fronts as well, but the coverage on the xe:djBorderContainer is worth the price of admission alone.

... mind you, also covered in this chapter is everything you need to know about the ITreeNodes in XPages. Without getting too far into it, think of it this way: this chapter covers all things layout, menus, and structure in the world of IBM XPages via the ExtLib.

Chapter 9: The Application's Layout

The xe:applicationLayout Control is both so important for anyone interested in quickly and easily develop OneUIv.2.x-styled applications and so damned customizable, it really needed it's own chapter.

'nuff said, really. If you're using the xe:applicationLayout Control, this chapter will be invaluable.

Chapter 10: XPages Goes Mobile

Another one of those "worth the price of the book alone" chapters -- which this book is filled with -- the mobilization of applications is critical to enabling your users while ensuring that your platform (and your skillsets) evolve with the demands of the enterprise.

It's a big chapter covering a big topic, and something that you'll be referring to again and again regardless of how many XPage applications you've written.

Chapter 11: REST Services

Tim Tripcony and I initially started our now-defuct podcast because we wanted to document creating RESTful Web Services for Domino. The ideas we tossed around at the time centered around using servlets as HTTP Request Consumers to handle GET, POST, PUT, and DELETE Method requests against NotesData.

This chapter covers the now out-of-the-box REST Services capabilities of XPages, and makes our hands-bound-by-platform-limitations attempts seem small and uncoordinated.

Now, and as this chapter illustrates, within a few mouse-clicks you can create a simple REST Service control xe:restService that handles everything.

We had fun recording those episodes though, and I learned how to use Audacity... so it's not a complete loss.

Chapter 12: XPages Gets Relational

This chapter, while amazingly detailing exactly what you'll need to do to support RDBMS in XPages via IBM's DB2 JDBC Driver... I think it'll be overlooked by the majority of XPages application developers. It's a shame, too, as this chapter shows you step-by-step on how you can integrate a lot of your non-Lotus in-house technology investments with XPages.

The sections on SQL queries alone should spark ideas on integration.

Chapter 13: Get Social

This chapter is a must-have for any developer interested in using OAuth-authenticated web services in their XPages application. The demo application for this chapter is a simple yet super-slick Dropbox/LotusLive/IBM Lotus Connections mashup, but you could easily substitute those for any other OAuth-friendly web services.

Combine this chapter with Chapter 7, and you can now surface and interact with pretty much anything that has an HTTP-accessible API.

The chapter continues (!!) and jumps into more "social" controls, such as Connections Profile Controls and Sametime Chat controls.

Chapter 14: Java Development in XPages

... still there? I ask, because most Lotus developers run when they hear/see/read Java.

This chapter, like several other chapters, really could have been their own book. I wanted to read more, and the chapter author acknowledges that they've only "scratched the surface" of Java development in XPages.

Managed Beans are featured, and once mastered may change the way you write your XPages applications. The XPages Extensibility API all but removes the option to complain about something in XPages not working exactly how you want it to work.

Conclusion

My Google-fu failed me. I can't believe there's not one '"No Admins Allowed" sign written like boys trying to keep girls out of their clubhouse'-image readily available...

Who this book is for:

  • You. If you're reading this site, this book is for you.
  • IBM Lotus Notes Domino Application Developers that are at least familiar with XPages.

Who this book is not for:

  • Admins - the ExtLib deployment stuff is great, but you guys can borrow it from your friendly neighborhood developer when setting that up.
  • IBM Lotus Notes Domino Application Developers that are not familiar with XPages.

IBM Press has a winner on their hands here... but a developer that is new to XPages should consider purchasing Master XPages first.

If you read this site, have written a few XPages applications, and are looking to either dive into the ExtLib or make sure you're getting the most out of it, then I can't recommend the XPages Extension Library: A Step-by-Step Guide to the Next Generation of XPages Components enough!

... but again, I'm a little biased.

Win a free copy courtesy of IBM Press!

But why buy it (from my strategically placed Amazon store/affiliate links) when you can win it? Simply comment on this post to enter, and I'll draw one winner at random by Friday, June 8, 2012 at Noon Eastern. Pretty simple.

Of course, if you want to Like or +1 this post and help spread the word (as well as keep giveaways like this going), it all helps the cause.

So comment below (unique-author entries will be entered into the contest, in the case of multiple comments from the same author) to enter, and check back here on Friday for the announcement. And if you already own a copy of the book (as its been out for some time now -- damned schedule!) and want to weigh in on the review, please feel free to add your thoughts via comment below.

Disclosure
Obtained From: Vendor
Payment: Commercial Endoresement

 
Paul WithersName:Paul WithersWebsite:http://www.intec.co.uk/blogComment Thanks for a great review and your invaluable feedback as a technical reviewer. By the way, I don't need a copy! Erskine HarrisName:Erskine HarrisComment Man it sounds like a winnner with a lot of good information to take anyone's skill set to the next level. Nicolas BoureauName:Nicolas BoureauComment Interested by this book since i started with xpages ! good review, i win it or i buy it Gary SalibaName:Gary SalibaComment This book sounds awesome.  I really hope I can put it to good use later this year. John LindsayName:John LindsayWebsite:http://www.florida-poolsidecottage.comComment Cheers Chris - I've been waiting for a review of this book.  I suspect it's a little beyond me but once I have worked my way through Mastering X Pages I might be ready for it.  The stuff about RDBMS will be particularly useful if I can work out how to do it. :-) Tom SteenbergenName:Tom SteenbergenWebsite:http://notesnl.blogspot.comComment Good thing you mention this book is not for admin ;-).
We surely do not want these guys programming (hacking)!!! right???

Sounds like a good book to add to my library (after reading and putting to use of course)
Don McNallyName:Don McNallyWebsite:http://dmcnally.blogspot.comComment Nice review, Chris.  I hope to be able to add this to my library. Henning HeinzName:Henning HeinzComment Nice review although one small opinionated correction. It is a myth that Domino developers run away when they hear the word Java. True developers don't run away from anything. I don't need a copy (but the content looks good). Abby ButtsName:Abby ButtsComment Thanks for the review!  Java and managed beans are on my "need to get better at" list for 2012.   Michael RuhnauName:Michael RuhnauComment Thanks a lot for one more good post. Sound promising,
Stephen KellerName:Stephen KellerComment Great review...Have all the others this is the next in my library (I hope) John TurnbowName:John TurnbowWebsite:http://www.recondite2.comComment Chris,

Good book.  I've already used it.  One client said, only 17 hours?  I said yes, only 17 hours....I could charge more but I'd be lying then..  The book was that much of a help.
Jannie MaritzName:Jannie MaritzWebsite:www.kdimension.co.zaComment

Hi Chris,

Thanks for the review, I bought the "Mastering Expages" book which help me a lot, I will have to get this book as well after your review of it, it is just expensive with the currency exchange rate, but I will save up for it if I do not win it.

Once a again thanks for keeping Lotus Domino and Xpages in the running, and improving.

Regards

Andrea FerroName:Andrea FerroComment A great book! I think I should buy one ... just after an unlucky draw Bob StephanName:Bob StephanComment Looks like a fantastic book to add my libary, I'll be picking one up if I don't win the freebie !  As always, good stuff from the guru. Steve PridemoreName:Steve PridemoreComment Great review as always.  Looking forward to getting a copy Mike JacksonName:Mike JacksonComment

Great review.  I have it ordered, but haven't received it yet.  Looking forward to it.

MJ

Vitor PereiraName:Vitor PereiraComment Thanks for the review. Another must have book for me.

(not published)




Evaluate this Formula: @LowerCase(@Text("FOO"))