Mobile XPages Development for Domino 9.0
Duration: 2 1/2 classroom equivalent days
Discussion Access: 12 months

Summary Description
Learn how to move your 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 Mobile controls in Domino Designer 9.0. 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 9.0 (a Domino server is NOT required). Got questions? An expert TLCC instructor is a click away if you need help.

This course will also help prepare you for the two required exams to be certified as an IBM Certified Application Developer - Notes and Domino 9 as well as help prepare you for the Test LOT- 411 exam to be certified as an IBM Certified Advanced Application Developer - Notes and Domino 9.

Audience and Prerequisites
Experienced Notes and Domino 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 (9.0)
  • XPages Development 1 for Notes and Domino 9.0
System Requirements
The system requirements for this course are:
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 mobile XPages web applications. Some of the available solutions for testing mobile applications are described including the XPages mobile simulator from the Extension Library sample database, 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
  • Configure Domino Designer 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 Extension Library sample database
  • 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 mobile XPages 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 mobile XPages application
  • Add a Single Page Application control and the Application Page controls to an application
  • Add a Page Heading, Rounded List, Rounded List Item and Tool Bar Button to a mobile application
  • Add a Tab Bar and Tab Bar Button controls to a mobile application
  • 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 Toggle Switch control is introduced along with techniques for coding its onStateChanged event. 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. Finally, this module shows how to set Dojo attributes to change the properties, transitions and styling options for the XPages Mobile controls.
  • 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 Toggle Switch control to an application
  • Use both Client-side and Server-side JavaScript to code the onStateChanged event for a Toggle 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
  • Set additional Dojo Attributes for the Mobile XPages controls

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. 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. Finally, using different design patterns to provide support for mobile and non-mobile devices in the same application and using HTML5 storage is covered in this module.
  • 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
  • Redirection using the context.redirectToPage() method
  • Create redirect rules for mobile devices
  • Use the cross over design pattern
  • Set and get item values in the current client's local storage

Module 7 - Additional Exam Topics
This module covers additional topics to help prepare for the Test LOT- 411: XPages Mobile Advanced Topics IBM Certification exam.