Domino Designer on the Eclipse platform offers a highly configurable IDE. This session will describe the Designer and Eclipse tricks you may not have discovered that can greatly enhance your experience. Learn how to enhance Designer performance, which preferences to turn off or leave on, and how to get organized with working sets and perspectives. Get expert tips on how to use the Eclipse file system for import/export. Leave with an understanding of how Domino Designer integrates into Eclipse and how to make the partnership work best for you!
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Â
IBM Domino Designer: Tips and tricks for maximum productivity
1. IBM Domino
Designer: Tips and
Tricks for Maximum
Productivity
Peter Janzen
IBM
Š 2013 Wellesley Information Services. All rights reserved.
2. In This Session ...
This session will describe the Designer and Eclipse tricks you may
not have discovered that can greatly enhance your experience.
Learn how to enhance Designer performance, which preferences to
turn off or leave on, how to get organized with working sets and
perspectives, how to use the Eclipse file system for import/export,
and much much more. You'll leave with an understanding of how
Domino Designer integrates into Eclipse, and how to make the
partnership work best for you!
2
3. What Weâll Cover âŚ
â˘
â˘
â˘
â˘
Getting Oriented and Organized in IBM DominoÂŽ Designer
Domino Designer and EclipseTM âUnder the Hoodâ
Preferences
Wrap-up
3
4. Perspectives and Views
â˘
â˘
â˘
â˘
â˘
Built-in perspectives:
ďł IBM Domino Designer:
ď§ Domino Designer
ď§ XPages
ď§ Forms/Views
ďł Eclipse:
ď§ Java
ď§ Debug
ď§ âŚ others
Views and Editors
Moving Eclipse views (panels) around
Create your own perspectives
4
8. Home Page
â˘
â˘
â˘
â˘
â˘
âDid You Knowâ Tips
Snippets targeted to new and upgrading users
Links to
various
resources
Working sets
Customizable?
ďł Officially, no
8
9. Working Sets
â˘
â˘
â˘
Overview
ďł In Navigator
ďł During File Open
ďł On Home page
Applications not in a working set
ďł Helps you manage the list of applications
ďł Create your own âtempâ working set
Sync with âwindow working setâ
9
10. Keyboard Navigation
â˘
Eclipse has a number of built-in keys to move your focus around
the workbench
ďł Ctrl+F6: allows you to jump
to any Eclipse editor you select
from the resulting menu
ďł Ctrl+F7: allows you to jump
to any Eclipse view or
editor that you select from
the resulting popup
ďł Ctrl+Shift+E: Switch to editor
10
11. Keyboard Navigation (cont.)
â˘
â˘
â˘
Press Control-Shift-L to get the list of keyboard shortcuts
ďł Blend of Designer and Eclipse keys
ď§ Ctrl+N (New App), Ctrl+ F8
(Next perspective)
ďł Caveat emptor â some don't apply
ď§ E.g., âLeft sidebarâ options
Others:
ďł Ctrl+F8: Next perspective
ďł Ctrl+M: Toggles maximize/minimize
the active view or editor
ďł Java editor: Ctrl+Shift+T/R to
navigate to other classes/anywhere
Explore and find your favorites!
11
12. Searching
â˘
Use the scope to refine your results:
ďł Workspace
ďł Selected Elements
ďł Enclosed âprojectsâ
ďł Working sets
â˘
â˘
Eclipse does remember your
previous searches
12
13. What Weâll Cover âŚ
â˘
â˘
â˘
â˘
Getting Oriented and Organized in IBM DominoÂŽ Designer
Domino Designer and EclipseTM âUnder the Hoodâ
Preferences
Wrap-up
13
14. Understanding the Eclipse Virtual File System
â˘
â˘
An NSF is a physical (single) file on the O/S file system
ďł We think of Design Elements as single files also â how do we
resolve this?
The Eclipse Virtual File System allows us represent data as
âresourcesâ in Eclipse
ďł Functionality introduced to Eclipse in 3.0, can be applied to any
data, not just Notes applications
ďł The Eclipse Virtual File System is often referred to as the âEFSâ or
âVFSâ interchangeably
â˘
14
15. Understanding the Eclipse Virtual File System (cont.)
â˘
â˘
IBM Domino Designer implements extension points and interfaces
for a file system
ďł Each NSF/NTF is mapped to an Eclipse Project (IProject)
ďł Each Design Element category is mapped to an Eclipse Folder
(IFolder), e.g., âformsâ
ďł Each Design Element is mapped to an Eclipse File (IFile)
ďł The Eclipse VFS artifacts should NOT be confused with O/S
artifacts
Additionally Designer virtualizes files required by Eclipse that allow
Notes applications to behave like Eclipse âprojectsâ (e.g.,
plugin.xml, .classpath, etc.)
ďł These elements do not interfere with the application at runtime
15
16. Under the Hood
â˘
â˘
The NSF is an Eclipse
Project
ďł Typically named
appName.nsf (or
appName(1).nsf, etc.)
Design Element
categories are sorted
alphabetically
16
17. Under the Hood (cont.)
â˘
â˘
â˘
Local is a âspecialâ folder
ďł As the name suggests
â Local to the OS!!
ďł It is a TEMP storage
area for Domino
Designer use only
ďł Expect anything stored
there to disappear!
You can create your
own folders too
ďł Can be achieved via
extension point and
Domino Designer APIs
Source control in
Designer utilizes the EFS
17
18. Source Control
â˘
â˘
â˘
â˘
Domino Designer Source Control functionality uses the EFS to
export the contents of an application to disk as a collection of
files
Domino Designer âlistensâ for changes to either the files on disk
or to the design elements and syncs as changes are made
Understanding the EFS will greatly help with source control
functionality
Preferences are in place to control how often synchronization
occurs (if at all) automatically
â˘
18
19. Working with Eclipse Projects
â˘
Eclipse âbuildsâ all âopenâ projects in the âworkspaceâ
ďł âWorkspaceâ is an overloaded term in Domino Designer â in the
context of Eclipse, the âworkspaceâ is where the Eclipse
settings are stored and is different from the âNotes Workspaceâ
ďł Avoid having too many, unnecessary applications opened in
Designer
ď§ New âClose Applicationâ context menu item added in
Social Edition
19
20. Working with Eclipse Projects (cont.)
â˘
â˘
Known issues in the area of building Java code over the network
ďł Avoid (if possible) having Databases open in Designer which
reside on a remote server if the database has a lot of Java code
(i.e., dozens of Java classes)
ďł More efficient to perform development on a local replica
ďł Optionally turn off âBuild Automaticallyâ (more on that later!)
Remove multiple applications from the Navigator is a long
standing request
ďł Eclipse views allow you to remove multiple âprojectsâ which
achieves the same goal â today!!
ďł
20
21. Importing & Exporting Content
â˘
â˘
â˘
The Designer perspective has not (yet) implemented Import or
Export
â
It has many different meanings across the different elements
â
If you yearn for the import/export capabilities of the âoldâ LS
editor you can re-enable it
You can carefully use this function today in the other perspectives
â
Bring in files, lss files, etc.
â
Export design elements to share with others
â
This is how Domino Designer source control works!
Power and responsibility ...
â
Eclipse assumes you know what you are doing â so make
sure you do!
â
â
21
22. Build Automatically â What Does It Do?
â˘
â˘
â˘
â˘
â˘
Eclipse has a concept of âbuildersâ and âvalidatorsâ
Contributors to Eclipse (/Designer) can contribute their own
builders/validators which get invoked based on the setting of
âBuild Automaticallyâ
As the name suggests
ď§ Builders are responsible for acting on/building âbinariesâ
from the code
ď§ Validators are responsible for validating the contents of
source files
When build automatically is ON builders/validators are notified
whenever a âresourceâ is modified
When build automatically is OFF it is the responsibility of the user
to invoke a build of the project
22
23. Build Automatically â What Does This Mean?
â˘
When build automatically is off design changes are not
automatically updated for 8.5+ design elements:
ďł XPages
ďł Custom Controls
ďł Java Classes
ďł Custom Design Elements (design elements potentially
contributed by third parties)
23
24. To Build Automatically or Not?
â˘
â˘
Mainly a matter of user experience
ďł Novice users tend to forget to manually âbuildâ the application
Consider turning build automatically off if you have large
applications on remote servers
ďł Eclipse Java Builder is not optimized to execute over the
network
24
25. To Build Automatically or Not? (cont.)
â˘
â˘
Java compile setting
ďł Do not modify the
Java->Compiler->JDK Compliance settings
Domino remains backwards compatible
ďł Java artifacts written on 9.0 will run on
previous versions
ďł As a result, the
compliance is set
to 1.5 automatically
by Designer on
startup
25
26. Problems View
â˘
Log output of a build is displayed in Problems view
ďł Problems view improved in 9.0
ďł LotusScript validator now shows correct line numbers!!
26
27. Problems View (cont.)
â˘
The view can contain Errors or Warnings
ďł Errors typically are fatal for the application at runtime (the
application will not run/run properly)
ďł Double clicking on an error or warning will bring you to the
source of the issue
27
28. Problems View (cont.)
â˘
The problems view can be filtered
ďł Suggest to filter by selected âprojectâ
ďł
ďł
ďł
ďł
ďł
ďł
ďł
ďł
ďł
ďł
ďł
28
29. Tracing History of Design Elements
â˘
â˘
â˘
â˘
â˘
â˘
Eclipse provides file change history tracking functionality
Tracks changes to each file during a session
Very useful for âJava-basedâ Design Elements (XPages, SSJS,
Themes, etc.)
Great for figuring out why
something which worked five
minutes ago now does not!!
Available via Designer
Applications Navigator
(but also through regular
Eclipse Navigators)
If using source control the
complete history of the design element can be traced through the
Eclipse Navigator
29
30. Tracing History of Design Elements (cont.)
â˘
Results are displayed in an Eclipse view
â˘
â˘
â˘
â˘
Double clicking on any of the results will compare the current
version with the selected version
â˘
â˘
â˘
30
31. Compare and Replace
â˘
â˘
Two design elements can be compared with each other for
differences
ďł Adaptation of previously seen compare with local history
functionality
Replace functionality allows developers to replace design
elements with older versions inline
â˘
31
32. Choosing Other Editors
â˘
â˘
Designer perspectives/Views generally ignore file association
settings for editors for file extensions we have defined (xsp,
component, form, etc.)
ďł General file types are associated with the correct editor
(.html, .xml, .properties, etc.)
âOpen Withâ
(in the other
perspectives/views)
â
â˘
32
33. A Hybrid Editor Environment
â˘
â˘
Designer leverages native Eclipse editors wherever possible and
reasonable
More recent Designer editors are written with Eclipse technology
â˘
Notes Editors
â˘
Forms/Pages/Subforms
Views/Folders
Framesets
Shared actions
Shared fields
Outlines
Navigators
Applets
About/Using
documents
Formula agents
Eclipse-based Notes Editors
Eclipse Editors
XPages & Custom Controls
LotusScript agents, Script
libraries & Database Script
Java agents, Script libraries, Web
Service Consumers, Web Service
Providers
Server & Client JavaScript
Libraries
Wiring Properties
Composite Applications
Components
Application properties
XSP Properties
Icon
Style sheets (.css)
Files (.xml, .html, etc.)
Java design element
Themes
Faces-Config
33
34. What Weâll Cover âŚ
â˘
â˘
â˘
â˘
Getting Oriented and Organized in IBM DominoÂŽ Designer
Domino Designer and EclipseTM âUnder the Hoodâ
Preferences
Wrap-up
34
36. Preferences â Eclipse
â˘
â˘
Eclipse provides a wealth of editor preferences
ďł Most preferences apply, but there are exceptions â general
hierarchy
Editor preferences
ďł Line numbers
ďł Code folding
ďł Syntax coloring (Java, JavaScript, and other editors)
ďł Code templates (LotusScript, Java, CSS, HTML, XML)
â˘
â˘
36
37. LotusScript Preferences
â˘
â˘
Enable/Disable new Eclipse-based editor!
Enable/Disable automatic indentation of pasted code
ď§ Automatic indentation of code has caused performance
issues in the past
In 9.0 this
feature can
be disabled
37
39. LotusScript Code & Comment Templates
â˘
Code and Comment templates allow organizations to easily
implement certain coding standards
ďł Allow users to automatically insert user defined templates on
predefined artifacts/events (e.g., new Script Lib, new Sub, etc.)
ďł E.g., all Design elements
have a copyright
comment header, etc.
â˘
â˘
â˘
â˘
Font, colors, etc.
ďł Define which fonts (sizes and colors) are to be used for various
language syntax
39
40. XPages Preferences
â˘
â˘
â˘
â˘
â˘
Enable/Disable bubble help in properties panels
Enable/Disable content assist (note: ctrl+space invokes content assist in any
editor)
Enable/Disable hover help in properties panel
ďł Set time out for hover help
Enable/Disable hover help in the XSP source editor
ďł Set time out
for hover help
Set recompilation
options
40
41. XPages Preferences (cont.)
â˘
â˘
Font settings are controlled by General->Appearance->Colors and
Fonts
XML Editor preferences drive the XSP source editor
â˘
â˘
â˘
â˘
â˘
Useful settings:
ďł Line width (set to ~150 [chars])
ďł Split multiple
attributes onto
separate lines
ďł Preserve white space in CDATA
ďł
41
43. Other Helpful Preferences
â˘
XML Snippets
â˘
â˘
â˘
â˘
â˘
â˘
â˘
â˘
Turn off spell check!
â˘
Browser definitions can be added via preferences
43
44. Sharing Preferences
â˘
â˘
â˘
â˘
Preferences can easily be shared via Import/Export
Advisable to backup preferences (using export)
ďł Open an Eclipse ânavigatorâ view
ďł Right click and choose Export.../Import...
ďł Select General->Preferences
ďł Export/Import all preferences
Consistent preferences
can quickly (and easily)
be shared across teams
Extremely useful in the
unfortunate situation where
it is necessary to delete the
Data/Workspace directory
44
45. JVM Performance â Do This TODAY!
â˘
â˘
â˘
â˘
â˘
â˘
â˘
â˘
Domino Designer/Notes is a Java program
It requires a âJREâ to run
The JVM has low memory settings in order to keep the Notes
footprint as small as possible
Designer requires more memory due to the large number of
editors and builders it supports
Designer performance is VASTLY improved with the following
settings:
ďł vmarg.Xmx=-Xmx1024m
ďł vmarg.Xms=-Xms512m
ďł vmarg.Xmca=-Xmca512k
jvm.properties is located at <notes_bin>frameworkrcpdeploy
Full details: http://tinyurl.com/DesignerJVMSettings
45
46. What Weâll Cover âŚ
â˘
â˘
â˘
â˘
Getting Oriented and Organized in IBM DominoÂŽ Designer
Domino Designer and EclipseTM âUnder the Hoodâ
Preferences
Wrap-up
46
47. Where to Find More Information
â˘
â˘
â˘
â˘
www.lotus.com/ldd/ddwiki.nsf
ďł Domino Application Development wiki including product
documentation
http://tinyurl.com/DesignerJVMSettings
ďł Designer Performance Technote
http://nathantfreeman.files.wordpress.com/2013/04/tamingdesigner.pd
ďł âMaking Domino Designer work like you wantâ by Nathan
Freeman
http://notesin9.com/
ďł Notes In 9 â A lot of videos on XPages, Designer and more.
Includes what's new in Designer 9.0 beta which is applicable for
9.0 gold
â˘
47
48. 7 Key Points to Take Home
â˘
â˘
â˘
â˘
â˘
â˘
â˘
Use the appropriate Eclipse perspective for the development task
at hand
Work with application locally especially if it has a lot of Java code
Consider turning build automatically off when applications reside
on remote server
Eclipse trace history feature can help troubleshoot problems due
to code changes
Tailor XPages and LotusScript editor experience through
Designer preferences
Develop better and more maintainable code using code and
comment templates
Improve Designer performance by applying Domino Designer JVM
settings
48
49. Your Turn!
How to contact me:
Pete Janzen
peter_janzen@us.ibm.com
49
Hinweis der Redaktion
Close Application: Helpful for running/debugging scripts that contain a DBOpen.