Mobile XPages Development for Domino 8.5

Course Code: XP85MOBL
Course Title: Mobile XPages Development for Domino 8.5
Units: 10
Duration: 2 1/2 classroom equivalent days
Discussion Access: One Year

Summary Description
Learn how to move your Domino applications to the iPhone, Android, and Blackberry devices with TLCC's new self-paced distance learning course. This course will teach you how to develop mobile XPages applications using the new IBM Lotus Notes and Domino 8.5.3 Upgrade Pack, Version 1. You will learn how to take a Notes application and convert it for mobile use to display both Domino views and documents. Learn different techniques to test your mobile web application using mobile simulators and browsers. There are many demonstrations and activities you will do using Domino Designer 8.5.3 (a Domino server is NOT required). Got questions? An expert TLCC instructor is a click away if you need help.

Audience and Prerequisites
Experienced Notes and Domino 8.5 application developers with XPages development experience. Experience with JavaScript and the Domino Object Model (LotusScript or Java) is also strongly suggested. Click here to view the complete skills path for XPages development.
The following TLCC courses (or their equivalent) are prerequisite for this course:
  • JavaScript for XPages Development (8.5)
  • Developing XPages using Domino Designer 8.5
System Requirements
The system requirements for this course are:
  • Domino Designer 8.5.3
    (This must be installed prior to installing this TLCC course.)
    Click here to get the Domino Designer 8.5 client from IBM for free
  • IBM Lotus Notes and Domino 8.5.3 Upgrade Pack, Version 1 (or a current version of the openNTF Extension Library)
  • A current web browser client (preferably Google Chrome)
  • Access to the Internet for instructor support
Course Modules

Module 1 - Introduction to Mobile XPages Development
This module introduces the mobile application development landscape. The different types of mobile applications are first discussed followed by the requirements for designing XPages mobile web applications. The installation of the IBM Update Pack 1 is covered, along with the needed prerequisites. Some of the available solutions for testing mobile applications are described including the XPages mobile simulator from the IBM Update Pack, simulators from the device/OS providers and using different browsers. Finally, using the Developer Tools included with the Chrome browser for debugging web pages is covered.
  • Understand the mobile application development landscape
  • Compare the different types of mobile application development paths
  • Introduce the IBM Update Pack and the included mobile controls
  • Discover the requirements for mobile XPages development
  • Install the IBM Update Pack
  • Configure Domino Designer 8.5.3 for mobile application development
  • Enable a Domino application for the Extension Library
  • Set the mobile pagePrefix application property
  • Examine the available mobile testing solutions including the simulator provided from the IBM Update Pack
  • Use the integrated Chrome Developer Tools to debug client-side JavaScript in XPages
Module 2 - Mobile Controls and Application Layout
This module will cover how to use the mobile controls to begin building an XPages mobile application. First, the Single Page Application control is introduced as the parent container for all other mobile pages in the application. The remaining mobile controls are then introduced and demonstrated in the rest of this module. Key properties for each control are examined along with demonstrations to show how they affect the interface and navigation of the mobile application. Finally, how to develop an accordion style menu system is covered.
  • Examine the Mobile controls and describe their general purpose and function
  • Understand the containment model and architecture of an XPages mobile application
  • Add a Single Page Application control and the Mobile Page controls to an application
  • Add a Page Heading, Static Line Item, Rounded List and Tab Bar Button mobile controls
  • Use different techniques to provide navigation from mobile page to mobile page
  • Develop a multi-level accordion style menu
Module 3 - Displaying Domino Views and Documents
This module covers how to effectively display a Domino view and documents in a mobile XPages application. The Data View control is introduced along with a discussion and demonstration of the differences and limitations of using the control compared to a non-mobile XPages application. Learn to create a "view page" using the Data View control. Then learn how to create a "document page" to display the contents of the Domino document in read-only mode.
  • Introduce the Data View control
  • Understand the limitations of the Data View control when used in a mobile XPages application
  • Create a "view page" using the Data View control
  • Create a "document page" for displaying a Domino document
Module 4 - Creating Updating and Deleting Documents
This module extends the functionality of the document page by providing create, edit and delete capabilities. An overview of the core input controls that can be used in mobile XPage development is first discussed along with any considerations and limitations for their use in mobile applications.
  • Identify the Core input controls that can be used in mobile XPages applications
  • Understand the considerations and limitations for certain input controls and apply recommended alternatives
  • Create a Mobile Page for the creation and saving of a Domino document
  • Provide input validation and error messages for fields requiring validation
  • Include capabilities to edit or close an opened document
  • Provide a control to delete an existing Domino document
Module 5 - Advanced Mobile XPages techniques
This module will demonstrate additional advanced techniques for mobile XPages development. Techniques for improving the usability and UI of mobile applications are covered such as providing "field hints" and setting conditional styling based on the mobile device used. Learn how to move logical chunks of a mobile application using Custom Controls to speed-up the development process and simplify maintenance of mobile XPages applications. This module expands on the usage of the Outline control to build a dynamic menu of choices using the repeatTreeNode and the dominoViewEntriesTreeNode. Advanced filtering techniques and solutions for categorized views are covered in this module as well as providing full text search capabilities. The Mobile Switch control is introduced along with techniques for coding its onStateChanged event. Finally, implementing security for mobile XPages applications is discussed. Techniques for setting the field flags for reader and author fields are covered as well as the userBean class and its many useful properties for determining the current user's name and access privileges.
  • Provide "field hints" for input and selection controls in a mobile application
  • Use in-line styling of components in a mobile application
  • Conditionally set the style class based on the mobile device used to access the mobile page
  • Use Custom Controls for logical chunks of a mobile application
  • Build a dynamic menu of choices for an outline using the repeatTreeNode and the dominoViewEntriesTreeNode
  • Apply filtering techniques for categorized views such as filter by category and filter by column values
  • Provide full text search for a mobile application
  • Add a Mobile Switch control to an application
  • Use both Client-side and Server-side JavaScript to code the onStateChanged event for a Mobile Switch control
  • Use reader and author fields to implement document security in mobile XPages applications
  • Render functionality based on access privileges through the userBean class properties
Module 6 - Optimizing for the Mobile Device
Developing applications for use in mobile devices can require some additional design optimization to allow users to take advantage of the integrated features and capabilities of today's "smart" mobile devices. Incorporating these additional design elements into your mobile XPages applications provides for a more productive, elegant and "fun" user experience. This module covers how to provide a custom icon for the Home Screen so that the mobile web application has the look and feel of a native application. The Edit Box control includes support for the HTML5 "type" property to provide enhanced keyboard functionality for input types such as dates, email addresses, phone numbers and number ranges. This module also covers how to provide touch-to-send functionality for sending email and SMS text messages as well as touch-to-call functionality for dialing a phone number. Finally, this module shows how the Google Map functionality can be included in mobile XPage applications to take advantage of the the device's GPS to build directions from the current location to any other location.
  • Understand the differences between a bookmarked web page and a web application added to the Home Screen
  • Discover the user interface differences between the Web Application mode and Standard Mode when launching a mobile web application
  • Review the requirements and considerations for the Home Screen icon link tags in the HTML Head section
  • Add links for Home Screen icons to the XPage resources
  • Examine the support and functionality for the HTML5 input types
  • Set the HTML5 "type" property for an Edit Box control
  • Create links to provide touch-to-send functionality for sending email and SMS text messages in a mobile application
  • Create links to provide touch-to-call functionality for dialing a phone number in a mobile application
  • Use the Google Maps APIs in a mobile XPages application
  • Learn the main steps to display a Google Map on an XPage
  • Add a marker and InfoWindow to show the actual specified location on a Google Map
  • Learn how to get the device's current location as well as compute directions and display the route on a map