Preface

Lotusphere 2011 was memorable in a lot of ways. It was another rip-roaring success for XPages as it continues to gain traction, make converts out of once-skeptics, and project a vision of what application development is going to look like in the years to come. The same event was also notable for the publication of the first real technical book on this technology, Mastering XPages by Martin Donnelly, Mark Wallace, and Tony McGuckin. Its approach was to document XPages in a way that hadn’t been done before. It created a fantastic stir at Lotusphere 2011 that has reverberated throughout the coming year. Lotusphere, similar to other events, brings like-minded people together to meet face to face and talk. It was at Lotusphere 2011 that a group of XPagers (anyone who develops XPages applications) was talking about how wonderful the Mastering XPages book was and expressing how they couldn’t wait until the next XPages book was written. This started the ball rolling.

We all have ideas. Some of these ideas never see the light of day, which is not necessarily a bad thing. Other ideas don’t go away. The idea for another XPages book began to snowball. By the end of Lotusphere week, more than a few of us nearly swore in blood that we would write this book. And so we did.

The initial target for publication of this book was Lotusphere 2012. When we started to write this book in June 2011, that target was realistic. But as the long summer progressed, those busy bees in the XPages development team were deep into a process of reshaping the XPages ExtLib so IBM would fully support it. Add on the new support for relational databases and the new features to support social application development released to OpenNTF in the latter half of the year; the authors were effectively writing about a moving target. Each moving target stops occasionally to catch its breath.

A milestone was developing with the release of the Lotus Notes Domino 8.5.3 Upgrade Pack (UP) in December 2011. It was a significant release, because it was the first of its type in the 20-year history of Lotus Notes Domino. New features were being released to the market between major releases of the core project, which brought forth the fully IBM-supported version of the XPages Extension Library (ExtLib). What better event to base a book around?

This Book’s Approach

The main desire for this book is to collate the knowledge of the XPages ExtLib and to communicate that knowledge to you, the reader. We seek to do this in a progressive way, starting with the basics and finishing with the more technical areas. And it’s these advanced areas that we believe will take XPages application development to new heights.

Most chapters, apart from Chapter 13, “Get Social,” use one or two applications for reference: the XPages ExtLib Demo application (XPagesExt.nsf) and the TeamRoom XL template (teamrm8xl.ntf). At the time of writing, both of these applications contain examples for 100% of the controls and components available from the XPages ExtLib. In these examples, we will take you through how to use these controls, describe what the various properties are for, and in some cases recommend how you can take advantage of such controls.

This book targets the December 2011 releases of the XPages ExtLib, be it in the form of the Lotus Notes Domino 8.5.3 UP 1 release or the release to the OpenNTF project. The feature set encapsulated in these releases represents a high point in the story of the technology. But this is not to say that this story is complete—far from it. There may be another book in the offing that will tell the story of how this technology will reach its next high point. Only time will tell.

We recommend that before picking up this book, you become familiar with XPages. One excellent shortcut for this is reading the Mastering XPages book, which will give you a firm grounding before you step into the XPages ExtLib. However, you don’t have to be an expert in XPages. A basic knowledge of XPages is all you need to take advantage of the ExtLib and build better, more efficient applications more quickly.

Some Conventions

This book employs a few conventions of note that will make reading smooth.

User-interface elements, such as menus, buttons, links, file paths, folders, sample XPages, and Custom Control and so on in Domino Designer or in applications, are styled in the text as bold, for example, “Go to the Download/Releases section.” Attributes and their options that are selectable from the All Properties view in Designer are also in bold.

Code, be it programming script, markup, or XSP keywords in the text, is typically styled in mono font size. For example, “Developers who have used the Dojo dialog in the past will know that it is opened via Client-Side JavaScript using the show() function and closed using the hide() function.”

Also, in code, the XPages XML markup examples that typically form the listings throughout the book have split multiple attributes to a new line. This makes it easier to read the markup.

Those experienced with reading XPages markup will recognize the default prefix used for the core controls namespace: xp, as in xp:viewPanel or xp:button. They will also recognize that Custom Controls have their own prefix: xc as in xc:layout from the Discussion XL template. The XPages ExtLib namespace has its own prefix, xe, which is used for the more than 150 ExtLib controls; for example, xe:dataView.

How This Book Is Organized

This book is divided into four parts, each a progression for you to navigate through various levels of XPages ExtLib knowledge.

Part I, “The Extension Library, Installation, Deployment, and an Application Tour”: This part is aimed at getting you started with the XPages ExtLib. It explains what it is and how you install and deploy it, and it demonstrates in a production-ready application how and why it is used.

Chapter 1, “The Next Generation of XPages Controls”: This chapter introduces you to the XPages ExtLib, explains why the controls and components contained within will take XPages application development to the next level, and describes some of the areas that are likely to help grow the XPages technology even further.

Chapter 2, “Installation and Deployment of the XPages Extension Library”: This chapter describes the various ways to install and deploy versions of the ExtLib, be it IBM Lotus Notes Domino R8.5.2 or R8.5.3, or server, Domino Designer, or Notes Client.

Chapter 3, “TeamRoom Template Tour”: The purpose of this chapter is twofold. First, it is to gently introduce you to the XPages ExtLib. Second, it is to demonstrate how an existing template was modernized with this exciting new technology with features that are built entirely using the ExtLib in a production-ready application.

Part II, “The Basics: The Applications Infrastructure”: This is the part of the book where each of more than 150 controls in the XPages ExtLib is described. These six chapters are laid out in a way that a typical Domino application developer might expect; start with a form, and then move on to views and to the overall navigation and layout. That is not to say that you have to read these chapters in that sequence to get a full understanding of the controls. An XPages app developer typically starts with the application layout and navigation before moving on to view and form controls. The sequence in how you read them is up to you. Each chapter can be taken in a standalone fashion.

Chapter 4, “Forms, Dynamic Content, and More!”: This chapter, along with Chapters 5 and 6, describes those controls that are typically used in the form of an XPage. With the use of Form Layout, Post, and Dynamic Content and Switch controls, you can quickly take advantage of these prebuilt and preformatted components to deploy complex layouts and design patterns.

Chapter 5, “Dojo Made Easy”: Whether you are familiar with Dojo or not, this chapter is aimed at how you can take advantage of this toolkit, which has been encapsulated into the Dojo controls for the XPages ExtLib. Without the ExtLib, configuring Dojo components can be tricky. The controls in the ExtLib make it easier.

Chapter 6, “Pop-Ups: Tooltips, Dialogs, and Pickers”: The ExtLib contributes tooltips for displaying additional content, dialogs for displaying or managing content, and pickers for facilitating selection of values. The XPages ExtLib makes this easier for developers, overcoming some of the challenges of integrating Dojo and XPages. This chapter describes all this.

Chapter 7, “Views”: Before the ExtLib, there were three available core container controls for displaying a collection of documents: the View Panel, the Data Table, and the Repeat Control. The ExtLib provides some new controls to help you take the display of a data collection to new levels. This chapter describes each one of these new view controls.

Chapter 8, “Outlines and Navigation”: For the end user to be able to switch between the different views in the application, you need to create an application layout and navigation. This chapter covers both the Dojo layout controls and navigation controls that have been added to the XPages ExtLib.

Chapter 9, “The Application’s Layout”: In this chapter, you learn use of the Application Layout control, which helps you meet the challenge of creating an effective application interface that is not only pleasing, but intuitive and consistent, allowing users to predict what behaviors will produce the desired effect. All this is despite the difficulties presented when developing applications with the browser as your target platform.

Part III, “Bell and Whistles: Mobile, REST, RDBMS, and Social”: In this part of the book, the big four deliverables to the XPages ExtLib in 2011 are described. If Part II of this book marks a step up in developing XPages applications, this part marks another. The next four chapters effectively describe the direction application development will progress in the coming years. Each of these chapters stands alone.

Chapter 10, “XPages Goes Mobile”: Mobile is the technology of the age. Owning a mobile device is no longer a luxury but a necessity. This fact is becoming increasingly important in business, as desktops and laptops are being superseded by tablets and smartphones. This transition has many challenges, ranging from the user interface (UI) design to security. XPages and the ExtLib are in place to meet these mobile challenges. This chapter shows how to meet and overcome these obstacles.

Chapter 11, “REST Services”: REpresentational State Transfer (REST) is important to the new Web 2.0 programming model. New technologies like OpenSocial and Android are embracing REST services to allow remote clients access to Server-Side data. The XPages ExtLib has RESTful services in place, so a whole range of exciting data-handling options open for the XPages developer.

Chapter 12, “XPages Gets Relational”: This chapter reviews concepts behind integrating relational data and the new relational database components that the ExtLib provides, including JDBC, the Connection Pool and Connection Manager, the datasources, and the Java and Server-Side JavaScript (SSJS) APIs included to integrate relational data into an XPages application.

Chapter 13, “Get Social”: Social and social business are the buzzwords of the age. This chapter uses a definition of social applications in the context of XPages, custom application development, and IBM Lotus Domino/IBM XWork Server. It describes the new requirements, maps them to technologies, and shows how the ExtLib helps implement these new requirements.


Note

At the time we were writing this manuscript, we were using the product called LotusLive™. This product has since been renamed IBM SmartCloud™ for Social Business.


Part IV, “Getting Under the Covers with Java”: Gaining a fuller understanding of XPages Extensibility can be achieved with a little knowledge of Java. In this part of the book, the aim is to help you round out this knowledge and enable you to get the most out of the ExtLib.

Chapter 14, “Java Development in XPages”: With the addition of XPages to IBM Lotus Notes Domino, the capacity for inclusion of Java in applications has never been easier or more powerful. This chapter provides a glimpse into some of the many ways Java can take your applications to the next level, as well as a few ways that you can get even more use out of some of the XPages ExtLib controls already described in previous chapters.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.89.85