uklug - open the toolbox - tools for the domino developer
DESCRIPTION
It’s always important to have the right tool for the job. You wouldn’t use a screwdriver to hammer in a nail. It might eventually work, but it would take a lot longer. Tradesmen like plumbers and electricians make it look easy, but sometimes it is because they have all of those specialized tools. Julian and Kathy will open up the toolbox and show you some of the tools available to make your job as a Domino Developer even easier. Even better, most of the tools are free! They’ll cover tools for agents, XPages, browsers, testing, ideas for building your own tools, and more. It's like a home improvement show for developers!TRANSCRIPT
© RunningNotes
Tools for the Lotus Notes Developer
(no, that is not Comic Sans)
© RunningNotes
Kathy BrownPSC Group
runningnotes.net
@RunningKathy@NotesDevTipsToo many to list
Blackberry Today Podcast
© RunningNotes
Julian Robichauxpanagenda
nsftools.com
@jrobichaux@chiasheep
TakingNotes podcast
© RunningNotes
Developer Tools!
© RunningNotes
Lotus Notes ClientDomino DesignerXPagesJavaJavaScriptWeb Design and PrototypingGraphicsCharts, Graphs, and ReportsNetworking and Web ServicesRelational Database ToolsGeneral Developer ToolsCommunity Resources
© RunningNotes
NoteManhttp://www.martinscott.com/Site.nsf/ID/Noteman
Editor, DocDelta, Design, ACL
© RunningNotes
NoteManWhat do you get for free?
See & sort a table of all field values, types, etc.
Print, forward and copy
See all doc readers and authors
Search a database by NoteID, UNID, formula and profile name
See a sortable view of profile docs
See a sortable view of design elements
Find a doc by URL
Test a formula on a doc
© RunningNotes
ytria
http://www.ytria.com
scanEZaclEZ
agentEZdatabaseEZ
replicationEZsignEZviewEZ
actionbarEZetcEZ...
really nice way to change properties on multiple views/folders
© RunningNotes
Noteshound
http://www.noteshound.com
design element propertiesprofile doc editor
code searchdocument locksdeletion stubs
etc.
© RunningNotes
OSGi Console
for output only, see: Help - Support - View Trace
© RunningNotes
Lotus Notes ClientDomino DesignerXPagesJavaJavaScriptWeb Design and PrototypingGraphicsCharts, Graphs, and ReportsNetworking and Web ServicesRelational Database ToolsGeneral Developer ToolsCommunity Resources
© RunningNotes
Agent Profiling
Really easy to do
To see the results, just right-click the agent and choose “View Profile Results”
Works on triggered and scheduled agents
LotusScript or Java
© RunningNotes
Agent Profile Before
© RunningNotes
Agent Profile Before
© RunningNotes
Agent Profile Beforealmost 50%
© RunningNotes
Agent Profile Beforealmost 50%
© RunningNotes
Agent Profile After
© RunningNotes
Teamstudio Profiler
http://www.teamstudio.com/Develop/Profiler/tabid/184/id/2/Default.aspx
© RunningNotes
Error Logging
Please, oh please, add error logging to your code
I can virtually guarantee you will find errors you didn’t know were happening
Some options on OpenNTF:OpenLogFlowAssono Framework
© RunningNotes
Visustin Flowchart
http://www.aivosto.com/visustin.html
© RunningNotes
DDE Search
© RunningNotes
Teamstudio LSCalls
http://www.teamstudio.com/Resources/FreeUtilities/tabid/212/Default.aspx
© RunningNotes
LotusScript Debugger Tricks
Call stack
All the Script Libraries in play
© RunningNotes
Lotus Notes ClientDomino DesignerXPagesJavaJavaScriptWeb Design and PrototypingGraphicsCharts, Graphs, and ReportsNetworking and Web ServicesRelational Database ToolsGeneral Developer ToolsCommunity Resources
© RunningNotes
XPages Toolbox
http://www.openntf.org/p/xpages+toolbox
© RunningNotes
XPages Debug Toolbar
http://www.openntf.org/p/XPage+Debug+Toolbar
© RunningNotes
Print to Console
print(“**********”);print(“Starting the OnClientLoad event”);print(“We got this variable - “ +varName;
© RunningNotes
PDF GenerationCustom code
Use a Java library like:iText (check the license)Apache FOP
Some XPages examples:http://www.qtzar.com/blog/7plcn79gsvswhttp://www.bleedyellow.com/blogs/DominoHerald/entry/pdfs_from_xpages_via_itext_presentation_at_mwlug_2012http://www.nnsu.com/ApacheFOP.nsf/FOPOC.xsphttp://mattwhite.me/blog/2007/5/9/using-itext-for-pdf-generation.html
© RunningNotes
Lotus Notes ClientDomino DesignerXPagesJavaJavaScriptWeb Design and PrototypingGraphicsCharts, Graphs, and ReportsNetworking and Web ServicesRelational Database ToolsGeneral Developer ToolsCommunity Resources
© RunningNotes
Debugging
Yes, you can debug Java in Notes agents and XPages
See Julian and Mark Myers’ Lotusphere presentation:http://londondevelopercoop.com/ldc.nsf/pages/goodies
© RunningNotes
FindBugs
http://findbugs.sourceforge.net
Static analysis
Bug categories:CorrectnessBad PracticeDodgy Code
© RunningNotes
JUnit
http://www.junit.org
Unit testing!
Yes, you can use JUnit with Notes agents and XPages
See Julian and Mark Myers’ Lotusphere presentation:
http://londondevelopercoop.com/ldc.nsf/pages/goodies
© RunningNotes
Lotus Notes ClientDomino DesignerXPagesJavaJavaScriptWeb Design and PrototypingGraphicsCharts, Graphs, and ReportsNetworking and Web ServicesRelational Database ToolsGeneral Developer ToolsCommunity Resources
© RunningNotes
Firefox Web Developer
https://addons.mozilla.org/en-us/firefox/addon/web-developer
© RunningNotes
Aptana
http://www.aptana.com
JavaScript and CSS editor
Which tags work with which browsers
Content-assist (including Dojo, jquery, etc.)
© RunningNotes
Mobile Toolkits
Lots to choose from:http://mobilecontrols.openntf.orghttp://www.sencha.com/products/touchhttp://phonegap.com
Check blogs and LUG presentations for examples
Third party solutions:Teamstudio, We4IT, etc.
© RunningNotes
json parser
http://json.parser.online.fr
© RunningNotes
Lotus Notes ClientDomino DesignerXPagesJavaJavaScriptWeb Design and PrototypingGraphicsCharts, Graphs, and ReportsNetworking and Web ServicesRelational Database ToolsGeneral Developer ToolsCommunity Resources
© RunningNotes
yslow
http://developer.yahoo.com/yslow
Web page performance analysis
Suggestions for improvement
Chrome, Firefox, Safari, iPhone bookmarklet
© RunningNotes
Blueprint.css
http://www.blueprintcss.org
© RunningNotes
Twitter Bootstrap
http://twitter.github.com/bootstrap
© RunningNotes
Google Chrome
https://www.google.com/chrome
© RunningNotes
ie developer tools
https://browserling.com
© RunningNotes
Firebug, againChange css directly on the page to “preview”
© RunningNotes
iPhone Simulator
https://developer.apple.com/xcode
Mac only
Installed with XCode
Not 100% the same as Mobile Safari on the iPhone, but as close as you’ll get
Simulate different IOS/iPhone versions
© RunningNotes
Lotus Notes ClientDomino DesignerXPagesJavaJavaScriptWeb Design and PrototypingGraphicsCharts, Graphs, and ReportsNetworking and Web ServicesRelational Database ToolsGeneral Developer ToolsCommunity Resources
© RunningNotes
color pickers
Pixie for Windowshttp://www.nattyware.com/pixie.php
DigitalColor Meter for Macjust type “color” in Mac’s search bar
© RunningNotes
screen capture
SnagIt (Windows and Mac)http://www.techsmith.com/snagit.html
Faststone Capture (Windows)http://www.faststone.org/FSCaptureDetail.htmUsed to have a free version
Shift-Control-4 (Mac)
© RunningNotes
HALFWAY DONE!
© RunningNotes
Lotus Notes ClientDomino DesignerXPagesJavaJavaScriptWeb Design and PrototypingGraphicsCharts, Graphs, and ReportsNetworking and Web ServicesRelational Database ToolsGeneral Developer ToolsCommunity Resources
© RunningNotes
Dojo Charts
Start with Paul Withers’ blog entries: http://www.intec.co.uk/dojox-charting-tutorial-part-one-background-and-generic-code
http://www.intec.co.uk/tag/dojox-charting http://www-10.lotus.com/ldd/ddwiki.nsf/dx/
Dojox_Charting_for_XPages
For additional reference:http://dojotoolkit.org/documentation/tutorials/1.6/charting
© RunningNotes
jFreeChart
http://www.jfree.org/jfreechart
See Julian’s LS 2012
Show ‘n Tell slides for
examples and information
© RunningNotes
amcharts / ammaps
http://www.amcharts.com
Charts are now JavaScript or
Flash
© RunningNotes
NotesSQL
http://www.ibm.com/developerworks/lotus/products/notesdomino/notessql
Still works with 8.5
Treat Notes views like relational db tables
Any ODBC reporting program can use a Notes database as a data source
© RunningNotes
ASND Export
http://www.openntf.org/p/asnd
© RunningNotes
Lotus Notes ClientDomino DesignerXPagesJavaJavaScriptWeb Design and PrototypingGraphicsCharts, Graphs, and ReportsNetworking and Web ServicesRelational Database ToolsGeneral Developer ToolsCommunity Resources
© RunningNotes
TCPView
http://technet.microsoft.com/en-us/sysinternals/bb897437
© RunningNotes
fiddler
http://www.fiddler2.com/fiddler2
© RunningNotes
Charles Web Proxy
http://www.charlesproxy.com
multi-platform, throttling, DNS spoofing, not free
© RunningNotes
Wireshark
http://www.wireshark.org
© RunningNotes
Apple Network Link Conditioner
https://developer.apple.com/downloads
© RunningNotes
Lotus Notes ClientDomino DesignerXPagesJavaJavaScriptWeb Design and PrototypingGraphicsCharts, Graphs, and ReportsNetworking and Web ServicesRelational Database ToolsGeneral Developer ToolsCommunity Resources
© RunningNotes
XPages ExtLib
http://extlib.openntf.org
© RunningNotes
FlySpeed SQL Query (ODBC)
http://www.activedbsoft.com/overview-querytool.html
© RunningNotes
SquirrelSQL (JDBC)
http://www.squirrelsql.org
© RunningNotes
Microsoft Excel (really)
Data - Import External Data - New Database Query
© RunningNotes
WAMP (has MySQL)
http://www.wampserver.com
ApacheMySQLPHPPHPMyAdminSQLBuddy
Easy install
Great for quick testing of MySQL
© RunningNotes
Lotus Notes ClientDomino DesignerXPagesJavaJavaScriptWeb Design and PrototypingGraphicsCharts, Graphs, and ReportsNetworking and Web ServicesRelational Database ToolsGeneral Developer ToolsCommunity Resources
© RunningNotes
Notepad++
http://notepad-plus-plus.org
© RunningNotes
Sticky Notes
© RunningNotes
hex editor
Choices include:Frhed for Windows http://frhed.sourceforge.net
HexEdit for Machttp://hexedit.sourceforge.net
© RunningNotes
ProcessExplorer
http://technet.microsoft.com/en-us/sysinternals/bb896653
© RunningNotes
7Zip
http://www.7-zip.org
MUCH faster than native Windows zip/unzip
gzip and tar files
easy viewing of JAR files too
© RunningNotes
Lotus Notes ClientDomino DesignerXPagesJavaJavaScriptWeb Design and PrototypingGraphicsCharts, Graphs, and ReportsNetworking and Web ServicesRelational Database ToolsGeneral Developer ToolsCommunity Resources
© RunningNotes
StackOverflow
http://stackoverflow.com/questions/tagged/xpages
© RunningNotes
LUGs (duh)
© RunningNotes
LotusUserGroup Newsletters
http://lotususergroup.org
© RunningNotes
BleedYellow
http://www.bleedyellow.com
© RunningNotes
THANK YOU!