skip to content
Mastering XPages : a step-by-step guide to XPages application development and the XSP language Preview this item
ClosePreview this item
Checking...

Mastering XPages : a step-by-step guide to XPages application development and the XSP language

Author: Martin Donnelly; Mark Wallace; Tony McGuckin
Publisher: Upper Saddle River, NJ : IBM Press, ©2014.
Edition/Format:   eBook : Document : English : 2nd edView all editions and formats
Summary:
XPages instantly revolutionized Notes/Domino application development, and the newest versions deliver unprecedented performance and flexibility. This guide to XPages development has been updated and expanded to reflect all these improvements, through IBM Notes/Domino 9.0.1 and beyond. The authors have added several hundred pages of new content, including four new chapters, presenting new tips, samples, and best  Read more...
Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

 

Find a copy online

Links to this item

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Genre/Form: Electronic books
Additional Physical Format: Print version:
Donnelly, Martin, 1963-
Mastering XPages.
Upper Saddle River, NJ : IBM Press, ©2014
(DLC) 2014930531
Material Type: Document, Internet resource
Document Type: Internet Resource, Computer File
All Authors / Contributors: Martin Donnelly; Mark Wallace; Tony McGuckin
ISBN: 9780133373417 013337341X
OCLC Number: 880372912
Notes: Includes index.
Description: 1 online resource (1 volume) : illustrations
Contents: Foreword xxiiiPreface xxviiPART I: GETTING STARTED WITH XPAGESChapter 1 An Introduction to XPages 3XPages Fundamentals 3Onward and Upward: A Path of Continuous Improvement 4The XPages Development Paradigm 8 The More Things Change, the More Things Stay the Same 10New Horizons 11Conclusion 12Chapter 2 Getting Everything You Need 13Downloads, Versions, and Locations 13Installing Domino Designer 14Installing Client Fix Packs 14Client Configuration 15Quick Tour of Domino Designer 16 Domino Designer Home Page 17 Domino Designer Perspective 17 Creating a New Application 19 Creating an XPage 20 Previewing in the Notes Client 21 Previewing in a Web Browser 22 Adding a Control to an XPage 24Working with the XPages Extension Library 26 Some Quick Notes on Extension Library Structure 30Conclusion 32Chapter 3 Building Your First XPages Application 33Laying the Foundations 34Forms and Views 36Building an XPages View 41Completing the CRUD 47Conclusion 53PART II: XPAGES DEVELOPMENT: FIRST PRINCIPLESChapter 4 Anatomy of an XPage 57What Exactly Is an XPage? 58Understanding XSP Tag Markup 59 Getting Started with XML 59 XPages XML Syntax 62 Simple Properties 63 Complex Properties 64 Complex Values 66 Computed Properties 67 Data Binding 72 XPages Tags 72Data Sources 73 Domino Document 73 Domino View 74 Data Context 75Controls 76 Editing Controls 77 Command Controls 82 Selection Controls 85 Display Controls 94 File-Handling Controls 95Containers 98 Panel 98 Table 101 View 102 Data Table 105 Repeat 106 Include Page 109 Tabbed Panel 110 Section 111XPage Resources 111 JavaScript Library 112 Style Sheet 114 Resource Bundle 115 Dojo Module and Dojo Module Path 116 Generic Head Resource 116 Metadata Resource 117Converters 118Validators 121Simple Actions 128Client-Side Scripting 134HTML Tags 136Extension Library 137 Dynamic Content 138 Change Dynamic Content Action 142 In Place Form 143 Dialog, Dialog Context, and Dialog Button Bar 147 Tooltip Dialog 150 JSON RPC Service (Remote Service) 154Conclusion 156Chapter 5 XPages and JavaServer Faces 157What Is JavaServer Faces? 158JSF Primer 159How Does XPages Extend JSF? 166 XML-Based Presentation Tier 169 Request Processing Lifecycle 169 User Interface Component Model 170 Standard User-Interface Components 176 Value Binding and Method Binding Expression Evaluation 179 XPages Default Variables 182Conclusion 186Chapter 6 Building XPages Application Logic 187Adding Application Logic 187 Using the xp:eventHandler Tag 190Simple Actions 198 Change Document Mode 198 Confirm Action 199 Create Response Document 200 Delete Document 201 Delete Selected Documents 202 Execute Client Script 203 Execute Script 204 Modify Field 205 Open Page 205 Publish Component Property 207 Publish View Column 208 Save Data Sources 209 Save Document 211 Set Component Mode 213 Set Value 214 Action Group 215 Send Mail 217Change Dynamic Content 219Move to Application Page 220Using JavaScript with XPages 220 Server-Side JavaScript 221 Client JavaScript 240Conclusion 250PART III: DATA BINDINGChapter 7 Working with Domino Documents 253Domino Document Data Source 254 Creating and Editing Documents 257 Controlling URL Parameter Usage 258 Creating Response Documents 258 Executing Form Logic 263 Managing Concurrent Document Updates 266 Multiple Document Data Sources 272 Document Data Source Events 274 webQuerySaveAgent 278 Common Data Source Properties 282 Miscellaneous Data Source Properties 282Working with Domino Documents-Programmatically! 283 Simple Actions 283 JavaScript 284Rich Documents 286Conclusion 291Chapter 8 Working with Domino Views 293databaseName Property 295View Data Source Filters 296 categoryFilter Property 297 Full Text Search Properties 299 parentId Property 304 ignoreRequestParams Property 305 keys, keysExactMatch Properties 306Other View Content Modifiers 309 startKeys Property 310 expandLevel Property 310A Page with Two Views 312 requestParamPrefix Property 313When Is a View Not a View? 314Go Fetch! Or Maybe Not 315 loaded, scope Properties 316 postOpenView, queryOpenView Properties 316Caching View Data 318Sorting Columns 323 Combining Searching and Sorting 323Accessing Calendar Data 326 The XPages Calendar REST Service 327 The iNotes Calendar Control 330Conclusion 336Chapter 9 Beyond the View Basics 337Pick a View Control, Any View Control 337The View Control: Up Close and Personal 340 Column Data Like You've Never Seen Before 341 Simple View Panel Make Over 343 Working with Categories 357 View Properties and View Panel Properties 366Data Table 370 Building a Mini Embedded Profile View Using a Data Table 376Repeat Control 381 A Repeat Control Design Pattern 383 Nested Repeats 384 The Rich Get Richer 386Data View 387 Configuring a Basic Data View Control 389 Using More Advanced Data View Control Features 392Some Fun with the Pager 395Conclusion 398PART IV: PROGRAMMABILITYChapter 10 Custom Controls 401Divide and Conquer 402Getting Started with Custom Controls 403Using Property Definitions 411 Property Tab 415 Validation Tab 417 Visible Tab 419 Property Definitions Summary 420Using the compositeData Object 421Send and You Shall Receive 427 Multiple Instances and Property Groups 430Custom Control Design Patterns 432 Aggregate Container Pattern 432 Layout Container Pattern 433Conclusion 441Chapter 11 Advanced Scripting 443Application Frameworks 443AJAX and Partial Refresh 444 Partial Refresh: Out-of-the-Box Style! 445 Partial Refresh: Doing-It-My-Way Style! 453Event Parameters 460Dojo Integration 463 dojoTheme and dojoParseOnLoad Properties 463 dojoModule Resource 464 dojoType and dojoAttributes Properties 466Integrating Dojo Widgets and Extending the Dojo Class Path 466Working with Traditional Notes/Domino Building Blocks 478 Working with @Functions, @Commands, and Formula Language 479 Working with Agents, In-Memory Documents, and Profile Documents 482Managed Beans 490Fulfilling a Customer Requirement: A Practical Field Study 496 Comparing Apples with Apples! 497 Who, What, Where, and (More Important) How? 503Conclusion 536Chapter 12 XPages Extensibility 537How to Create a New User Interface Control 538Example Component 539Let's Get Started 540 Create the Initial Application 540 Add Package Explorer to the Domino Designer Perspective 541 Add a Java Source Code Folder 543Building a Component 544 Create a UI Component Extension Class 545 Create Tag Specification (.xsp-config) for the UI Component Extension 547Create a Renderer and Register It in the Application Configuration (faces-config.xml) 551Quick Test Application to Verify Everything Is OK So Far 554Working with Component Properties 555 Component Properties and Attributes 555 Adding a Property to a Component 556 State Holder: Saving State Between Requests 556 Specifying Simple Properties 557 Inheriting xsp-config Properties 558Create the Initial xsp-config Definitions 562 Create base.xsp-config 562 Create an Interface to Match the Group Property Definition in base.xsp-config 565 Revisit the Component Properties in Domino Designer 568Specifying Complex Properties 568Complete the xsp-config for the UISpinner Component 579Complete the UI Component Extension, UISpinner 588Complete the Renderer UISpinnerRenderer 591Create a Sample Application Using the UISpinner Component 597 Take Your New UI Component Extension for a Test Drive 597 Create a Backing Bean 597 Register the Backing Bean 600 Create the Final Test Application 600 Nice Look and Feel 604 Test to Ensure That It All Works! 604Where to Go from Here 605 XPages Extensibility API Developers Guide 605 XPages Extension Library 606 IBM developerWorks 606Conclusion 606Chapter 13 XPages in the Notes Client 607Think Inside the Box 608Getting Started with XPages in the Notes Client 6103, 2, 1...Lift Off 612Bookmarks 614Working Offline 616One of These Things Is Not Like the Other 619Other Subtle Differences 621Extended Client-Side JavaScript Commands 624XPages: A Good Notes Citizen 632Introducing enableModifiedFlag and disableModifiedFlag 634Keeping Tabs on Your Client Apps 637Notes Links Versus Domino Links 641Some XPiNC Debugging Tips 645Optimizing XPages for Notes 649 Single Copy XPages Design Meets Preload 652 XPages RunOnServer 657XPages and Composite Applications 664 Making a Component of an XPages Application 664 Is Anyone Out There? Creating a Component that Listens to Your XPages Component 666 Assembling a Composite Application: Aggregating the XPages Discussion Component and Notes Google Widget 668 Hey, This Is a Two-Way Street. A Component May Receive and Publish Events 672Further Adventures with Composite Applications 675Chapter 14 XPages Mobile Application Development 677Getting Started with Mobile Application Development 678 Safari Browser 680 Chrome Browser 681 Firefox Browser 682 User Agent Device Detection 682 Device Bean 683Single Page Application Design Pattern 685 Mobile XPage Properties 686 Single Page Application Control (xe:singlePageApp) 687Mobile Application Navigation 688 Navigator 690 Hierarchical Navigation 692 Context-Sensitive Navigation 694Interacting with a Mobile Application 697 Orientation-Based Interaction 697 Touch-Based Interaction 701 Multitouch-Based Interaction 702Mobile Themes 703 Data View 704 Outline 706 Form Table 706 Styling XPages Controls for Mobile Applications 707Debugging Mobile XPages 710 Debugging XPages on iOS 711 Debugging XPages with Web Inspector Remote (aka weinre) 713XPages Mobile Extensions 716 Infinite Scrolling 717 Single Page Application Wizard 718Summary 724Chapter 15 XPages Unplugged and Debugged 725Debugging XPages Apps on the Server Side 726 Printing, Dumping, and Logging 726 try / catch / finally 729 Introducing the SSJS Debugger 735 Using the Java Debugger 748 Enabling XPages Java Logging 755Debugging XPages Apps on the Client Side 759 CSJS Debuggers 760 Debugging Dojo 762Conclusion 765PART V: APPLICATION USER EXPERIENCEChapter 16 XPages Theming 769It Used to Be Like That...But Not Anymore 769Styling with Style 771 Setting the Style Property Manually 776 Understanding How the Style Property Is Used 777 Computing the Style Property 778Styling with Class 779 Getting Something for Nothing 779 Understanding How the styleClass Property Is Used 785 Computing the styleClass Property 788 Working with Extended styleClass and style Properties 790Theming on Steroids! 794 What Is a Theme? 794 What Can You Do with a Theme? 795 Understanding Theme Architecture and Inheritance 796 Working with a Theme 804 Theme Resources 814 Resource Paths 824 Theme Properties, themeId, Control Definitions, and Control Properties 832Conclusion 848Chapter 17 Application Layout 849Divide and Conquer 849Application Layout: One Easy Way 850Application Layout: Customizing the Content Area 865Conclusion 870Chapter 18 Internationalization 871Using Localization Options 872 Localization with Resource Bundle Files 873 Setting Localization Options 874 Testing a Localized Application 877 Working with Translators 878 Merging XPage Changes 881 Gotchas! 883Localizing Computed Expressions and JavaScript 885 Adding a Resource Bundle 887 Localizing Computed Expressions 889 Localizing Client-Side JavaScript 889Localizing Script Libraries 890 Server-Side Script Libraries 890 Client-Side Script Libraries 891International Enablement 893Locales in XPages 894Deprecated Locale Codes 898Localizing Computed Fields 900Conclusion 901PART VI: PERFORMANCE, SCALABILITY, AND SECURITYChapter 19 A First Look at Performance and Scalability 905Golden Rules 906Understanding the XPages Request Processing Lifecycle 908 GET-Based Requests and the XPages Request Processing Lifecycle 909 POST-Based Requests and the XPages Request Processing Lifecycle 910Reducing CPU Utilization 912 GET-Based Versus POST-Based Requests 912 Partial Refresh 917 Partial Execution Mode 919Reducing Memory Utilization 923 HTTPJVMMaxHeapSize and HTTPJVMMaxHeapSizeSet Parameters 924 xsp.persistence.* Properties 925 dataCache Property 926Conclusion 928Chapter 20 Advanced Performance Topics 931Making Efficient XPages Requests 931 Profiling XPages Applications 932Introspecting XPages Requests Using a PhaseListener 949 The Myths and Realities of the Rendered and Loaded Properties 964 Using Partial Refresh, Partial Execution, and Dynamic Content 981Making Scalable XPages Requests 1004 Understanding the XPages Memory Model 1005 Analyzing XPages Memory Usage 1008 Establishing the Optimal Scalability Configuration 1020Conclusion 1034Chapter 21 Security 1035Notes/Domino Security and XPages 1035 Server Layer of Security 1036 Application Layer of Security 1037 Design Element Layer of Security 1039 Document Layer of Security 1046 Workstation ECL Layer of Security 1048 Useful Resources 1049Now Get Started 1049 Creating the Initial Application 1049 Implementing ACLs 1051 Sign the XPages with Your Signature 1052Programmability Restrictions 1053 Sign or Run Unrestricted Methods and Operations 1054 Sign Agents to Run on Behalf of Someone Else 1055 Sign Agents or XPages to Run on Behalf of the Invoker 1055 Sign Script Libraries to Run on Behalf of Someone Else 1055Restricted Operation 1056XPages Security Checking 1057 NSF ClassLoader Bridge 1058XPages Security in the Notes Client 1058 Execution Control List (ECL) 1059Active Content Filtering 1062Public Access 1065 Setting Public Access for XPages 1065 Checking for Public Access in XPages 1066SessionAsSigner 1067Enabling Extended Java Code with the java.policy File 1069Conclusion 1071PART VII: APPENDIXESAppendix A XSP Programming Reference 1075XSP Tag Reference 1075XSP Java Classes 1076Notes/Domino Java API Classes 1078XSP JavaScript Pseudo Classes 1078Appendix B XSP Style Class Reference 1081XSP CSS Files 1081XSP Style Classes 1082IBM OneUI Themes and Documentation 1086Appendix C Useful XPages Sites on the Net 1087Index 1089
Responsibility: Martin Donnelly, Mark Wallace, Tony McGuckin.

Abstract:

XPages instantly revolutionized Notes/Domino application development, and the newest versions deliver unprecedented performance and flexibility. This guide to XPages development has been updated and expanded to reflect all these improvements, through IBM Notes/Domino 9.0.1 and beyond. The authors have added several hundred pages of new content, including four new chapters, presenting new tips, samples, and best practices reflecting the platform's growing maturity. Writing for both XPages newcomers and experts, they cover the entire project lifecycle, including problem debugging, performance optimization, and application scalability. This second edition fully addresses enhancements to the XPages data sources for Domino views and documents; the latest XPages mobile library; the new Domino Designer Server-Side JavaScript debugger; and improvements to integrated technologies such as Dojo and CKEditor. Nearly every chapter contains at least one downloadable sample application, offering extensive hands-on practice. This guide concludes with complete references to XSP tags, relevant Java/JavaScript classes, and XSP style classes.

Reviews

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


Primary Entity

<http://www.worldcat.org/oclc/880372912> # Mastering XPages : a step-by-step guide to XPages application development and the XSP language
    a schema:MediaObject, schema:CreativeWork, schema:Book ;
   library:oclcnum "880372912" ;
   library:placeOfPublication <http://experiment.worldcat.org/entity/work/data/836229636#Place/upper_saddle_river_nj> ; # Upper Saddle River, NJ
   library:placeOfPublication <http://id.loc.gov/vocabulary/countries/nju> ;
   schema:about <http://experiment.worldcat.org/entity/work/data/836229636#CreativeWork/xpages> ; # XPages.
   schema:about <http://experiment.worldcat.org/entity/work/data/836229636#Topic/web_site_development> ; # Web site development
   schema:about <http://dewey.info/class/006.76/e22/> ;
   schema:about <http://experiment.worldcat.org/entity/work/data/836229636#Topic/internet_programming> ; # Internet programming
   schema:about <http://experiment.worldcat.org/entity/work/data/836229636#Topic/application_software_development> ; # Application software--Development
   schema:bookEdition "2nd ed." ;
   schema:bookFormat schema:EBook ;
   schema:contributor <http://experiment.worldcat.org/entity/work/data/836229636#Person/mcguckin_tony_1974> ; # Tony McGuckin
   schema:contributor <http://experiment.worldcat.org/entity/work/data/836229636#Person/wallace_mark_1967> ; # Mark Wallace
   schema:copyrightYear "2014" ;
   schema:creator <http://experiment.worldcat.org/entity/work/data/836229636#Person/donnelly_martin_1963> ; # Martin Donnelly
   schema:datePublished "2014" ;
   schema:description "XPages instantly revolutionized Notes/Domino application development, and the newest versions deliver unprecedented performance and flexibility. This guide to XPages development has been updated and expanded to reflect all these improvements, through IBM Notes/Domino 9.0.1 and beyond. The authors have added several hundred pages of new content, including four new chapters, presenting new tips, samples, and best practices reflecting the platform's growing maturity. Writing for both XPages newcomers and experts, they cover the entire project lifecycle, including problem debugging, performance optimization, and application scalability. This second edition fully addresses enhancements to the XPages data sources for Domino views and documents; the latest XPages mobile library; the new Domino Designer Server-Side JavaScript debugger; and improvements to integrated technologies such as Dojo and CKEditor. Nearly every chapter contains at least one downloadable sample application, offering extensive hands-on practice. This guide concludes with complete references to XSP tags, relevant Java/JavaScript classes, and XSP style classes."@en ;
   schema:exampleOfWork <http://worldcat.org/entity/work/id/836229636> ;
   schema:genre "Electronic books"@en ;
   schema:inLanguage "en" ;
   schema:isSimilarTo <http://worldcat.org/entity/work/data/836229636#CreativeWork/mastering_xpages> ;
   schema:name "Mastering XPages : a step-by-step guide to XPages application development and the XSP language"@en ;
   schema:productID "880372912" ;
   schema:publication <http://www.worldcat.org/title/-/oclc/880372912#PublicationEvent/upper_saddle_river_nj_ibm_press_2014> ;
   schema:publisher <http://experiment.worldcat.org/entity/work/data/836229636#Agent/ibm_press> ; # IBM Press
   schema:url <http://resolver.library.cornell.edu/cgi-bin/EBookresolver?set=Books24x7&id=64477> ;
   schema:url <http://proquest.safaribooksonline.com/?fpi=9780133373417> ;
   schema:url <http://proquest.tech.safaribooksonline.de/9780133373417> ;
   schema:url <http://proquest.safaribooksonline.com/9780133373417> ;
   schema:url <http://www.books24x7.com/marc.asp?bookid=64477> ;
   schema:workExample <http://worldcat.org/isbn/9780133373417> ;
   wdrs:describedby <http://www.worldcat.org/title/-/oclc/880372912> ;
    .


Related Entities

<http://experiment.worldcat.org/entity/work/data/836229636#Person/donnelly_martin_1963> # Martin Donnelly
    a schema:Person ;
   schema:birthDate "1963" ;
   schema:familyName "Donnelly" ;
   schema:givenName "Martin" ;
   schema:name "Martin Donnelly" ;
    .

<http://experiment.worldcat.org/entity/work/data/836229636#Person/mcguckin_tony_1974> # Tony McGuckin
    a schema:Person ;
   schema:birthDate "1974" ;
   schema:familyName "McGuckin" ;
   schema:givenName "Tony" ;
   schema:name "Tony McGuckin" ;
    .

<http://experiment.worldcat.org/entity/work/data/836229636#Person/wallace_mark_1967> # Mark Wallace
    a schema:Person ;
   schema:birthDate "1967" ;
   schema:familyName "Wallace" ;
   schema:givenName "Mark" ;
   schema:name "Mark Wallace" ;
    .

<http://experiment.worldcat.org/entity/work/data/836229636#Place/upper_saddle_river_nj> # Upper Saddle River, NJ
    a schema:Place ;
   schema:name "Upper Saddle River, NJ" ;
    .

<http://experiment.worldcat.org/entity/work/data/836229636#Topic/application_software_development> # Application software--Development
    a schema:Intangible ;
   schema:name "Application software--Development"@en ;
    .

<http://experiment.worldcat.org/entity/work/data/836229636#Topic/internet_programming> # Internet programming
    a schema:Intangible ;
   schema:name "Internet programming"@en ;
    .

<http://experiment.worldcat.org/entity/work/data/836229636#Topic/web_site_development> # Web site development
    a schema:Intangible ;
   schema:name "Web site development"@en ;
    .

<http://resolver.library.cornell.edu/cgi-bin/EBookresolver?set=Books24x7&id=64477>
   rdfs:comment "Connect to full text. Access restricted to authorized subscribers." ;
    .

<http://worldcat.org/entity/work/data/836229636#CreativeWork/mastering_xpages>
    a schema:CreativeWork ;
   rdfs:label "Mastering XPages." ;
   schema:description "Print version:" ;
   schema:isSimilarTo <http://www.worldcat.org/oclc/880372912> ; # Mastering XPages : a step-by-step guide to XPages application development and the XSP language
    .

<http://worldcat.org/isbn/9780133373417>
    a schema:ProductModel ;
   schema:isbn "013337341X" ;
   schema:isbn "9780133373417" ;
    .

<http://www.worldcat.org/title/-/oclc/880372912>
    a genont:InformationResource, genont:ContentTypeGenericResource ;
   schema:about <http://www.worldcat.org/oclc/880372912> ; # Mastering XPages : a step-by-step guide to XPages application development and the XSP language
   schema:dateModified "2017-10-22" ;
   void:inDataset <http://purl.oclc.org/dataset/WorldCat> ;
    .


Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.