Improving Domino Designer ICON UK

88
© Kathy Brown, Julian Robichaux Improving Your Domino Designer Experience Julian Robichaux :: panagenda Kathy Brown :: PSC Group

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 of Improving Domino Designer ICON UK

Page 1: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Improving Your Domino Designer

ExperienceJulian Robichaux :: panagenda

Kathy Brown :: PSC Group

Page 2: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Who We AreJulian Robichaux

panagenda

nsftools.com

@jrobichaux

Kathy BrownPSC Group LLC

runningnotes.net

@runningkathy

Page 3: Improving Domino Designer ICON UK

© 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

Page 4: Improving Domino Designer ICON UK

© 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?

Page 5: Improving Domino Designer ICON UK

© 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

Page 6: Improving Domino Designer ICON UK

© 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

Page 7: Improving Domino Designer ICON UK

© 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

Page 8: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Also in 1999...

Page 9: Improving Domino Designer ICON UK

© 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

Page 10: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Installing(and Reinstalling)

Page 11: Improving Domino Designer ICON UK

© 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

Page 12: Improving Domino Designer ICON UK

© 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

Page 13: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Considerations: VMWare

Page 14: Improving Domino Designer ICON UK

© 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

Page 15: Improving Domino Designer ICON UK

© 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

Page 16: Improving Domino Designer ICON UK

© 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

Page 17: Improving Domino Designer ICON UK

© 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"

Page 18: Improving Domino Designer ICON UK

© 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

Page 19: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Understanding Eclipse Configuration

Page 20: Improving Domino Designer ICON UK

© 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

Page 21: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Perspectives and ViewsPerspective

View

Page 22: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

PerspectivesDefault perspectives:

Debug, Domino Designer, Forms/Views, Java, Java Browsing, Javascript, and XPages

Page 23: Improving Domino Designer ICON UK

© 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

Page 24: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Customizing PerspectivesMenu option “Customize Perspective...”

Add or remove Eclipse viewsAdd or remove Menu and Toolbar items

Page 25: Improving Domino Designer ICON UK

© 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)

Page 26: Improving Domino Designer ICON UK

© 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

Page 27: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

My Favorite View: Progress

Window - Show Eclipse Views -

Other... - General - Progress

Page 28: Improving Domino Designer ICON UK

© 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

Page 29: Improving Domino Designer ICON UK

© 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 (!)

Page 30: Improving Domino Designer ICON UK

© 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

Page 31: Improving Domino Designer ICON UK

© 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

Page 32: Improving Domino Designer ICON UK

© 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

Page 33: Improving Domino Designer ICON UK

© 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

Page 34: Improving Domino Designer ICON UK

© 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

Page 35: Improving Domino Designer ICON UK

© 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

Page 36: Improving Domino Designer ICON UK

© 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

Page 37: Improving Domino Designer ICON UK

© 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

Page 38: Improving Domino Designer ICON UK

© 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

Page 39: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Back Up Your Settings

Bonus: also backs up your SAVED custom Perspectives

Page 40: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

General Settings

Page 41: Improving Domino Designer ICON UK

© 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

Page 42: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Default Language Type

Page 43: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Line Numbering

Page 44: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Spellcheck (or lack thereof)

Page 45: Improving Domino Designer ICON UK

© 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.

Page 46: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

HotkeysHelp - Key Assist

or...

Control - Shift - L

or...

File - Preferences - General - Keys

Page 47: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Hotkeys

Page 48: Improving Domino Designer ICON UK

© 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

Page 50: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Working With Code

Page 51: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Search TipsOld skool: File - Application - Design Synopsis...

It still exists!

Page 52: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Search TipsSingle code element: Control + F

make sure you use “wrap search”

regular expressions!

Page 53: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Search TipsFull design search: Search - File... (or Ctrl + H)

Page 54: Improving Domino Designer ICON UK

© 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

Page 55: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Searching Help - Scopes

Page 56: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

LotusScript TipsCode and Comment Templates

Page 57: Improving Domino Designer ICON UK

© 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

Page 58: Improving Domino Designer ICON UK

© 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)

Page 59: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

XPages TipsTroubleshooting local web server port conflicts

TCPView from sysinternals.com (now Microsoft Sysinternals)

Page 60: Improving Domino Designer ICON UK

© 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...

Page 61: Improving Domino Designer ICON UK

© 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

Page 62: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

XPages TipsProblems Tab, “configure contents...”

Show only errors “On any element in same project”

Page 63: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

XPages TipsTo Build Automatically or Not To Build Automatically

Working Local?

Yes No

Sure, Build Automatically No, Just No

Page 64: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Java TipsGet stack trace line numbers from Java agents and script libraries

No performance penalty

Page 65: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Java TipsSave the whole agent when you save a class in the agent

Page 66: Improving Domino Designer ICON UK

© 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

Page 67: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Java TipsTODO and FIXME

Eclipse view: Other - General - Tasks

Page 68: Improving Domino Designer ICON UK

© 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

Page 69: Improving Domino Designer ICON UK

© 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

Page 70: Improving Domino Designer ICON UK

© 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)

Page 71: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Java TipsScrapbook Pages

Evaluate String commands, regular expressions, XML parsing, etc.

Page 72: Improving Domino Designer ICON UK

© 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

Page 73: Improving Domino Designer ICON UK

© 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

Page 74: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

Plugins

Page 75: Improving Domino Designer ICON UK

© 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

Page 76: Improving Domino Designer ICON UK

© 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

Page 77: Improving Domino Designer ICON UK

© 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

Page 78: Improving Domino Designer ICON UK

© 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

Page 79: Improving Domino Designer ICON UK

© 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)

Page 80: Improving Domino Designer ICON UK

© 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

Page 81: Improving Domino Designer ICON UK

© 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

Page 82: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

FreeMemhttp://www.junginger.biz/eclipse/freemem.html

Page 83: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

QuickRExhttp://www.bastian-bergerhoff.com/eclipse/features

Page 84: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

MultiClipboardhttp://www.bastian-bergerhoff.com/eclipse/features

Page 85: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

XPath-Developerhttp://www.bastian-bergerhoff.com/eclipse/features

Page 86: Improving Domino Designer ICON UK

© 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

Page 87: Improving Domino Designer ICON UK

© 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)”

Page 88: Improving Domino Designer ICON UK

© Kathy Brown, Julian Robichaux

THANK YOU

Julian Robichauxpanagendansftools.com@jrobichaux

Kathy BrownPSC Group

runningnotes.net@RunningKathy