Improving Domino Designer ICON UK

6,262 views

Published on

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.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,262
On SlideShare
0
From Embeds
0
Number of Embeds
882
Actions
Shares
0
Downloads
66
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Improving Domino Designer ICON UK

  1. 1. © Kathy Brown, Julian Robichaux Improving Your Domino Designer Experience Julian Robichaux :: panagenda Kathy Brown :: PSC Group
  2. 2. © Kathy Brown, Julian Robichaux Who We Are Julian Robichaux panagenda nsftools.com @jrobichaux Kathy Brown PSC Group LLC runningnotes.net @runningkathy
  3. 3. © Kathy Brown, Julian Robichaux The Goals of this Session Understand how Eclipse and DDE work together especially by using helpful things that “come for free” with Eclipse Avoid breaking things and learn how to fix them when they break Work more efficiently Some information will be old hat, some (hopefully) will be brand new
  4. 4. © 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?
  5. 5. © Kathy Brown, Julian Robichaux An Informal History of Eclipse Began 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
  6. 6. © 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
  7. 7. © Kathy Brown, Julian Robichaux A Very Abbreviated Timeline 1999: 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
  8. 8. © Kathy Brown, Julian Robichaux Also in 1999...
  9. 9. © 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
  10. 10. © Kathy Brown, Julian Robichaux Installing (and Reinstalling)
  11. 11. © Kathy Brown, Julian Robichaux Considerations: Fresh Install A 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
  12. 12. © Kathy Brown, Julian Robichaux Considerations: VMWare Fixed size page file, 1.5 to 2 times your RAM Defrag first, then restart and fix the page size Turn off things that poll CD auto-play, Bluetooth, shared or mapped drives Defrag+compact regularly (or use a fixed size VM) Keep your VMWare Tools (drivers) updated
  13. 13. © Kathy Brown, Julian Robichaux Considerations: VMWare
  14. 14. © Kathy Brown, Julian Robichaux Install Tips If 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
  15. 15. © Kathy Brown, Julian Robichaux Upgrade Tips Install 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 dataworkspace.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
  16. 16. © 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” tool http://www-01.ibm.com/support/docview.wss?uid=swg21459714
  17. 17. © Kathy Brown, Julian Robichaux Reinstalling Best 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"
  18. 18. © 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
  19. 19. © Kathy Brown, Julian Robichaux Understanding Eclipse Configuration
  20. 20. © Kathy Brown, Julian Robichaux Perspectives and Views What are they? Perspectives are layouts of Views Think of a painter’s palette Views are panels or tabs with the tools you need Think of the colors on the palette
  21. 21. © Kathy Brown, Julian Robichaux Perspectives and Views Perspective View
  22. 22. © Kathy Brown, Julian Robichaux Perspectives Default perspectives: Debug, Domino Designer, Forms/ Views, Java, Java Browsing, Javascript, and XPages
  23. 23. © Kathy Brown, Julian Robichaux More Perspectives Each 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
  24. 24. © Kathy Brown, Julian Robichaux Customizing Perspectives Menu option “Customize Perspective...” Add or remove Eclipse views Add or remove Menu and Toolbar items
  25. 25. © Kathy Brown, Julian Robichaux Customizing Perspectives “Manual” customization Move view panes all to the left or right for more screen real estate Drag up Outline Add Package Explorer (Window - Show Eclipse Views)
  26. 26. © Kathy Brown, Julian Robichaux Saving Perspectives Save 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
  27. 27. © Kathy Brown, Julian Robichaux My Favorite View: Progress Window - Show Eclipse Views - Other... - General - Progress
  28. 28. © Kathy Brown, Julian Robichaux Tips on Views & Perspectives Make the tab full screen Double-click the tab title, and double-click again to reset it Or click the small “maximize” icon on the tab bar Or use Ctrl-M Use Reset Perspective when you’ve totally borked it
  29. 29. © Kathy Brown, Julian Robichaux Working Sets It’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 (!)
  30. 30. © Kathy Brown, Julian Robichaux Working with ... Working Sets Select 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
  31. 31. © Kathy Brown, Julian Robichaux More Working Sets New 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
  32. 32. © Kathy Brown, Julian Robichaux Preferences and Settings Notes client and DDE shared storage of settings Eclipse is a cornucopia of plugins Every 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
  33. 33. © Kathy Brown, Julian Robichaux The Workspace Folders Main subfolders under the dataworkspace 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
  34. 34. © Kathy Brown, Julian Robichaux Deleting the Workspace Removes 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
  35. 35. © 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
  36. 36. © Kathy Brown, Julian Robichaux Cleaning a Broken DDE Special 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.workbenchworkingsets.xml com.ibm.designer.domino.ide.resourceswsInfo.xml
  37. 37. © Kathy Brown, Julian Robichaux Back Up Your Settings Can’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
  38. 38. © Kathy Brown, Julian Robichaux Back Up Your Settings Hat 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 - Preferences Saves as a .epf file (text file, you can look to see what’s there) To import: File - Import - General - Preferences
  39. 39. © Kathy Brown, Julian Robichaux Back Up Your Settings Bonus: also backs up your SAVED custom Perspectives
  40. 40. © Kathy Brown, Julian Robichaux General Settings
  41. 41. © Kathy Brown, Julian Robichaux File - Preferences There 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
  42. 42. © Kathy Brown, Julian Robichaux Default Language Type
  43. 43. © Kathy Brown, Julian Robichaux Line Numbering
  44. 44. © Kathy Brown, Julian Robichaux Spellcheck (or lack thereof)
  45. 45. © 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.
  46. 46. © Kathy Brown, Julian Robichaux Hotkeys Help - Key Assist or... Control - Shift - L or... File - Preferences - General - Keys
  47. 47. © Kathy Brown, Julian Robichaux Hotkeys
  48. 48. © Kathy Brown, Julian Robichaux Hotkeys Shortlist Ctrl + / -- 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
  49. 49. © Kathy Brown, Julian Robichaux Other People’s Preferences http://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
  50. 50. © Kathy Brown, Julian Robichaux Working With Code
  51. 51. © Kathy Brown, Julian Robichaux Search Tips Old skool: File - Application - Design Synopsis... It still exists!
  52. 52. © Kathy Brown, Julian Robichaux Search Tips Single code element: Control + F make sure you use “wrap search” regular expressions!
  53. 53. © Kathy Brown, Julian Robichaux Search Tips Full design search: Search - File... (or Ctrl + H)
  54. 54. © Kathy Brown, Julian Robichaux Search Tips Full 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
  55. 55. © Kathy Brown, Julian Robichaux Searching Help - Scopes
  56. 56. © Kathy Brown, Julian Robichaux LotusScript Tips Code and Comment Templates
  57. 57. © Kathy Brown, Julian Robichaux LotusScript Tips Determining the correct error line number Navigate - Go to erl line... Needed in DDE 8.5.x, seems to be less necessary in 9.0
  58. 58. © Kathy Brown, Julian Robichaux XPages Tips Changing 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)
  59. 59. © Kathy Brown, Julian Robichaux XPages Tips Troubleshooting local web server port conflicts TCPView from sysinternals.com (now Microsoft Sysinternals)
  60. 60. © Kathy Brown, Julian Robichaux XPages Tips Where do all the print statements go for local debugging? log.nsf -or- dataIBM_TECHNICAL_SUPPORTconsole.log Extra logging info datadominoworkspace.configrcpinstall.properties see the commented log levels at the bottom of the file logs to datadominoworkspacelogstrace-log-0.xml might have to shut down local web preview for logs to flush notice the “domino” in that path...
  61. 61. © Kathy Brown, Julian Robichaux XPages Tips The 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 notesosgi: *April 2012 Clippings Newsletter -- need to get republished
  62. 62. © Kathy Brown, Julian Robichaux XPages Tips Problems Tab, “configure contents...” Show only errors “On any element in same project”
  63. 63. © Kathy Brown, Julian Robichaux XPages Tips To Build Automatically or Not To Build Automatically Working Local? Yes No Sure, Build Automatically No, Just No
  64. 64. © Kathy Brown, Julian Robichaux Java Tips Get stack trace line numbers from Java agents and script libraries No performance penalty
  65. 65. © Kathy Brown, Julian Robichaux Java Tips Save the whole agent when you save a class in the agent
  66. 66. © Kathy Brown, Julian Robichaux Java Tips Code 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
  67. 67. © Kathy Brown, Julian Robichaux Java Tips TODO and FIXME Eclipse view: Other - General - Tasks
  68. 68. © Kathy Brown, Julian Robichaux Java Tips Adding 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
  69. 69. © Kathy Brown, Julian Robichaux Java Tips Code Snippets Built-in Eclipse functionality Right-click code and choose “Add to snippets” Drag and drop to paste into editors
  70. 70. © Kathy Brown, Julian Robichaux Java Tips Scrapbook pages from Package Explorer: Right-Click - New - Other Java - Java RunDebug Scrapbook Page Use a Console view for output Highlight code, right-click, execute System.out.println() goes to console (Other - General - Console)
  71. 71. © Kathy Brown, Julian Robichaux Java Tips Scrapbook Pages Evaluate String commands, regular expressions, XML parsing, etc.
  72. 72. © Kathy Brown, Julian Robichaux Java Tips Debugging 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
  73. 73. © Kathy Brown, Julian Robichaux Java Tips Eclipse Tips and Tricks page http://help.eclipse.org/indigo/topic/org.eclipse.jdt.doc.user/tips/jdt_tips.html
  74. 74. © Kathy Brown, Julian Robichaux Plugins
  75. 75. © Kathy Brown, Julian Robichaux Source Control Even if you aren’t working with a team Easily roll back specific changes Track changes (what/when/who) Simple system for having a backup, while working locally
  76. 76. © Kathy Brown, Julian Robichaux Source Control - Setting Sometimes DDE hangs (GASP!) Turning off On Disk Project syncing can help Tip! You have to remember to then manually sync
  77. 77. © Kathy Brown, Julian Robichaux Source Control - Resources https://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
  78. 78. © Kathy Brown, Julian Robichaux Extension Library Depending 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 Site http://bit.ly/UpdateSite Wiki entry on installing an update site
  79. 79. © Kathy Brown, Julian Robichaux Extension Library Install Tips Do 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)
  80. 80. © Kathy Brown, Julian Robichaux Third Party Plugins Finding third-party plugins Looks for plugins compatible with Eclipse 3.2 - 3.4 (they might work) Before you install Completely restart the Notes client Take a snapshot if you’re using VMWare
  81. 81. © Kathy Brown, Julian Robichaux Third Party Plugins File - Application - Install You might have to be in a DDE (non-custom) perspective to get the Application - Install menu option After you install Manually shut down and restart the Notes client again (don’t use the “Restart now” option) X
  82. 82. © Kathy Brown, Julian Robichaux FreeMem http://www.junginger.biz/eclipse/freemem.html
  83. 83. © Kathy Brown, Julian Robichaux QuickREx http://www.bastian-bergerhoff.com/eclipse/features
  84. 84. © Kathy Brown, Julian Robichaux MultiClipboard http://www.bastian-bergerhoff.com/eclipse/features
  85. 85. © Kathy Brown, Julian Robichaux XPath-Developer http://www.bastian-bergerhoff.com/eclipse/features
  86. 86. © Kathy Brown, Julian Robichaux Writing Your Own Plugins What 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
  87. 87. © Kathy Brown, Julian Robichaux Writing Your Own Plugins Hints, 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)”
  88. 88. © Kathy Brown, Julian Robichaux THANK YOU Julian Robichaux panagenda nsftools.com @jrobichaux Kathy Brown PSC Group runningnotes.net @RunningKathy

×