Lotus Domino Designer 8.5 reinvented the Lotus Notes and Domino application development experience, and Lotus Designer 8.5.1 furthered that vision. This presentation will begin with an overview of the capabilities new to Lotus Designer 8.5.1, such as the new LotusScript editor, Java development environment, and the ability to extend Lotus Domino Designer with tools of your own creation. And now that we have our Eclipse foundation solidly beneath us, we'll look ahead to see how building on a solid foundation is taking Lotus Domino Designer into hyperdrive!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
1. AD101 IBM Lotus® Domino® Designer:
Full Speed Ahead! I
Maureen Leland | Domino Designer Lead Architect
Pete Janzen | Domino Designer Sr. Product Manager
2. Financial Disclaimer
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
4. Lotus Domino 8.5
All About Application Development
● The last 24 months have seen a significant investment in IBM Lotus
Notes and Domino app dev.
● Two major initiatives
▬ Tool: Domino Designer
▬ Runtime: XPages
● Result
▬ Modern IDE with an extensible framework
▬ Build compelling Web 2.0 applications
▬ Smooth path for existing Domino developers to embrace Web 2.0
▬ Incrementally enhance existing Domino Web applications
▬ Attracts new developers
4
5. Domino Designer 8.5: Revolution Thru Evolution
● Remaining true to our core value - RAD
● Same Designer Productivity: Modern IDE built on Eclipse
▬ Increased customization, extensible framework
▬ Platform services for navigation, search and editing
● New design elements for building compelling Web apps
▬ XPages and Custom Controls
▬ Designed for developing Web 2.0 applications
● Modern Web controls
● Built-in Ajax services
● Server side JavaScript
▬ Easy to understand for both Domino and non-Domino developers
▬ Improve re-usability: script libraries -> custom controls ->XPage -> iWidget
▬ Themes
▬ Easily define an application’s look and feel
▬ Ensures consistent look and feel across applications
5
6. Reinvigorate & Expand Developer Ecosystem
● OpenNTF is an open source community dedicated to the development
of Lotus Notes/Domino applications OpenNTF Annual Meeting
▬ Members 73,000 / 8,500 new in 2009 Jan 19th 6:00 – 7:00 PM
▬ 400 projects and > 1.000 code snippets Y&B Cape Cod C
● developerWorks - opening the aperture for developers
▬ developer.lotus.com provides the integration hub
for Wikis, Discussion Forums etc..
▬ Domino Designer wiki renamed to
▬ New: 8.5 Web App Dev redwiki!
▬ Tutorials to help you succeed
● planetlotus.org – aggregating a wealth of
knowledge from the community
● Lotus knows all we need is ..........................................
6
7. “Lotus knows” Domino Designer should
be widely distributed
developer.lotus.com
Coming Soon
Free Intro to Domino Designer course
www.tlcc.com/freedesignercourse
7
9. Domino Designer 8.5.1
Ready for Prime Time
● This is the Designer client developers have been craving!
● Production ready
▬ Performance: Substantial improvements in
common operations
● More proof points of the benefits of Eclipse
▬ New Editors
▬ Extensibility APIs
● New features and improved Usability
9
10. Performance Improvements
● Studied and queried users to identify the “hot spots”
▬ Launching Designer
▬ Opening a database, both from the client and from within Designer
▬ Expanding a database already in the navigator
▬ Indexing the help contents for the first time
● Results
▬ Help indexing dropped to about 5 minutes (from 30-120 minutes in 8.5)
▬ Substantial improvement in opening Designer/database operations
▬ Database open from client (cold) 79%
▬ Database open in Designer (cold) 89%
▬ Smallest improvement was > 75%
● Managed beta and design partner participant feedback on 8.5.1 beta
validated that we accomplished our goals!
10
11. Usability Improvements
● Addressed some key areas, in response to customer feedback, and also
our own continuing internal review
● Label the IDs in the property panels
● More navigator sorting options
● Distinguishing Remove from Delete
11
12. More Usability Improvements
● Where am I???
▬ Hover on tab for more information
● Design list filtering
▬ Find by name or by alias
▬ More Eclipse-like approach
● Creating design elements
▬ Set alias, comment, other
required info when creating the
element
12
13. Working Set Usability Improvements
● Made it easier to toggle between working sets (1 click!)
● Add applications without opening them!
● More information shown for each application when choosing
13
14. XPage Improvements
● New XPage dialog
▬ Create the data source as you create the XPage
● Design visualization
▬ In English, that means “what it looks like at design time”
▬ Text on a page
▬ “Other controls”
▬ Truer rendering of styles at design time
● Custom control visualization
▬ Provide your own
● Run in the Notes client :-)
● New component design element...
14
15. Component Design Element
● A new Component design element is used to define an XPage as a
reusable asset
▬ iWidget – can be use with Lotus Mashups or other platforms that support
iWidgets
▬ Component – can be used in a Notes composite application
● Any XPage can be projected as an iWidget, leveraging the platform
capabilities (parameters, properties/events, … )
15
16. LotusScript Editor
● Brand new, built on the Eclipse framework
▬ Connects with the LotusScript engine for
compilation, syntax checking
▬ In 8.5.1, leveraged for agents & script libraries
● Class browser, content assist
● Hyperlinking for quick navigation to
referenced libraries, etc.
● Code and Comment templates
● Syntax coloring, line numbers
● And much more!
16
17. Java™ Editor
● Manages and organizes the Java classes
and resources in Java based design
elements
● Eclipse Java editor used to edit Java files
in these elements
● Leveraged for agents, script libraries,
web service consumers, and web service
providers
● New Class dialog available when
adding Java classes
● Content assist (with Notes.jar
completions), line numbers, etc.
● Outline view for methods/classes, etc.
More info: AD102, Jan 19th 8:30 - 9:30
17
18. Extending Designer
● Eclipse extensibility was a major driver in the decision to base Domino
Designer on Eclipse
● Designer (even in 8.5.0) publishes Eclipse resource selections
▬ Every design element/database is published as an Eclipse IResource
● Enables Eclipse plugins to contribute to Designer UI and function
● API maps Eclipse resources to databases and design elements, blends
with and supports Eclipse APIs
● Current selection available to enable context sensitive contributions,
contributor can also refresh the Designer UI
● Some common database and design element property manipulation
available
● Use Notes.jar to do more complex operations
18
19. Designer Extension Classes
● We provide five main classes to help you build your own plugins:
▬ DesignerResource
▬ Constants, static methods to analyze selections, open databases, find
design elements, etc.
▬ DesignerDesignElementSelection
▬ Information about the current selection (database or design element)
▬ DesignerProject
▬ Information about the current database
▬ DesignerDesignElement
▬ Information about a design element
▬ DesignerException
▬ Thrown if these classes encounter errors
● JavaDoc and samples available to help
● Let your imagination run!
More info: AD103, Jan 19th 1:30 - 2:30
19
21. Goals for Domino Designer 8.5.x
● Quality
▬ First, do no harm
▬ Next, make it better every day!
▬ Monitor forums and customer experience to ensure we address the right
things
● Performance
▬ After the 8.5.1 performance gains, concentrate on new areas
▬ e.g., opening the XPage editor
● Usability
▬ Customer driven tactical improvements
● Further the product direction
▬ Continued Eclipse integration
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
21
22. Designer Framework Enhancements
● Preview and run agent on design elements in the navigator
● Leverage the Composite Application editor when opening Application
design elements
▬ Other Eclipse editors (e.g., XML) still an option
● Edit pass thru HTML on a form/page with an Eclipse HTML editor
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
22
23. More Designer Framework Enhancements
● New frameset dialog
● Sign your application!
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
23
24. Treats for Scripters
● Choose your default language
▬ Agents, script libraries, web service
consumers, web service providers
● Leverage the new Eclipse-based
LotusScript editor for database scripts
▬ Any formula on events handled by
familiar formula editing dialog
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
24
25. Managing Applications and Working Sets
● Working sets
▬ When opening a database from the
client, ask what working set!
▬ Preserve setting in a
preference
● Opening an application
▬ New dialog, supports working sets
and adds some usability
improvements
▬ See the title of the database
you are opening!
▬ Filter the server list
▬ Etcetera!
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
25
26. Enhancing the XPage Design Experience
● Reorder fields when dropping from the data
palette
● Improved Domino data type recognition for
more precise data binding and control
creation from the data palette
▬ Visualization of date/time/date&time controls
clarified
● Drag & Drop from palettes in source mode
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
26
27. Enhancing the XPage Design Experience
● Checkbox and RadioButton Group controls
● Control windowing behavior
▬ Open in new window or reuse the same tab
▬ For Notes client applications, but also applies for browser
applications!
● Property panel re-analysis
▬ Some properties previously available only on “All Properties”
moved “up” to the “pretty panels”
▬ e.g., filter and search view data settings available with
view data source
▬ Dojo panel for Dojo enabled controls
● Available for public access option
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
27
28. Looking Ahead
● Continue to leverage Eclipse
▬ Get the payback, enhancements “for free”
▬ “Shop” for valuable Eclipse components for Domino developers
▬ Leverage improved JavaScript editors
▬ Work with Eclipse for needed enhancements
▬ CSS Preview
● Source control integration
▬ We're not going to write our own, but rather integrate with those offerings that
integrate with Eclipse (RTC, SVN, CVS, CCRC, etc.)
▬ Investigation has begun, ETA not yet determined, “as soon as we can”
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
28
29. More Looking Ahead
● Debuggers
▬ Server-Side JavaScript
▬ Debug Java agents
● Support continuing XPage Enhancements
▬ Tooling for relational database support, etc.
● Integration with OpenNTF
▬ Catalogs, plugin and widget installation
● Mac & Linux® support
▬ On the list, but not as high as quality and functional completeness
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
29
30. Related Sessions
AD102 Extreme Makeover -- LotusScript and Java Editor Edition - David Taieb & Santosh Kumar
AD103 Have it Your Way: Extending IBM Lotus Domino Designer - Andre Guirard & Xin Rang Wang
AD106 XPages Just Keep Getting Better - Philippe Riand & Eamon Muldoon
AD107 Enhance Your Existing Applications with XPages - Steve Castledine & Stephan Wissel
AD108 XPages in the IBM Lotus Notes Client - A Deep Dive! - Martin Donnelly & Teresa Monahan
AD109 XPages Performance and Scalability - Mark Gargan & Tony McGuckin
AD110 Unleash the Power of XPages - Philippe Riand & Maire Kehoe
AD111 Harnessing the Power of Server-Side JavaScript and Other Advanced XPage Techniques - Tim
Tripcony & Stephan Wissel
AD112 Development and Deployment of Lotus Product Documentation Wikis - Craig Lordan
Kevin Giles
AD113 IBM Lotus Notes Discussion Template: Next Generation and Other OpenNTF Assets - Niklas
Heidloff & Steve Castledine
BP207 Make Your XPage Apps "Pop!" with CSS and Themes - Declan Lynch & David Leedy
SHOW How to Build an XPages Application from Start to Finish - Tim Clark & Matt White
112
30
31. Resources
● Lotus Domino Application Development wiki
▬ Formerly know as the Domino Designer wiki
▬ http://www.lotus.com/ldd/ddwiki.nsf
● OpenNTF – Open source developer community
OpenNTF Annual Meeting
Jan 19th 6:00 – 7:00 PM
Y&B Cape Cod C
● Planet Lotus – Aggregation of Lotus related blogs. Lots of good Domino
app dev related posts
▬ planetlotus.org
31
32. Summary
● Designer 8.5 was a revolution
● Designer 8.5.1 built on the new foundation
● Full speed ahead!
32