2. Expanded Event Support
• Both client side and server side
mobile specific events
• Application Page
– onOrientationChange
– onResize
• Single Page Application
–
–
–
–
OnBeforeTransitionIn
OnBeforeTransitionOut
OnAfterTransitionIn
OnAfterTransitionOut
Warning: Be careful when using the
page transition events as they do not
follow a normal page lifecycle and
issue execute a get before the post.
learn. do. dream.
www.redpilldevelopment.com
3. Mobile Themes
• Designation of a specific mobile
theme and the ability to override
for iOS and Android devices
• New mobile theme: OneUI IDX v1.3
• Mobile theme inheritance now
supported
• CSS Stylesheet ordering corrected
to allow custom precedence
learn. do. dream.
www.redpilldevelopment.com
4. Mobile Themes (pre 9.0.1)
• Peter Presnell has previously
blogged about adding an iOS 7
theme for mobile applications
and the technique necessary to
include the CSS in the correct
order on the XPage.
• Note: 9.0.1 Does not support
iOS7 theming out of the box.
learn. do. dream.
www.redpilldevelopment.com
5. Device Bean
• deviceBean.mobile
• deviceBean.tablet
• deviceBean.android
• deviceBean.iphone
• deviceBean.ipad
• deviceBean.blackberry
• deviceBean.windows
• deviceBean.version[“key”]
Note: SSJS versions of the
above EL statements are also
available.
learn. do. dream.
www.redpilldevelopment.com
6. Device Bean (pre-9.0.1)
• Note: The device bean can be
implemented fairly easily
without waiting for an
upgrade to 9.0.1.
• Keith
Strickland
has
previously posted a blog
article how this can be
achieved using SSJS and CSJS.
• To develop as a bean the
code needs to be converted
to the equivalent Java.
learn. do. dream.
SSJS
var isMobile = {
Android: function() {
return context.getUserAgent().getUserAgent().match(/Android/i);
},
BlackBerry: function() {
return context.getUserAgent().getUserAgent().match(/BlackBerry/i);
},
iOS: function() {
return context.getUserAgent().getUserAgent().match(/iPhone|iPad|iPod/i);
},
Opera: function() {
return context.getUserAgent().getUserAgent().match(/Opera Mini/i);
},
Windows: function() {
return context.getUserAgent().getUserAgent().match(/IEMobile/i);
},
any: function() {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
}
};
CSJS
var isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
Opera: function() {
return navigator.userAgent.match(/Opera Mini/i);
},
Windows: function() {
return navigator.userAgent.match(/IEMobile/i);
},
any: function() {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
}
};
www.redpilldevelopment.com
7. Partial Refresh File Uploads
• File uploads no longer require a full
refresh of the page to initiate a file
upload.
• This makes it easier to implement
mobile applications that integrate
with the camera application for
uploading of photos.
learn. do. dream.
www.redpilldevelopment.com
8. Other Features
• Upgrade from Dojo 1.8.1 to 1.8.3
(current Dojo version is 1.9.1)
• Upgrading XULRunner browser (XPiNC)
from 3.6.2 to 10.0.6 (Firefox 10.0.6).
Note: Current release of Firefox is 25.
• Upgrading CK Editor from 3.6.6.1 to
3.6.6.2.
• A new (experimental) feature to run
XPages builds from a command line. A
more than useful feature for build
automation and test automation.
• New calendaring and scheduling REST
services (via OpenNTF).
• New high performance XPages view
navigator based on Note ID.
– Xsp.propertyies:
xsp.domino.view.navigator=ByNoteId
learn. do. dream.
www.redpilldevelopment.com
10. Beyond 9.0.1
• IBM is laying the foundation
for
“Extensibility
via
OpenNTF”. This include:– Development of the IBM IDX
Mobile Theme
– More Device Bean API extensions
– Enhanced mobile controls such as
date/time pickers, typeahead,
touch gestures etc.
learn. do. dream.
www.redpilldevelopment.com