We4IT lcty 2013 - infra-man - whats new in ibm domino application development

37
© 2013 IBM Corporation AD201 What's New In IBM® Domino® Application Development And Domino Designer Social Edition Originally presented by: Pete Janzen | Sr. Product Manager - IBM Dan O'Connor | Domino Designer Team Lead – IBM Presented today by: Matthew Fyleman | Product / Project Manager - We4IT

description

 

Transcript of We4IT lcty 2013 - infra-man - whats new in ibm domino application development

Page 1: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

AD201 What's New In IBM® Domino® Application Development And Domino Designer Social EditionOriginally presented by:

Pete Janzen | Sr. Product Manager - IBMDan O'Connor | Domino Designer Team Lead – IBM

Presented today by:Matthew Fyleman | Product / Project Manager - We4IT

Page 2: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

2 © 2013 IBM Corporation

Please note:

IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

Page 3: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

3 © 2013 IBM Corporation

Agenda

IBM Domino Designer 9.0 Social Edition

XPages in 9.0 Social Edition

OpenSocial / Embedded Experiences

Programmability

Futures

Page 4: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Domino Designer Social Edition Design Goals

Integrate Domino Designer Extension Library tooling into Designer “core” Improve Server Side JavaScript debugging experience!! Improve Domino Designer “Welcome” and “Home Page” experiences Improve XPages developer productivity New Jar design element Integrate and improve XSP Properties editor Bug fixes and quality improvements in key 'high traffic' areas (such as LS editor)

Page 5: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Domino Designer Server Side JavaScript Debugger

We heard you!!!! New “Domino Designer Server Side JavaScript” Debug Configuration

● Debugging is only supported on Domino Social Edition servers and later

● Debugger is based on Eclipse “Remote Java Connection” protocol and uses JPDA/JDI

Page 6: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Domino Designer Server Side JavaScript Debugger

Debugger can be invoked from a new toolbar item

Breakpoints can be set directly within XPages' SSJS or within SSJS Script Library

New 'breakpoint' keyword has been added to the SSJS syntax to allow for permanent breakpoints

─ Breakpoints are only enabled when the server is running in debug mode Sever must be configured to run in 'debug mode' in order for debugger to work

─ Note this implies that a port must be opened on the server, so it is not recommended to debug servers that have unprotected access to the internet!

– JavaEnableDebug=1– JavascriptEnableDebug=1– JavaDebugOptions=transport=dt_socket,server=y,suspend=n,address=8000

Page 7: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Debugging Server Side JavaScript!

Page 8: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Client-Side JavaScript/Dojo Debug Option

New debug options─ Use case:

– Dojo Library deployed in an OSGi bundle on the server– Developer needs to debug uncompressed version of the source files

• e.g. xspClientDojo.js vs xspClientDojo.js.uncompressed.js

─ How:– Set the “Use uncompressed resources” option in

XSP Properties editor

─ Result:– The XPages runtime will server *.uncompressed.js & *.uncompressed.css if available (from

within the OSGi bundle)

Page 9: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Server-Side Debug Options

Java Source code is included for all plug-ins in Social edition that originate in 8.5.3 UP1

Development Environment setup:─ VERY SIMILAR TO SSJS DEBUG SETUP!! :-)─ Server must be started in debug mode (again be aware of open server port!)

– JavaEnableDebug=1– JavaDebugOptions=transport=dt_socket,server=y,suspend=n,address=8000

─ Install Domino Debug Plugin into Domino Designer– http://tinyurl.com/XPagesDominoDebugPlugin

─ Import Java source plug-ins into Domino Designer– http://tinyurl.com/XPagesDesignerInstallSource (refer to step #11)

─ Set up Domino server and OSGI debug configurations

Page 10: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Improve Domino Designer “Welcome” and “Home Page” experience

Page 11: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Home Page and Welcome Experience

Updated look and feel to align with the new “Discover” page Simplified by removing the Welcome page altogether and consolidating content

onto Home page Updated content with intros and help links to help topics for major functional

areas Quick Links tab provides a list of working sets (shows more than 5 working sets

at a time!), task links, links to resources, and tips Home remains closed on restart if manually closed before shutdown

Page 12: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Improve XPages Developer Productivity

Content assist in xsp source editor editor!! (also works with SSJS in xsp source editor)

Hyperlink navigation withinthe xsp source editor

Hover help within the xsp source editor

Palette State Saving Jar design element Navigator now

shows all working sets!! :-)

Page 13: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Bug Fixes to Critical Issues

Bug fixes for:─ Error 500 when using Java Design Element (also fixed in 853 FP1)─ Source control issues encountered when importing databases with

many script libraries (also fixed in 853 FP2)─ Fixes to tooling issues reported against Upgrade Pack 1

Fixes to the LotusScript Editor and builder─ Problems view reports correct line numbers for LotusScript errors!─ Improve search navigation

Performance/memory improvements in the XPages editor

IMPORTANT! - Increase Designer JVM settings─ See technote 1617708: Designer Performance Technote─ http://tinyurl.com/DesignerJVMSettings

Page 14: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Help Enhancements

Domino Designer 9.0 Social Edition user assistance─ Improved Designer Home Page info and tips─ Content assist and hover help within the XPages source

Designer Eclipse help plugins─ Many customer Feedback issues addressed in help─ ~ 1000 updates in the Designer basic guide─ Content organization streamlined

to remove redundant material─ Language cross references added

to some topics─ Many new code examples

– C&S APIs.... LotusScript Editor F1 help

Page 15: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

15 © 2013 IBM Corporation

Agenda

IBM Domino Designer 9.0 Social Edition

XPages in 9.0 Social Edition

OpenSocial / Embedded Experiences

Programmability

Futures

Page 16: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

16 © 2013 IBM Corporation

Some Core Enhancements

Added 8.5.3 Upgrade Pack 1 to Domino, Domino Designer and Notes─ XPages Extension Library from UP1 now delivered with base platform!─ Domino data service (REST APIs)─ Teamroom and Discussion application templates

Upgrade core dependencies─ Dojo 1.8.1 offers enhanced mobile support and bug fixes─ CKEditor 3.6.5

– Fixed a number of bugs regarding multiple instances on an XPage, image resizing, attachment handling

– Added support for spell checker– Improved behavior on iOS (note: CKEditor is not supported on iOS)

─ Active Content Filter upgraded to 2.5.0.11

Page 17: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Redirect Control

Use cases:─ Traveller or iNotes rewrites the Notes doclink to a web link─ Custom redirect handling required within an application

How:─ Set form display property to a target XPage that includes a Redirect control instance

Result:─ The Redirect control instance will transform the request URL accordingly based on the set of

redirect rules Example:

─ For a mobile redirect rule: ─ http://foo/bar.nsf/0e5e7/04aae/?OpenDocument

– becomes...─ http://foo/bar.nsf/mobile.xsp?documentId=04AAE&action=openDocument#document

Page 18: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

A Fresh Look at XPiNC – Performance Improvements

Single Copy XPage Design feature─ Design Only copy of your XPiNC app locally deployed and preloaded─ Java classes (*.class) and resources (*.css, *.js *.image etc) are cached─ VERY efficient where many instances of a single application are run using XpiNC

Single Copy Design with computeWithForm enhancements─ computeWithForm can be very expensive in XPiNC when running remote applications─ Computed form plus all its children must be downloaded and executed within the client─ Forms may be arbitrarily large

– Large forms + High Latency Networks == Poor XPiNC performance– With local S.C.D computeWithForm loads design elements from local NSF

XPiNC – Beware of Application Design Bad Practices─ Avoid any application logic that incurs unnecessary network transactions

– Custom Columns in a viewPanel that call getDocument.getItemXxx();– @DbColumn().. @DBLookup() calls within the rendered property of controls

Page 19: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

XPiNC Performance Improvements

computeWithForm example:─ Run a Java Agent in a Local application and then on the same application on a server

Database app = session.getCurrentDatabase(); // Database app = session.getDatabase("myServer", “remoteReplica");Document doc = app.createDocument();doc.replaceItemValue("Form", "frmTask");doc.replaceItemValue("Subject", "computeWithForm operation)");doc.replaceItemValue("Body", "Text ... ...");

// log time before computeWithForm operationlong startTs = System.currentTimeMillis(); if (doc.computeWithForm(false, false)) {

// log time after computeWithForm operationlong endTs = System.currentTimeMillis();

System.out.println(Long.toString(endTs-startTs) + " millisecs (local)"); doc.save(true, true); System.out.println("document saved"); }

Sample Results

Page 20: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

XPiNC Performance Improvements – Run on Server

New “Run on Server” option─ Ability to run remote applications directly on the Domino server─ Mitigates situation where many XPiNC network transactions degrade performance─ Maintains XPages current look and feel─ Continues to support XPiNC custom features

– Notes bookmarking– Notes clients context menus (e.g. Open in Designer)– EnabledModifiedFlag/DisableModified flag behavior

─ XPiNC applications can be coded conditionally according to execution mode─ Uses Notes Account framework

– Facilitates seamless application access by avoiding re-authentication– If seamless authentication fails, runtime falls back to conventional XPiNC mode (run on client)

─ Run on Server is NOT enabled by default– Can be set using an application wide setting– Can be enabled by end user– Can be set via policy

Page 21: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

XPiNC Client Side JS Enhancements

XPiNC now has an extensible client side JavaScript model─ Since Domino 8.5.1 the client side XPiNC programming model has been limited

– Developers were limited to a small number of predefined commands (alert, confirm etc..)

─ New XSP command available in IBM Domino 9.0 Social Edition– XSP.executeCommand(commandID, commandParameters)

• commandID identifies the requested function• commandParams is an object containing arbitrary arg values

– Or can be null

─ The referenced commands are implemented via client side Java plug-ins– Extension point name; “com.ibm.xsp.rcp.ExtendedCommands– Uses simple IextendedCommands Java interface

─ Provides secure access to Notes front end functionality via:– NotesUIWorkspace classes– Eclipse API classes– Custom Java code

Page 22: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

XPiNC Client Side JS Enhancements

XSP.executeCommand(...) - How it works:─ XSP.executeCommand uses the same runtime path as other XPiNC XSP JS commands such as

XSP.alert(...), XSP.publishEvent(..) etc..

─ XSP.executeCommand(..) looks through the list of 'registered' providers (registered via ext point)– If a contributor is found, it is called– Results, if required are returned

Page 23: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

23 © 2013 IBM Corporation

Agenda

IBM Domino Designer 9.0 Social Edition

XPages in 9.0 Social Edition

OpenSocial / Embedded Experiences

Programmability

Futures

Page 24: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

24 © 2013 IBM Corporation

Simplifying Access to Your Application's Data & Services

Challenge: constant context switching with today's applications─ Many applications send notifications to our activity streams and inbox

– One workflow application may generate thousands of notifications/day─ Notifications not very useful by themselves─ Constant context shifting from one app to another adversely impacts productivity

Embedded Experiences keep you in the app(s) you work in the most─ They work where you work: Inbox or Activity Stream─ Keep users in context and focused on their work─ Enhances and extends the basic notification – emails become actionable with the latest data─ Reduces cycle time and improves organizational productivity & responsiveness

Support for embedded experiences:─ IBM Connections 4 CR2 mail & personal and community activity streams─ Goal: IBM Notes 9 and IBM iNotes 9

Embedded experiences contain either ...─ Arbitrary web pages or─ OpenSocial gadgets

Page 25: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

XPages Social Edition Integration Points ● New XPages SendMail Action:

● Drag & Drop action to facilitate sending simple e-mail● Advanced features support Embedded Experience

● Encapsulates required JSON or XML payload

Page 26: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

26 © 2013 IBM Corporation

Agenda

IBM Domino Designer 9.0 Social Edition

XPages in 9.0 Social Edition

OpenSocial / Embedded Experiences

Programmability

Futures

Page 27: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

© 2013 IBM Corporation

Programmability Updates

Backend Classes─ Enhanced performance ViewNavigator

Enhancements to Domino data service─ Improved support for rich text─ Support for concurrent updates to documents (Last-Modified, If-Unmodified-Since, etc.) ─ Miscellaneous bug fixes

Java1.6SR12 + ifix

New Calendaring and Scheduling APIs!!!─ Provides management of personal calendar data and scheduling operations─ Based on iCalendar─ Available for C, Java™, LotusScript®, and server-side JavaScript

Page 28: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

28 © 2013 IBM Corporation

C&S APIs: Capabilities

Simple CRUD actions● Create, Read, Update, and Delete calendar entries● Leverage iCalendar data format● Support for repeating entries● Support for all calendar entry types

– Meetings, appointments, reminders, all day events, anniversaries Implicit Scheduling

● Invitations, updates, reschedules, cancels, etc – all sent out automatically Calendar level operations

● Read calendar view data, get newly arrived invitations, ... Entry level operations

● Cancel a meeting, counter a meeting on a calendar, delete an appointment, etc Notice level operations

● Accept, decline, counter, and take other actions on invitations, reschedules, etc

Page 29: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

29 © 2013 IBM Corporation

Case Study – Core Transaction Enhancements Large customer has critical Notes application taking

5 seconds minimum for common operations─ Running 8.0.2

Comparative analysis showed benefits of moving to 8.5.3 FP2+ Outcome from just upgrading client to 8.5.3 FP2+

─ ~ 50% decrease in hourglass waiting─ ~ 40% decrease in overall NRPC

For details: AD209 Informed By The Client - Finding Inefficiencies In Critical Apps

Upgrading to current release can really

payoff

Page 30: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

30 © 2013 IBM Corporation

Agenda

IBM Domino Designer 9.0 Social Edition

XPages in 9.0 Social Edition

OpenSocial / Embedded Experiences

Programmability

Futures

Page 31: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

31 © 2013 IBM Corporation

Notes/Domino/DesignerSocial EditionPublic BETA

Notes/Domino & Domino Designer 9.0 Social Edition eGA

XWork Server 9.0 IBM Enterprise

Integrator for Domino 9.0

IBM Domino/XWork & Domino DesignerContinued Investment In Application Development

EO 2012 1H 2013 2H 2013 2014 2015

Notes/Domino/XWork/Designer 9.x Social EditionMaintenance Release

IBM Enterprise Integrator for Domino 9.x Maintenance Release

Notes/Domino/XWork/Designer 8.5.xMaintenance Release

IBM Enterprise Integrator for Domino 8.5.x Maintenance Release

Note/Domino/XWork/Designer 9.0 Upgrade Pack (App Dev)

Notes/Domino/XWork/Designer Next

IBM Enterprise Integrator for Domino Next

IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.

Page 32: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

32 © 2013 IBM Corporation

Proposed Enhancements for Domino Designer

UI enhancements to accelerate XPages development ─ New application creation experience (desktop and mobile web)─ Improve usability when using CSS and Themes

Investigate Eclipse platform upgrade to improve development tooling Support new XPages controls Support for OpenSocial gadgets Improve documentation Improve serviceability

Page 33: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

33 © 2013 IBM Corporation

Proposed Enhancements for XPages

XPages core─ Relational Database & REST data sources ─ Dojo upgrade + AMD support to improve performance─ Encryption and signature support

XPages mobile─ Enhanced mobile support

– Further leverage Dojox mobile, – Better Tablet support– Mobile renderings for additional XPages controls

─ Make it simpler to build mobile web apps─ Improved support hybrid applications

– Working with IBM Worklight─ Further enhance mobile rendering

Page 34: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

34 © 2013 IBM Corporation

Proposed Social App Dev Features

Leverage social services from Connections, Sametime, SmartCloud ─ Merge Social Business Toolkit SDK into XPages Social Enabler

Domino as an OAuth provider Support for OpenSocial gadgets Consume OpenSocial gadgets in custom applications

Page 35: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

35 © 2013 IBM Corporation

Additional App Dev Sessions of InterestTitle Speakers WhenAD202: Debug Server Side Javascript, Java, and XPages Apps Using the SSJS Debugger

Michael BlountDan O'Connor

Wed, 30/Jan04:15 PM - 05:15 PM

AD203: IBM Domino Designer: Tips and Tricks for Maximum Productivity

Kathy HowardDan O'Connor

Tue, 29/Jan10:00 AM - 11:00 AM(Repeat: Tue 3 – 4 PM)

AD204: How To Develop Great Applications Using XPages Design Patterns

Martin DonnellyTony McGuckin

Wed, 30/Jan01:30 – 02:30 PM

AD205: Successfully Delivering XPages Projects - All Things Considered

Padraic EdwardsMartin DonnellyTony McGuckin

Wed, 30/Jan04:15 PM - 05:15 PM

AD206: IBM Lotus Domino XPages: Embrace, Extend, Integrate

Niklas HeidloffPadraic Edwards

Tue, 29/Jan01:30 PM - 02:30 PM

AD208: IBM Lotus Domino XPages Performance in a Nutshell

Marie KehoeTony McGuckin

Tue, 29/Jan10:00 AM - 11:00 AM

AD209: Informed By The Client - Finding Inefficiencies In Critical Apps

John CurtisWei Shen

Tue, 29/Jan11:15 AM - 12:15 PM

AD210: It's Here! Calendar APIs And REST Services

Dave DelayNathan Barry

Wed, 30/Jan01:30 PM - 02:30 PM

AD211: What's New In The IBM Domino Objects? Jim CooperElizabeth Sawyer

Mon, 28/Jan02:15 PM - 03:15 PM(Repeat: Wed 10 – 11 AM)

BOF205: IBM Domino Designer and XPages Dan O'ConnorMartin Donnelly& a cast of characters

Wed, 30/Jan05:30 PM - 06:30 PM

Page 36: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

36 © 2013 IBM Corporation

Q & A

Page 37: We4IT lcty 2013 - infra-man - whats new in ibm domino application development

37 © 2013 IBM Corporation

Legal disclaimer

© IBM Corporation 2013. All Rights Reserved.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.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. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.

Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.