SlideShare uma empresa Scribd logo
1 de 38
XPages Mobile Development Lab Lance Spellman   |   President, WorkFlow Studios
Agenda ,[object Object]
Think about mobile requirement
Model page flow of mobile app
Create mobile Xpage
Create page fragments that mobile app will transition between ,[object Object]
Document
Linked Doc
Existing Notes Application ,[object Object]
Contains 3 types of documents/forms ,[object Object]
Actors
A join table for actors in movies ,[object Object],[object Object]
Actor list
Actors, categorized by the movies they appear in
Movie Form
Actor Form
Movie-Actor Form ,[object Object]
movie_id ,[object Object]
Movies By Title View ,[object Object]
Alpha listing of movie titles
Actors by Last Name View ,[object Object]
Second column has First Name, sorted alpha
Movie Actors View ,[object Object]
Categorized view on the movie's id
Actor id's appear in 2 nd  column
Mobile Requirement ,[object Object]
Allow selection of movie
For selected movie, show actors that appear in that movie
Model the Mobile Page Flow ,[object Object]
Initial content for that page should be a view listing the movies ,[object Object],[object Object],[object Object],[object Object],[object Object]
Looks up user information from the actor_id provided
Enable the Extension Library ,[object Object]
On Advanced tab, checkmark the Extension Library
Use oneuiv2 Theme ,[object Object]
Type “oneuiv2” into the Application Theme field
Create New XPage ,[object Object]
Go to source tab
Add Mobile App Control ,[object Object]

Mais conteúdo relacionado

Mais procurados

Gallery Tutorial
Gallery TutorialGallery Tutorial
Gallery Tutorial
PuttiApps
 

Mais procurados (20)

Carousel Tutorial
Carousel TutorialCarousel Tutorial
Carousel Tutorial
 
Coupons Tutorial
Coupons TutorialCoupons Tutorial
Coupons Tutorial
 
Links Tutorial
Links TutorialLinks Tutorial
Links Tutorial
 
Shopify
ShopifyShopify
Shopify
 
Point and Click App Building Workshop
Point and Click App Building WorkshopPoint and Click App Building Workshop
Point and Click App Building Workshop
 
Android app development lesson 1
Android app development lesson 1Android app development lesson 1
Android app development lesson 1
 
About Us Tutorial
About Us TutorialAbout Us Tutorial
About Us Tutorial
 
Push Notifications Tutorial
Push Notifications TutorialPush Notifications Tutorial
Push Notifications Tutorial
 
App Design and Layout
App Design and LayoutApp Design and Layout
App Design and Layout
 
Gallery Tutorial
Gallery TutorialGallery Tutorial
Gallery Tutorial
 
App Design + Layout
App Design + LayoutApp Design + Layout
App Design + Layout
 
Website Design Configuration
Website Design ConfigurationWebsite Design Configuration
Website Design Configuration
 
ALL NEW OOP 2014
ALL NEW OOP 2014ALL NEW OOP 2014
ALL NEW OOP 2014
 
Mobile Website Tutorial
Mobile Website TutorialMobile Website Tutorial
Mobile Website Tutorial
 
IBM Notes 9 Social Edition Cheat Sheet
IBM Notes 9 Social Edition Cheat SheetIBM Notes 9 Social Edition Cheat Sheet
IBM Notes 9 Social Edition Cheat Sheet
 
RSS Tutorial
RSS TutorialRSS Tutorial
RSS Tutorial
 
RSS Tutorial
RSS TutorialRSS Tutorial
RSS Tutorial
 
SharePoint Project Phase 3 to 4
SharePoint Project Phase 3 to 4SharePoint Project Phase 3 to 4
SharePoint Project Phase 3 to 4
 
Dropbox with Mule
Dropbox with MuleDropbox with Mule
Dropbox with Mule
 
Actionview
ActionviewActionview
Actionview
 

Semelhante a Lab: Mobile App Development with XPages and Extension Library

Detecting and Summarizing GUI Changes in Evolving Mobile Apps
Detecting and Summarizing GUI Changes in Evolving Mobile AppsDetecting and Summarizing GUI Changes in Evolving Mobile Apps
Detecting and Summarizing GUI Changes in Evolving Mobile Apps
Kevin Moran
 
Implementing a Splash Screen in Android: Full Guide
Implementing a Splash Screen in Android: Full GuideImplementing a Splash Screen in Android: Full Guide
Implementing a Splash Screen in Android: Full Guide
Dean Djermanovic
 
Windows phone 8 session 6
Windows phone 8 session 6Windows phone 8 session 6
Windows phone 8 session 6
hitesh chothani
 
Android Development with Flash Builder Burrito
Android Development with Flash Builder BurritoAndroid Development with Flash Builder Burrito
Android Development with Flash Builder Burrito
Jeff Bollinger
 
Windows phone 8 session 3
Windows phone 8 session 3Windows phone 8 session 3
Windows phone 8 session 3
hitesh chothani
 

Semelhante a Lab: Mobile App Development with XPages and Extension Library (20)

Ap quiz app
Ap quiz appAp quiz app
Ap quiz app
 
App Settings
App SettingsApp Settings
App Settings
 
App Configuration
App ConfigurationApp Configuration
App Configuration
 
Creating a content managed facebook app
Creating a content managed facebook appCreating a content managed facebook app
Creating a content managed facebook app
 
Detecting and Summarizing GUI Changes in Evolving Mobile Apps
Detecting and Summarizing GUI Changes in Evolving Mobile AppsDetecting and Summarizing GUI Changes in Evolving Mobile Apps
Detecting and Summarizing GUI Changes in Evolving Mobile Apps
 
Implementing a Splash Screen in Android: Full Guide
Implementing a Splash Screen in Android: Full GuideImplementing a Splash Screen in Android: Full Guide
Implementing a Splash Screen in Android: Full Guide
 
Copycat Site BluePrint - make money online fast
Copycat Site BluePrint - make money online fastCopycat Site BluePrint - make money online fast
Copycat Site BluePrint - make money online fast
 
Web Os Hands On
Web Os Hands OnWeb Os Hands On
Web Os Hands On
 
App creation guide
App creation guideApp creation guide
App creation guide
 
Best Practice iPhone SDK App Design
Best Practice iPhone SDK App DesignBest Practice iPhone SDK App Design
Best Practice iPhone SDK App Design
 
Lecture 2 Styling and Layout in React Native.pptx
Lecture 2 Styling and Layout in React Native.pptxLecture 2 Styling and Layout in React Native.pptx
Lecture 2 Styling and Layout in React Native.pptx
 
Getting the Magic on Android Tablets
Getting the Magic on Android TabletsGetting the Magic on Android Tablets
Getting the Magic on Android Tablets
 
Building a simple user interface lesson2
Building a simple user interface lesson2Building a simple user interface lesson2
Building a simple user interface lesson2
 
Windows phone 8 session 6
Windows phone 8 session 6Windows phone 8 session 6
Windows phone 8 session 6
 
Android view animation in android-chapter18
Android view animation in android-chapter18Android view animation in android-chapter18
Android view animation in android-chapter18
 
Android Development with Flash Builder Burrito
Android Development with Flash Builder BurritoAndroid Development with Flash Builder Burrito
Android Development with Flash Builder Burrito
 
Creating & consuming simple web service
Creating & consuming simple web serviceCreating & consuming simple web service
Creating & consuming simple web service
 
Build Restful Service using ADFBC
Build Restful Service using ADFBCBuild Restful Service using ADFBC
Build Restful Service using ADFBC
 
Android xml-based layouts-chapter5
Android xml-based layouts-chapter5Android xml-based layouts-chapter5
Android xml-based layouts-chapter5
 
Windows phone 8 session 3
Windows phone 8 session 3Windows phone 8 session 3
Windows phone 8 session 3
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Lab: Mobile App Development with XPages and Extension Library

  • 1. XPages Mobile Development Lab Lance Spellman | President, WorkFlow Studios
  • 2.
  • 3. Think about mobile requirement
  • 4. Model page flow of mobile app
  • 6.
  • 9.
  • 10.
  • 12.
  • 14. Actors, categorized by the movies they appear in
  • 17.
  • 18.
  • 19.
  • 20. Alpha listing of movie titles
  • 21.
  • 22. Second column has First Name, sorted alpha
  • 23.
  • 24. Categorized view on the movie's id
  • 25. Actor id's appear in 2 nd column
  • 26.
  • 28. For selected movie, show actors that appear in that movie
  • 29.
  • 30.
  • 31. Looks up user information from the actor_id provided
  • 32.
  • 33. On Advanced tab, checkmark the Extension Library
  • 34.
  • 35. Type “oneuiv2” into the Application Theme field
  • 36.
  • 38.
  • 39. Find the “Mobile Apps” section
  • 40. Drag an “App” control on to the page
  • 41.
  • 42.
  • 43.
  • 44. It will appear in a mobile app as it's own “page” in the application
  • 45. Mobile Pages slide in/out, fade in/out as they are used
  • 46. The content of pages is retrieved via AJAX when it's time to display that page fragment
  • 47. Add a Mobile Page control inside the Mobile App container
  • 48.
  • 49. In Properties, set id = “home”
  • 50.
  • 51. In cases with an active view, you might want to set this to true
  • 52.
  • 53. Add Page Heading control inside the Mobile Page
  • 54. Set the label property to “Movie Listing”
  • 55.
  • 56. Turn on Develop Menu from Preferences (if not on already)
  • 57. From Develop Menu, set User Agent to Mobile Safari iPhone 4.1
  • 58. Go to http://127.0.0.1/mobile.nsf/m.xsp
  • 59. Just a blue banner with our “Movie Listing” title so far
  • 60.
  • 61. Add a Data View Control inside the home Mobile Page
  • 62. Change to the Design tab
  • 63. Wow, there's a lot going on here
  • 64.
  • 65. Set rendererType = “com.ibm.xsp.extlib.mobile.MobileView”
  • 66. In the data properties, select “Domino View”
  • 67. For viewName, set it to “byTitle”
  • 68. For var, set it to “view1”
  • 69.
  • 70. Need to define a view column (or more) to display
  • 71.
  • 72. Click the selector next to the “summaryColumn” property
  • 73.
  • 74.
  • 75. Still inside the data view container, add the code below
  • 76. xp:key corresponds to the editable area we see in design mode
  • 77. The “for” variable in addRows points back to the id assigned to the data view container
  • 78.
  • 79. Can be whatever value you want
  • 80.
  • 81. We'll create the “movie” mPage and setup the view to open that page when clicked
  • 82. Below the 1 st mPage, add a new “Mobile Page” control
  • 83. Set the id to “movie”
  • 84.
  • 85.
  • 86. The Header control is much like the Page Header Control in that it supports a title, but it also supports buttons for going back to previous page
  • 87. Drag a “Header” control into the “movie” mPage
  • 88. Set title to “Movie”
  • 90. Set backPageId to “home”
  • 91. Set backPageUrl to “#home”
  • 92. Set transition to “slide”
  • 93.
  • 94.
  • 95.
  • 96. The “movie” page should have a header with a back button labeled “Home”
  • 97. The Home button should take you back to the Home mPage
  • 98.
  • 99. In mobile apps, it's important to only load things at the time needed
  • 100. By putting a panel in the mPage, the data for that panel will only be computed when that page is active
  • 101. Drag a panel control below the header in “movie” mPage
  • 102. Set up a data source for the panel for a Domino Document
  • 103. Set to the “movie” form and Open Document
  • 104.
  • 105. The properties allow for it to have an icon, main title, right title, a url if it's clicked
  • 106. We just want to use the title property and display the name of the movie
  • 107. Drag a “Static Line Item” control from Mobile Apps into the panel
  • 108.
  • 109. Document1 is the data source defined in the panel
  • 110. Name is the field name for the movie title on the movie form
  • 112.
  • 113. This will be an area where we can provide a highlight panel with more information about the movie
  • 114.
  • 115. Either go to the style tab for the control and add 10px margin and 5px padding, or create a style class in css and apply it
  • 116.
  • 117.
  • 119.
  • 120. The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
  • 121. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
  • 122. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both.
  • 123. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
  • 124. All references to LOANr refer to a fictitious company and are used for illustration purposes only. The information on the new product is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information on the new product is for informational purposes only and may not be incorporated into any contract. The information on the new product is not a commitment, promise, or legal obligation to deliver any material, code or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion