- ホーム
- > 洋書
- > 英文書
- > Computer / General
Full Description
The XPages Extension Library's next-generation XPages controls make application development far more efficient, effective, scalable, and rewarding. With IBM (R) Lotus (R) Notes (R)/Domino (R) 8.5.3 and Upgrade Pack 1, IBM has incorporated powerful new capabilities and support. These components and technologies are now fully ready for even the toughest production challenges.XPages Extension Library is the first and only complete guide to Domino development with this library; it's the best manifestation yet of the underlying XPages Extensibility Framework. Complementing the popular Mastering XPages, it gives XPages developers complete information for taking full advantage of the new components from IBM.Combining reference material and practical use cases, the authors offer step-by- step guidance for installing and configuring the XPages Extension Library and using its state-of-the-art applications infrastructure to quickly create rich web applications with outstanding user experiences. Next, the authors provide detailed step-by-step guidance for leveraging the library's powerful new support for REST services, mobile and social development, and relational data. The book concludes by showing how to include Java (TM) code in Domino XPages applications-a great way to make them even more powerful.Coverage includesAutomating deployment of XPages Extension Library throughout your IBM Lotus Notes/Domino or IBM XWork environment Integrating modern design patterns and best practices into Lotus Domino applications with drag-and-drop ease Incorporating AJAX capabilities with Switch, In Place Form, and other dynamic content controls Extending applications with Dojo widgets, popups, Tooltips, Dialogs, and Pickers Implementing state-of-the-art navigation and outlines Using Layout and Dynamic Views controls to painlessly modernize most Domino applications to XPages Quickly building mobile interfaces for existing applications Using social enablers to connect with social platforms and incorporate social features Integrating SQL datasources into XPages data-driven applications
Contents
Foreword xvPreface xixAcknowledgments xxvAbout the Authors xxviiContributing Authors xxixPart I: The Extension Library, Installation, Deployment, and an Application TourChapter 1 The Next Generation of XPages Controls 3So How Did We Get Here? 4Then Came Domino R.8.5.2, and the Extensibility Door Opened 4OpenNTF and the Controls Too Good Not to Release 5To Extensibility and Beyond 5 What Makes an XPages Control Next Generation? 5What Is the XPages Extension Library? 6Making Domino Application Development Easier, Faster, and Better 8What Are the Most Important Controls and Why? 8XPages Learning Shortcuts 9Bells and Whistles: Welcome to the Future 10Get Social 10Upwardly Mobile 11Relational Data 11RESTful Web Services 12Doing It Yourself with Java 12Conclusion 12Chapter 2 Installation and Deployment of the XPages Extension Library 13Downloading the ExtLib 13Installing the ExtLib via the Upgrade Pack 17Deploying ExtLib to Developers in Designer 18Uninstalling the Extension Library from Designer 27Server Deployment 28Automatic Server Deployment in Domino 8.5.3 28Automatic Server Deployment in Domino 8.5.2 34 Manually Deploying Libraries to a Server 38Deploying the Extension Library to End Users 40 Widget Catalog Setup 41Creating a Widget Configuration 42Provisioning the Extension Library Widget to Other Users 50Conclusion 52Chapter 3 TeamRoom Template Tour 53Where to Get the TeamRoom Template and How to Get Started 54The TeamRoom Template and Why It Was a Good Candidate for Modernization 55TeamRoom Redesign Brief and Features 56Application Layout 56Recent Activities: The Home Page 59All Documents 60The Document Form 61Calendar 63 Members 64Mobile 66Lessons Learned and Best Practices 67Conclusion 68Part II : The Basics: The Application's InfrastructureChapter 4 Forms, Dynamic Content, and More! 71Form Layout Components 71Form Table (xe:formTable, xe:formRow, xe:formColumn) 71Forum Post (xe:forumPost) 78Dynamic Content 80In Place Form Control (xe:inPlaceForm) 80Dynamic Content (xe:dynamicContent) 83Switch (xe:switchFacet) 88Miscellaneous Controls 89Multi-Image (xe:multiImage) 89List Container (xe:list) 91Keep Session Alive (xe:keepSessionAlive) 92Conclusion 93Chapter 5 Dojo Made Easy 95What Is Dojo? 95Default Dojo Libraries Using Dojo Modules in XPages 96Simple Dojo Example: dijit.form.ValidationTextBox 99Dojo Example for Slider 100Dojo Themes 102Dojo Modules and Dojo in the Extension Library 103Benefits and Differences of Dojo Extension Library Components 104Dojo Extensions to the Edit Box Control 104Dojo Text Box (xe:djTextBox) 104Dojo Validation Text Box (xe:djValidationTextBox) 106Dojo Number Text Box, Dojo Currency Text Box (xe:djNumberTextBox and xe:djCurrencyTextBox) 113Dojo Number Spinner (xe:djNumberSpinner) 115Dojo Date Text Box and Dojo Time Text Box (xe:djDateTextBox and xe:djTimeTextBox) 116Dojo Extensions to the Multiline Edit Box Control 119Dojo Extensions to the Select Control 120Dojo Combo Box and Dojo Filtering Select (xe:djComboBox and xe:djFilteringSelect) 120Dojo Check Box and Dojo Radio Button 126Dojo Extensions to Buttons 126Dojo Toggle Button Control 128Composite Dojo Extensions 130Sliders 131Dojo Link Select (xe:djLinkSelect) 135Dojo Image Select 137Dojo Effects Simple Actions 140Dojo Fade and Wipe Effects 140Dojo Slide To Effect 142Dojo Animation 143Conclusion 147Chapter 6 Pop-Ups: Tooltips, Dialogs, and Pickers 149Tooltip (xe:tooltip) 149Dialogs 153Dialog (xe:dialog) 153Tooltip Dialog (xe:tooltipDialog) 160Value Picker (xe:valuePicker) 162Dojo Name Text Box and Dojo List Text Box (xe:djextNameTextBox and xe:djextListTextBox) 164Name Picker (xe:namePicker) 165Validating a Picker 167Conclusion 170Chapter 7 Views 171Dynamic View Panel (xe:dynamicViewPanel) 171Data Grid 175REST Service 176Dojo Data Grid Control (xe:djxDataGrid) 179Dojo Data Grid Contents 182InViewEditing 184View Events 186iNotes ListView (xe:listView) 187Dynamic ListView 188ListView Column 192iNotes Calendar (xe:calendarView) 194Calendar Views in the Notes Client 194REST Service: calendarJsonLegacyService 196REST Service: Notes Calendar Store 197Notes Calendar Control 200View Events 203Data View (xe:dataView) 206Pagers 207PagerSaveState (xe:pagerSaveState) /View State Beans 212Columns 214 Multiple Columns 219Forum View 220Conclusion 221Chapter 8 Outlines and Navigation 223The Dojo Layout Controls 223The Content Pane 223The Border Container and Border Pane 225Accordion Container and Accordion Pane 229The Tab Container and the Tab Pane 231The Stack Container and the Stack Pane 238Understanding the Tree Node Concept 239Standard Node Types 239The Advanced Node Types 242Using the Navigator Controls 247The Navigator Control 247The Bread Crumbs Control (xe:breadCrumbs) 249The List of Links Control (xe:linkList) 250The Sort Links Control (xe:sortLinks) 251The Link Container Controls 251The Pop-up Menu Control (xe:popupMenu) 252The Toolbar Control (xe:toolbar) 254The Outline Control (xe:outline) 255The Accordion Control (xe:accordion) 256The Tag Cloud Control (xe:tagCloud) 257The Widget Container Control (xe:widgetContainer) 260Conclusion 261Chapter 9 The Application's Layout 263History of OneUI 263Easy OneUI Development with the Application Layout Control 264Legal 267Navigation Path 268The Footer 269The Placebar 270Search Bar 271The Banner 272The Title Bar 273Product Logo 273 Mast Header and Footer 273The Layout Control Tooling in Designer 274Using the Application Layout Within a Custom Control 276Conclusion 280Part III: Bell and Whistles: Mobile, REST, RDBMS, and Social Chapter 10 XPages Goes Mobile 283In the Beginning 283The XPages Mobile Controls the Extension Library 284The Basics of the XPages Mobile Controls 284The Single Page Application Control 286The Mobile Page Control 288The Page Heading Control 288Rounded List (xe:djxmRoundRectList) 289Static Line Item (xe:djxmLineItem) 291 Mobile Switch (xe:djxmSwitch) 292Tab Bar (xe:tabBar) 295Tab Bar Button (xe:tabBarButton) 298The XPages Mobile Theme 298Hello Mobile World Tutorial 3001. Enable the App for the Extension Library and Mobile 3002. Create a New XPage and Mobile Application 3013. Add a View Document Collection to the Mobile Page 3024. Display More Rows 3045. Opening a Document from the Data View 3066. Editing and Saving Document Changes 311Deep Dive into the Controls in the Extension Library, with Examples of Their Use 315Outline Control 315Hash Tags 318Form Table Control (xe:formTable) 318Dynamic Content Control 320Data View Control 321 More Link 322Filter Data 323 Multiple Controls 324 Move to Mobile Page Action 325Heading (xe:djxmheading) 325Large Content 326Using Dojo to Modify Controls 327XPages Mobile Phone Application Gotchas 327The Differences Between Web App and Mobile App Layout 327 What Stays the Same? 330 What Has Changed? 330Conclusion 333Chapter 11 REST Services 335REST Services in the XPages Extension Library 336XPages REST Service Control (xe:restService) 338Standard Attributes for REST Service Control 338Standard Attributes for Each Service Type 340Hello REST World 1: Using the pathInfo Property 340Example of an XPage that Uses the REST Service Control 340Hello REST World 2: Computed Column to Join Data 341Example of a REST Service Control with a Computed Column 341Hello REST World 3: REST Service in a Data Grid 342Example of Binding a Grid to a REST Service Control 342Domino REST Service from XPages Samples 343Data Service 344Data Services-Contacts and All Types 345Dojo Grid Using JSON Rest Data Services 345Dojo NotesPeek 347Consuming Service Data with Other Controls 348iNotes List View 348iNotes Calendar 349Calling a Remote Service from Domino 351JSON-RPC Service 351Consuming Service Data from External Applications 353OpenSocial Gadgets 353Accessing Data Services from Domino as a Built-In Service 356Enabling the Service on the Domino Server 357Domino Data Services 360Database JSON Collection Service 360View JSON Collection Service 361View JSON Service 362View Design JSON Service 366Document Collection JSON Service 367Document JSON Service 368Developing Custom REST Services 375Conclusion 375Chapter 12 XPages Gets Relational 377Accessing Relational Data Through JDBC 377Installing a JDBC Driver 379Creating a Connection to the RDBMS 406Using Relational Datasources on an XPage 410Working with the xe:jdbcQuery Datasource 413 Working with the xe:jdbcRowSet Datasource 414Properties Common to Both the xe:jdbcQuery and xe:jdbcRowSet Datasources 415JDBC Datasources and Concurrency 415Server-Side JavaScript JDBC API for XPages and Debugging 417Java JDBC API for XPages 425Conclusion 428Chapter 13 Get Social 429Going Social 429Get Started 430Setup 431OAuth 431OAuth Dance 431OAuth Token Store Template 434Configure Applications to Use OAuth 439REST API Calls and Endpoints 439Endpoint Configuration 440Access Endpoints 446REST API Calls 447Utilities for Parsing 449REST Datasources 450The Connections Datasource (xe:connectionsData) 452File Service Data (xe:fileServiceData) Datasource 452Activity Stream Data (xe:activityStreamData) 454Proxies 455Domino Proxy 455ExtLib Proxies 457User Profiles and Identities 457User and People Beans 458Extensions to User and People Beans 459Enablement of Extensions 462Caching of User Information 464User Identities 465User Interface Controls 467Files Controls for Dropbox, LotusLive, and Connections 467Sametime Controls 471Connections Controls 474Facebook Controls 478IBM Social Business Toolkit 482Conclusion 485Part IV: Getting Under the Covers with JavaChapter 14 Java Development in XPages 489Benefits of Java Development 489Referencing Native Java in Server-Side JavaScript 490Using Java That Others Have Written 491Setting Up Domino Designer to Create Java Classes 499Introduction to Java Beans 506Managed Beans 508The User and People Bean 509Conclusion 512Appendix A Resources 513Other Resources 514Index 515