improving domino designer icon uk
DESCRIPTION
Domino Designer for Eclipse (DDE) has hundreds, maybe even thousands, of settings and customization options. But do you really know how to make it work well for you? Julian and Kathy will give you their favorite tips and tweaks for using DDE: making it faster, easier to use, and even how to track down some pesky errors. We will show you how to make DDE sing! (Literally, it will sing). Come to this session to get under the hood [bonnet] of DDE and make it do things you never thought it could do.TRANSCRIPT
© Kathy Brown, Julian Robichaux
Improving Your Domino Designer
ExperienceJulian Robichaux :: panagenda
Kathy Brown :: PSC Group
© Kathy Brown, Julian Robichaux
Who We AreJulian Robichaux
panagenda
nsftools.com
@jrobichaux
Kathy BrownPSC Group LLC
runningnotes.net
@runningkathy
© Kathy Brown, Julian Robichaux
The Goals of this SessionUnderstand how Eclipse and DDE work together
especially by using helpful things that “come for free” with Eclipse
Avoid breaking thingsand learn how to fix them when they break
Work more efficiently
Some information will be old hat, some (hopefully) will be brand new
© Kathy Brown, Julian Robichaux
Domino Designer in Eclipse“DDE” to you and me
Is it in, on, with, or next to Eclipse?perhaps we should say “wrapped inside of”
But I thought Eclipse was just an IDE! How can it do all this “wrapping” stuff?
© Kathy Brown, Julian Robichaux
An Informal History of EclipseBegan life as an IBM project to replace the VisualAge IDE
VisualAge had compilers for C, C++, Smalltalk, Java, Cobol, and several other languages
Eclipse developed as a platform (written in Java) that could:run on multiple operating systems
allow development for many different languages & content types
provide (but not require) a GUI
use plugins for extensibility
© Kathy Brown, Julian Robichaux
“The Eclipse platform itself is a sort of universal tool platform -
it is an IDE for anything and nothing in particular.”
http://www.eclipse.org/platform/overview.php
© Kathy Brown, Julian Robichaux
A Very Abbreviated Timeline1999: Development of Eclipse begins at IBM
2001: Eclipse 1.0 released, eclipse.org created
2002: Eclipse 2.0 released
2004: Eclipse Foundation formed, Eclipse 3.0 released under the new Eclipse Public License
2004-2013: New Eclipse “simultaneous release” every year; 3.x through 2011; 4.x starting in 2012
© Kathy Brown, Julian Robichaux
Also in 1999...
© Kathy Brown, Julian Robichaux
Why Are You Telling Me This?Things to understand:
Eclipse has a long, rich history completely outside of Domino
Many (most?) of the “new” DDE things are actually “old” Eclipse things
Name overlaps (view, navigator, workspace, etc.)
Two completely separate JVMs
When you mix two very different (and established) technologies like this, things are bound to be confusing or... difficult
© Kathy Brown, Julian Robichaux
Installing(and Reinstalling)
© Kathy Brown, Julian Robichaux
Considerations: Fresh InstallA well defragged hard drive
Disable virus scan on entire Notes directory if possible, NSF and JAR files in Notes directory at minimum
Disable the Windows Search/Index service
Don’t use an encrypted portion of your disc
Disable Aero on Windows 7
© Kathy Brown, Julian Robichaux
Considerations: VMWareFixed size page file, 1.5 to 2 times your RAM
Defrag first, then restart and fix the page size
Turn off things that pollCD auto-play, Bluetooth, shared or mapped drives
Defrag+compact regularly (or use a fixed size VM)
Keep your VMWare Tools (drivers) updated
© Kathy Brown, Julian Robichaux
Considerations: VMWare
© Kathy Brown, Julian Robichaux
Install TipsIf you’re using VMWare, take a snapshot
Install EVERYTHING (check all the boxes, even if you don’t think you’ll use Sametime, Connections, etc.)
Don’t get clever with your install paths
Reboot when you’re done, then delete the temp folder
If you’re using VMWare, take another snapshot
© Kathy Brown, Julian Robichaux
Upgrade TipsInstall over the old copy, or nuke it and start over?
Always better to nuke (uninstall first, then reboot and delete -- don’t just delete) and start fresh*
If you can’t, at least consider deleting or renaming the framework and the data\workspace\.config folders first (gets rid of old JAR files)
Resist the urge to do the trick where you rename the old directory so you can have multiple versions of the client on your workstation
*Spin your chair 3 times clockwise while throwing salt over your LEFT shoulder
© Kathy Brown, Julian Robichaux
Upgrade Tips“Install Interrupted” and other errors
Often caused by incomplete or improper uninstall of previous client version (registry entries pointing to files that no longer exist, etc.)
Use the IBM “NICE” toolhttp://www-01.ibm.com/support/docview.wss?uid=swg21459714
© Kathy Brown, Julian Robichaux
ReinstallingBest bet is to uninstall, use the NICE tool, then reinstall
Also reinstall/repair options if you re-run the installer
Command line option: setup.exe /v"REINSTALLMODE=vamus REINSTALL=ALL"
© Kathy Brown, Julian Robichaux
JVM Memory Settings
http://www-01.ibm.com/support/docview.wss?uid=swg21617708
make sure Xms is smaller than Xmx, for garbage collection purposes
you might have issues with Xmx larger than 1024
NOTE: these settings can get reset after a FixPack install
© Kathy Brown, Julian Robichaux
Understanding Eclipse Configuration
© Kathy Brown, Julian Robichaux
Perspectives and ViewsWhat are they?
Perspectives are layouts of ViewsThink of a painter’s palette
Views are panels or tabs with the tools you needThink of the colors on the palette
© Kathy Brown, Julian Robichaux
Perspectives and ViewsPerspective
View
© Kathy Brown, Julian Robichaux
PerspectivesDefault perspectives:
Debug, Domino Designer, Forms/Views, Java, Java Browsing, Javascript, and XPages
© Kathy Brown, Julian Robichaux
More PerspectivesEach perspective has Views, menu items, and toolbars needed for that focus
For example: the navigator in the Domino Designer perspective has Frameset and Pages, the one in the XPages perspective does not
© Kathy Brown, Julian Robichaux
Customizing PerspectivesMenu option “Customize Perspective...”
Add or remove Eclipse viewsAdd or remove Menu and Toolbar items
© Kathy Brown, Julian Robichaux
Customizing Perspectives“Manual” customization
Move view panes all to the left or right for more screen real estateDrag up OutlineAdd Package Explorer
(Window - Show Eclipse Views)
© Kathy Brown, Julian Robichaux
Saving PerspectivesSave Perspective As...
Always a good idea to do this BEFORE customizing
You CAN make changes in a copy, however if you make them in the default perspective, then your changes will be there whenever you open DDE
i.e. changing IDs opens the default perspective
© Kathy Brown, Julian Robichaux
My Favorite View: Progress
Window - Show Eclipse Views -
Other... - General - Progress
© Kathy Brown, Julian Robichaux
Tips on Views & PerspectivesMake the tab full screen
Double-click the tab title, and double-click again to reset itOr click the small “maximize” icon on the tab barOr use Ctrl-M
Use Reset Perspective when you’ve totally borked it
© Kathy Brown, Julian Robichaux
Working SetsIt’s an Eclipse thing for organizing your projects (Notes DB == Eclipse project)
All applications for a client, or all applications for a project, or only templates, or only production applications, etc.
Switching working sets does NOT release the open applications from memory (!)
© Kathy Brown, Julian Robichaux
Working with ... Working SetsSelect one or more working sets, or no working sets (shows all applications ever opened in the history of time)
Edit Current Working Set
Manage Working Sets
© Kathy Brown, Julian Robichaux
More Working SetsNew in Notes 9, select Applications Not in a Working Set
Working Set preferences“Ask me” is good if you often (ever) open the wrong app
© Kathy Brown, Julian Robichaux
Preferences and SettingsNotes client and DDE shared storage of settings
Eclipse is a cornucopia of pluginsEvery plugin has its own folder in workspace\.metadata
Also a central Eclipse preference store (a tiny bit like Windows registry, but much better behaved)
OSGi handles plugin lifecycle and caching
© Kathy Brown, Julian Robichaux
The Workspace FoldersMain subfolders under the data\workspace folder are:
.config -- OSGi cache, JVM cache, Eclipse startup config
.metadata -- plugin folders, preference files
applications -- third-party plugins you’ve installed
logs -- Eclipse logs, Java core dumps and heap dumps
UDM -- spellcheck files
also a folder for each server you access from DDE(including “Local”), with subfolder for each database
© Kathy Brown, Julian Robichaux
Deleting the WorkspaceRemoves caches, configurations, preferences, settings
including Notes client and DDE UI customizations
Deletes [most] third-party plugins you’ve installed
Deletes extra settings in rcpinstall.properties
Everything will be rebuilt with default settings
© Kathy Brown, Julian Robichaux
The -clean Option-clean is a less nuclear option
Rebuilds the plugin caches and some of the Eclipse/OSGi config files
but you don’t lose your preferences
Make a COPY of your Notes shortcut, change target to:
notes.exe -RPARAMS -clean
© Kathy Brown, Julian Robichaux
Cleaning a Broken DDESpecial workspace folders for each server+db you access
workspace\.metadata\.plugins\org.eclipse.core.resources (additional DDE project cache)com.ibm.rcp.personality.framework (perspective info)org.eclipse.ui.workbench\workingsets.xmlcom.ibm.designer.domino.ide.resources\wsInfo.xml
© Kathy Brown, Julian Robichaux
Back Up Your SettingsCan’t I just back up my whole workspace folder?
You could, but not always portable between installations/versions
What about my workspace\.metadata folder?Still too much
What about this specific list of folders... ?There is an easier way if you will just stop asking questions
© Kathy Brown, Julian Robichaux
Back Up Your SettingsHat tip to Paul Withers
http://www.intec.co.uk/quick-setup-restore-of-domino-designer
Switch to a non-Domino perspective in DDE (like “Java”)
File - Export - General - PreferencesSaves as a .epf file (text file, you can look to see what’s there)
To import: File - Import - General - Preferences
© Kathy Brown, Julian Robichaux
Back Up Your Settings
Bonus: also backs up your SAVED custom Perspectives
© Kathy Brown, Julian Robichaux
General Settings
© Kathy Brown, Julian Robichaux
File - PreferencesThere are so many settings in DDE, you might not have seen them all -- here are a few useful ones
Please don’t be insulted if you’ve seen some of these before
Not everyone is as smart as you
Newer versions of DDE have new settings
Almost all of the DDE preferences (from File - Preferences) map to Eclipse preferences
© Kathy Brown, Julian Robichaux
Default Language Type
© Kathy Brown, Julian Robichaux
Line Numbering
© Kathy Brown, Julian Robichaux
Spellcheck (or lack thereof)
© Kathy Brown, Julian Robichaux
Colors and Fonts
Basic - Text Font is the default editor font, you can override for Java and JavaScript here,
LotusScript has its own settings under Domino Designer.
© Kathy Brown, Julian Robichaux
HotkeysHelp - Key Assist
or...
Control - Shift - L
or...
File - Preferences - General - Keys
© Kathy Brown, Julian Robichaux
Hotkeys
© Kathy Brown, Julian Robichaux
Hotkeys ShortlistCtrl + / -- toggle single-line comments
Ctrl + Shift + / -- toggle block comments
Ctrl + i -- auto-format
Ctrl + F6 -- switch between editor tabs
Ctrl + M -- maximize or restore a tab
Ctrl + Space -- all sorts of code-completion things
© Kathy Brown, Julian Robichaux
Other People’s Preferenceshttp://notesin9.com/index.php/2012/02/12/notesin9-043-domino-designer-tips-and-tweaks
http://xpagetips.blogspot.com/search/label/Designer%20Tip
http://nathantfreeman.wordpress.com/taming-ibm-domino-designer
http://www.slant.co/topics/67/~what-are-the-best-programming-fonts
© Kathy Brown, Julian Robichaux
Working With Code
© Kathy Brown, Julian Robichaux
Search TipsOld skool: File - Application - Design Synopsis...
It still exists!
© Kathy Brown, Julian Robichaux
Search TipsSingle code element: Control + F
make sure you use “wrap search”
regular expressions!
© Kathy Brown, Julian Robichaux
Search TipsFull design search: Search - File... (or Ctrl + H)
© Kathy Brown, Julian Robichaux
Search TipsFull design search: Search - File... (or Ctrl + H)
Search entire workspace, all databases in a working set, all design elements in a database (project), or selected design elements
File patterns allow you to specify certain design elements (use the “Choose” button for a list), or use * for all design elements
Non-code elements (forms, views, etc.) have their DXL searched
Regular expressions
Results listed in a Search view (tab) you can leave open
© Kathy Brown, Julian Robichaux
Searching Help - Scopes
© Kathy Brown, Julian Robichaux
LotusScript TipsCode and Comment Templates
© Kathy Brown, Julian Robichaux
LotusScript TipsDetermining the correct error line number
Navigate - Go to erl line...
Needed in DDE 8.5.x, seems to be less necessary in 9.0
© Kathy Brown, Julian Robichaux
XPages TipsChanging the local web server port (8.5.3+)
not just XPages, any DDE local web preview
great if you’re running a local web server (on purpose or unknowingly)
© Kathy Brown, Julian Robichaux
XPages TipsTroubleshooting local web server port conflicts
TCPView from sysinternals.com (now Microsoft Sysinternals)
© Kathy Brown, Julian Robichaux
XPages TipsWhere do all the print statements go for local debugging?
log.nsf -or- data\IBM_TECHNICAL_SUPPORT\console.log
Extra logging infodata\domino\workspace\.config\rcpinstall.properties
see the commented log levels at the bottom of the file
logs to data\domino\workspace\logs\trace-log-0.xml might have to shut down local web preview for logs to flush
notice the “domino” in that path...
© Kathy Brown, Julian Robichaux
XPages TipsThe dreaded “Error 500” on local XPages preview
Turn on runtime error notification (Application Properties, XPages tab)
Test a very basic XPage (is it all XPages, or just that one?)
Add error handling (JavaScript and Java)
Check the logs (see previous slide)
Check for duplicate (previous version) JAR files in notes\osgi:
*April 2012 Clippings Newsletter -- need to get republished
© Kathy Brown, Julian Robichaux
XPages TipsProblems Tab, “configure contents...”
Show only errors “On any element in same project”
© Kathy Brown, Julian Robichaux
XPages TipsTo Build Automatically or Not To Build Automatically
Working Local?
Yes No
Sure, Build Automatically No, Just No
© Kathy Brown, Julian Robichaux
Java TipsGet stack trace line numbers from Java agents and script libraries
No performance penalty
© Kathy Brown, Julian Robichaux
Java TipsSave the whole agent when you save a class in the agent
© Kathy Brown, Julian Robichaux
Java TipsCode templates
Java - Editor - Templates
Ctrl + Space (FTW!)
Default shortcuts to start with:
for, while, try, new, final, toarray
Make your own for fun and profit!
https://www.socialbizug.org/blogs/2ec5d0ed-d04e-4b18-9610-9819fcebca79/entry/using_code_templates_in_dde?lang=en_us
© Kathy Brown, Julian Robichaux
Java TipsTODO and FIXME
Eclipse view: Other - General - Tasks
© Kathy Brown, Julian Robichaux
Java TipsAdding Domino API Javadocs for hover help
Domino Javadoc Generator: http://domino-javadoc.sourceforge.net
https://www.socialbizug.org/blogs/2ec5d0ed-d04e-4b18-9610-9819fcebca79/entry/adding_hover_help_to_domino_designer?lang=en_us
© Kathy Brown, Julian Robichaux
Java TipsCode Snippets
Built-in Eclipse functionality
Right-click code and choose “Add to snippets”
Drag and drop to paste into editors
© Kathy Brown, Julian Robichaux
Java TipsScrapbook pages
from Package Explorer:
Right-Click - New - Other
Java - Java Run\Debug
Scrapbook Page
Use a Console view for outputHighlight code, right-click, execute
System.out.println() goes to console (Other - General - Console)
© Kathy Brown, Julian Robichaux
Java TipsScrapbook Pages
Evaluate String commands, regular expressions, XML parsing, etc.
© Kathy Brown, Julian Robichaux
Java TipsDebugging
you CAN debug Java from DDE
server or client, although debugging a server is a pretty bad idea
see Julian and Mark Myers’ presentation from Lotusphere 2012:
http://londondevelopercoop.com/ldc.nsf/pages/goodies
© Kathy Brown, Julian Robichaux
Java TipsEclipse Tips and Tricks page
http://help.eclipse.org/indigo/topic/org.eclipse.jdt.doc.user/tips/jdt_tips.html
© Kathy Brown, Julian Robichaux
Plugins
© Kathy Brown, Julian Robichaux
Source ControlEven if you aren’t working with a team
Easily roll back specific changesTrack changes (what/when/who)Simple system for having a backup, while working locally
© Kathy Brown, Julian Robichaux
Source Control - SettingSometimes DDE hangs (GASP!)
Turning off On Disk Project syncing can help
Tip!You have to remember to then manually sync
© Kathy Brown, Julian Robichaux
Source Control - Resourceshttps://www.socialbizug.org/blogs/articles/entry/setting_up_source_control?lang=en_us
https://www.socialbizug.org/blogs/articles/entry/using_source_control?lang=en_us
https://www.socialbizug.org/blogs/articles/entry/5_tips_for_source_control_in_domino?
http://xpagetips.blogspot.com/2013/04/source-control-good-stuff.html
© Kathy Brown, Julian Robichaux
Extension LibraryDepending on version of Domino, no install required
8.5.3 UP1 or 9
For latest and greatest, go to OpenNTF.org
Install via an Update Sitehttp://bit.ly/UpdateSite Wiki entry on installing an update site
© Kathy Brown, Julian Robichaux
Extension Library Install TipsDo NOT install multiple versions
If you’ve got 8.5.3 UP1 and you go get the latest from OpenNTF.org, REMOVE the library that came with 8.5.3 UP1
Install the Extension Library on DDE AND your server
Get the sample database
Don’t mix and match versions (Server/DDE)
© Kathy Brown, Julian Robichaux
Third Party PluginsFinding third-party plugins
Looks for plugins compatible with Eclipse 3.2 - 3.4 (they might work)
Before you installCompletely restart the Notes client
Take a snapshot if you’re using VMWare
© Kathy Brown, Julian Robichaux
Third Party PluginsFile - Application - Install
You might have to be in a DDE (non-custom) perspective to get the Application - Install menu option
After you installManually shut down and restart the Notes client again (don’t use the “Restart now” option)
X
© Kathy Brown, Julian Robichaux
FreeMemhttp://www.junginger.biz/eclipse/freemem.html
© Kathy Brown, Julian Robichaux
QuickRExhttp://www.bastian-bergerhoff.com/eclipse/features
© Kathy Brown, Julian Robichaux
MultiClipboardhttp://www.bastian-bergerhoff.com/eclipse/features
© Kathy Brown, Julian Robichaux
XPath-Developerhttp://www.bastian-bergerhoff.com/eclipse/features
© Kathy Brown, Julian Robichaux
Writing Your Own PluginsWhat you need:
DDE 8.5.1+
Eclipse 3.4.2 (Ganymede for RCP/Plugin Developers)http://www.eclipse.org/downloads/packages/release/ganymede/sr2
You should use EXACTLY this version (not 3.2, not 3.5, not 4.2...)
Lotus Expeditor Toolkit 6.2.x http://www.ibm.com/developerworks/lotus/downloads/toolkits.html
© Kathy Brown, Julian Robichaux
Writing Your Own PluginsHints, tips, and instructions
http://bit.ly/pluginredwiki
http://www-10.lotus.com/ldd/lewiki.nsf
Tim Tripcony and Maureen Leland’s Lotusphere 2011 presentation
“AD102: Hacking IBM Lotus Designer (Gently)”
© Kathy Brown, Julian Robichaux
THANK YOU
Julian Robichauxpanagendansftools.com@jrobichaux
Kathy BrownPSC Group
runningnotes.net@RunningKathy