41
Domino Designer & XPages 8.52 and Beyond Martin Donnelly IBM Ireland Software Lab

Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

  • Upload
    others

  • View
    5

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Domino Designer & XPages 8.52 and Beyond

Martin Donnelly IBM Ireland Software Lab

Page 2: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Before We Begin...● Please turn off:

– Pagers– Cellphones– Anything else that buzzes, sings, screams, beeps, chirps, barks, etc.

Page 3: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

3

NOTE :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 4: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

4

Agenda

● Introduction● XPages● Domino Designer● Futures● Wrap Up● Your Questions!

Page 5: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

5

Agenda

● Introduction● XPagesXPages● Domino DesignerDomino Designer● FuturesFutures● Wrap UpWrap Up● Your Questions!Your Questions!

Page 6: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Martin Donnelly● Software Architect: IBM Ireland

▬ IBM Lotus® Domino® Designer 8.5.x / IBM Lotus® Domino® XPages▬ IBM Lotus® Component Designer 6.0▬ JavaServer™ Faces (JSF) Tooling IBM® Rational® Application Developer ▬ Java Visual Editor extensions for IBM® Rational® Application Developer

● Software Developer: Iris Associates / Lotus Development▬ IBM Lotus® Domino® Designer V4.6 to V6.01▬ IBM Lotus® 1-2-3® for Unix®, ▬ LotusScript, etc.

● “Mastering XPages” - Author

Speaker Introduction

Page 7: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

● Domino developers with some XPages experience ● Expertise not required

● IT Managers familiar with the Domino App Dev model● Intermediate level material

● Abstract▬ In this talk you will learn about the newest features of both

Domino Designer and XPages in Notes/Domino V8.5.2, and also get a glimpse of the cool stuff coming down the pike in 8.5.x. A must-see session for any developer looking to improve the look, feel, behavior and performance of their XPages applications.

For Whom The Talk Aims

Page 8: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Complete package for delivering business solutions

● Domino Designer● Eclipse based IDE with an extensible framework● Build new and maintain existing applications

● XPages – Web 2.0 framework● Use industry standard Web development skills (HTML, CSS & JavaScript)● JavaServer Faces facilitates reuse of Java libraries ● One model for Web, Rich Client and Mobile

Web 2.0 CompositesNotes Client

Mobile Devices

DominoDesigner

Dominowith

XPages+ =

Tailored solution that meetsyour business objectives

Page 9: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

9

Designer & XPages – The Road Thus Far ...

2010

2009- First release of Xpages- Runs on the Domino server

Notes/Domino 8.5

Notes/Domino 8.5.1 - Runs within the Notes client- Generates iWidget- Active Content Filtering- Performance/scalability improvements

• - Stability/performance improvements

• - Better client integration• - Fixing pending issues/requests• - Extensibility APIs

Notes/Domino 8.5.2

Notes/Domino 8.5.x

- Application preloading• - JavaScript Aggregation• - XULRunner Upgrade• - CKEditor Upgrade• - Bug Fixes

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

- Rebased to Eclipse platform- New XPage & Custom Control

design elements- Fully integrated XPages

development environment

XPages Runtime

Domino Designer

- Performance/Stability Improvements- New editors

- New Extensibility APIs - NO CHARGE Designer Download !!!

• - Designer Framework Enhancements• - Improved Version Awareness

• - Customer Driven Tactical Improvements

• - Source Control Integration• - Improved JavaScript Editors

• - CSS Preview

2009

Soon

Page 10: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

10

Agenda

● IntroductionIntroduction● XPages● Domino DesignerDomino Designer● FuturesFutures● Wrap UpWrap Up● Your Questions!Your Questions!

Page 11: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Performance and scalability improvements 8.5.2● Enhancements to backend classes● Shared design elements● Performance report published

8.5.2 XPages discussion database server performance● http://www.ibm.com/developerworks/lotus/library/domino85-xpages-perf/index.html

“User scalability improved three times, and network bandwidth and user throughput (transactions per second) improved...”

XPages Performance and Scalability

Page 12: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

XPages Performance and Scalability - 8.5.x● XPages preloading :

– preloads XPages Java classes before the application is opened ● i.e. compiled XPages, custom controls, runtime classes etc

– enabled via notes.ini (provisionable across the enterprise)– Works on Notes client and/or Domino server– XPagesPreload=1 … to preload just the core runtime XPagesPreloadDB=db.nsf/myPage.xsp … to preload specific app(s)

● Particularly relevant to XPages in Notes Client remote execution

NSF

● Data must be fetched across the network from the remote NSF … but ...

● .class files must come across also to be executed locally in XPD web container

.class files

Page 13: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

XPages Performance and Scalability - 8.5.x● JS and CSS Aggregation

– Dynamically aggregates DOJO javascript modules and .css files– Drastically reduces number of browser requests for JS and CSS resources

● Latency between browser requests has significant negative impact– Dramatic improvements evident in initial application performance

● e.g. an extreme case in the Extension Library using DWA_ListView.xsp

● Settable via Application Prpoerties (sets xsp.resources.aggregate=true in xsp.properties)

Page 14: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

XPages: Enhanced User Experience 8.5.2● Running agents on top of in-memory documents● Support for multiple levels of categorization

– cat1\cat2 ... finally !● View Data Source startKeys property

– Not a filter, an actual starting point for the view contents● Data collection Pager can force “last” option to be presented

– Has performance implications to consider ● Document Data Source

– Supports “soft delete” through a new property– Use case = Undelete documents from Trash folder

● Data Validation– Documents can be saved without validation– New property disableValidators="true"– Use case = Save As Draft

Page 15: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

XPages: Enhanced User Experience 8.5.x● Results of a full text search can now be sorted● Other advanced full text features also added to view data source

– e.g. fuzzy matching, word variants matching, exact match only ● Based on new Java API method View.ftSearchSorted(varargs ...)

– Multiple search terms can be provided via a Java Vector object

Results for “paper”

Search term = “paper”

Results sortable by any resortable

column

Page 16: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

XPages: Enhanced User Experience ● CKEditor replaces Dojo rich text editor in 8.5.2

– Dojo rich text editor still available but not default choice– CKEditor provides a consistent rich text editing experience across portfolio

Predefined “Emoticons”Embedding Images

Search and replace

Working with tables

Full Screen Mode

Page 17: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

XPages – Miscellaneous Updates● Technology Updates for 8.5.x

– XULRunner v1.9.2.1 ● equivalent to Mozilla FireFox 3.6.1

– Dojo v1.5.0● improved theming, more support for HTML 5 features

– CKEditor v3.4.3● bidi support, OneUI V2.1 skin, better accessibility support

– OneUI v2.1.2● includes IBM Project Vulcan look and feel, among other things

● For the full skinny on 8.5.2 XPages changes– http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Whats_New_in_852_for_XPages

Page 18: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Extend XPages using the Extensibility API● Let people create deployable XPages libraries

– Deployed as Eclipse plug-ins in the Notes client and the Domino server– Controls, render kits, data sources, simple actions, servlets, request

customizers, etc– XPage libraries run in OSGi framework on Client and Server

● Make public the XPages Java APIs– Javadoc – articles and samples

● XPages extensibility API additions in 8.5.x– Pluggable Dojo releases through plug-ins– Dynamic management of themes– Many other API enhancements

● Expect to see an extended XPages Extension Library on OpenNTF leveraging these new capabilities

Page 19: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

XPages Extension Library● Get a rich Web UI faster than ever ● Greatly improves developer productivity

– 88 native XPage controls (drag / drop / configure)– Integrated within Domino Designer– Extensions delivered as plugins that run on Client and Server

● Web 2.0 controls/behaviors

– Brings those long sought after client behaviors to the web● Dialog boxes, pick lists, REST services...

● Source code, so you can see examples and try for yourself– Free, download it from openNTF

Page 20: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Team Room and Document Library templates

● Modernize the Teamroom and Document library ● Portfolio of most common XPage templates (Discussion, TeamRoom, DocLib)● Based on 8.5.2 and the extension library● Delivered on OpenNTF TeamRoom with Vulcan Theme

Page 21: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

21

Agenda

● IntroductionIntroduction● XPagesXPages● Domino Designer● FuturesFutures● Wrap UpWrap Up● Your Questions!Your Questions!

Page 22: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Domino Designer 8.5.2 Highlights● Redesigned “Open Application” dialog

– Improved usability and supports working sets– Choose multiple databases when adding to a working set

● XPage editing enhancements– Drag and drop from control or data palette in source mode– Improved data type recognition when binding form fields– Dojo panels, re-analysis of “all properties” vs. “pretty panels”– Design XPage applications for lower level target servers

● Errors reported when you use features not available for your target● Sign your application● Database scripts leverage new Eclipse based LotusScript editor● Database icon from an imported image!● XPages available to public access users● And much more...

Page 23: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Get Some Perspective ! ● Two new perspectives join the Domino Designer perspective to help you focus

your environment to the task at hand:– XPages perspective

● Only design elements necessary for XPage applications● Eclipse views as needed (outline, navigator, control palette, etc)

– Forms/Views perspective● Only design elements necessary for Forms/Views development● Eclipse views as needed (remove control palette, etc.)

● Filter individual design element types● And add some common views more easily!

New Perspectives

Page 24: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Continued Usability Tune-Ups● Need web preview to use a different port from 80?● Show Infobox on opening a design element or not?

– New preferences mean that now you can decide!● Sign button consistently available ● Renaming design elements

– Dialog allows you to supply both the name and the alias– Accessed by <F2>in the design list, or from navigator

● New XPage Outline feature – Expand and Collapse All

Page 25: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Improving The Extended Designer Experience● Create your own properties panel for XPage control extensions

– Use pretty panels and not All Properties all the time● Personalize your palette with Palette Profiles

– Use different profiles for different development situations

Page 26: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Updated JavaScript Editor● Client JavaScript editor replaced with the newest WTP editor compatible with

Designer's version of Eclipse (3.4.2)● Provides improved validation● Outline view support for classes, etc● Formatting preferences● Code templates● Code folding

Page 27: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Leveraging Java in XPages Applications● Now has a proper home: the Java design element!● Java code can be directly called from Server Side JavaScript● Eclipse Java editor and tooling directly available from Designer perspective● Create a new class, interface, or enum● Class file stored within the Java element note● No worries about deletion stubs, etc

New Java element

Standard Eclipse Java Tools

Page 28: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Source Control Enablement● Domino Designer's virtual file system, though indispensable, proved a barrier to

working with Eclipse-enabled source control products● Designer bridges the gap and provides synchronization with an on-disk project

with which the source control product interacts

● Source control system neutral - so far we've tested with SVN (RTC next)– Designer is agnostic, the only requirement is that they have an Eclipse

plugin for their product● Facilitates team development (of course), but also provides version control and

backup for solitary developers

SVN

RTC

(we don't care)NSF

Page 29: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

How Does It Work?● It is the on-disk project that interacts with the source control product● Every design element in the NSF is synchronized with a physical file in the on-

disk project● File based design elements store actual file content in the repository, with a

second file managing metadata● Choice of binary or text based DXL for “non-file” design elements (forms, views)● Can start with a project in a repository and bring it in to Designer or can start

with an NSF and move it up to repository● Automatic or on-demand synchronization between the NSF and the on-disk

project (your preference)● Synchronize your on disk project with the source control provider as needed,

using the provider's menu options and commands● Let's see it in action :-)

Page 30: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

And in Case You Can't Wait...● Please try it and give us your feedback!● http://www.openntf.org/blogs/openntf.nsf/d6plinks/NHEF-8AVEUU

Page 31: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

31

Agenda

● IntroductionIntroduction● XPagesXPages● Domino DesignerDomino Designer● Futures● Wrap UpWrap Up● Your Questions!Your Questions!

Page 32: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Application Development Futures● IBM is focusing on three key aspects of application development

– Social capabilities– Mobile enablement of social apps– Speed ... enabling rapid application development and deployment

● Domino can deliver on all three today, but we want to enhance our support going forward

Get Social. Do Business.

Page 33: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Generating OpenSocial Gadgets

● Provide an OpenSocial container, and participate in embedded experiences, generate gadgets out of XPages

XPages

OpenSocial

Page 34: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Mobile Applications● Seamlessly extend your applications to mobile devices

– Provide a dedicated set of controls– Deliver a native look and feel– Tap into device services– Leverage dojox.mobile & HTML5

● Delivery– Today – mobile custom controls on OpenNTF– Tomorrow – XPage controls on OpenNTF and in Domino

Page 35: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Improving Platform Extensibility with OSGi● OSGi - Open Service Gateway Initiative ( http://www.osgi.org)

– Open source Java based framework

– Highly modular: Maximize reuse of third party eclipse based components

– Lifecycle: Bundle Activator improves Java resource management

– Extensible: Service Registry and extension points

● Motivation – Improve server extensibility

– Simplify server add-in task implementation with Tasklet container

– Easily add 3rd party libraries (i.e. XPage Extension library)

– Better componentization (modularization and extension points)

– Maximize asset reuse

– Leverage existing Eclipse based tooling for OSGi

● HTTP server capabilities in Domino Next– Full fledged Servlet container by integrating the XPD Web Container

– XPages applications running as WAB (Web Applications Bundles)

– Rest APIs

Page 36: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

REST Services for Domino● Two types of services

– One tied to Domino data model: Domino Access Services● Get handle to documents and collections of documents● JSON for easy manipulation via JavaScript or Java

– One exposing higher level business services● For example: Calendaring & Scheduling● Base on standards where they exist and ensure consistency across the

portfolio– For example: iCal

● Built on top of OSGi so both types of services are extensible– Looking at various libraries to facilitate customization of existing and

building of new services

Page 37: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Domino Designer Improvements● In addition to supporting the platform's development strategy, Designer itself will

continue to evolve● Leverage and grow with Eclipse

– “Shop” for valuable Eclipse components for Domino developers● Leverage improved JavaScript editors

– Work with Eclipse for needed enhancements● CSS Preview, etc.

● Customer-driven usability improvements● Improve XPage development experience

– Server-Side JavaScript debugger– Continued editing enhancements

● Improve consumption of OpenNTF assets● Multi-user support

Page 38: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

38

Agenda

● IntroductionIntroduction● XPagesXPages● Domino DesignerDomino Designer● FuturesFutures● Wrap Up● Your Questions!Your Questions!

Page 39: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Resources● IBM DeveloperWorks®

– https://www.ibm.com/developerworks/lotus/

● OpenNTF – Open source developer community

● IBM educational offerings– http://www.ibm.com/software/lotus/training/n8deducationofferings.htm

● Lotus Notes and Domino Application Development wiki– http://www.lotus.com/ldd/ddwiki.nsf

● XPages.info – One stop shopping for XPages– http://xpages.info

Page 40: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

Resources - Mastering XPages

Factoids ...● Comprehensive 7 Part, 785 page volume● IBM Press publication ● Authored by lead members of XPages development team

● Features contributions from other key community members● Covers all aspects of XPages application development● Example-driven approach focusing on practical problems● Includes sample NSF downloads● Available online ● www.ibmpressbooks.com/bookstore/product.asp?isbn=0132486482● www.amazon.com/Mastering-XPages-Step-Step-Application/dp/0132486318

Page 41: Domino Designer & XPages 8.52 and Beyondengage.ug/engage.nsf/pages/2011_Slides_c/$file/BLUG_DDE... · 2018-10-07 · Domino developers with some XPages experience Expertise not required

41

Contact information:Martin Donnelly

[email protected]