Making Domino Designer work like you want

Similar documents
The Slide Master and Sections for Organization: Inserting, Deleting, and Moving Around Slides and Sections

Hello and welcome to the CPA Australia podcast. Your weekly source of business, leadership, and public practice accounting information.

Using Google Analytics to Make Better Decisions

Annex IV - Stencyl Tutorial

PowerPoint Pro: Grouping and Aligning Objects

CLICK HERE TO SUBSCRIBE

Glenn Livingston, Ph.D. and Lisa Woodrum Demo

The Emperor's New Repository

Create and deploy a basic JHipster application to Heroku

Proven Performance Inventory

DAZ Studio. Camera Control. Quick Tutorial

019 My Wife Caught Me Looking at Porn, Now What?!?!

Phase 2: Testing & Validation: Forever Affiliate Content Strategy - Minisite & Authority Site

Ep #23: Cheat Days. Hi! How's it goin'? Great? Good. Then let's jump right into today's topic. Cheat days.

BOOK MARKETING: Profitable Book Marketing Ideas Interview with Amy Harrop

Do Not Quit On YOU. Creating momentum

Welcome to another episode of Getting the Most. Out of IBM U2. This is Michael Logue, and I'll be your host

Automate Your Social Media Marketing (Tutorial)

CLICK HERE TO SUBSCRIBE

How To Write A Compelling Ad In Minutes

BOOSTING AFFILIATE PROFITS

Editing Your Novel by: Katherine Lato Last Updated: 12/17/14

26 AdWords Mistakes: How They Are Killing Your Profits (And How To Fix Them) Contents

How to Turn Your WordPress Sidebar from Boring to Soaring Transcript

How To Add Falling Snow

Listen to. the podcast. Transcript: what has. suddenly. weak roofs. the place. didn't have. We have. ones but. like that to. 1 Page. Chandoo.

PAGE 1 THE PERFECT WORDPRESS DEVELOPMENT WORKFLOW

2.0 4 Easy Ways to Delete Background to Transparent with GIMP. 2.1 Using GIMP to Delete Background to Transparent

My System for Playing Bar Chords That Never Fails

How to Put Rainbow on Your Resume

Celebration Bar Review, LLC All Rights Reserved

just going to flop as soon as the doors open because it's like that old saying, if a tree falls in the wood and no one's around to hear it.

Common Phrases (2) Generic Responses Phrases

Autodesk University Project Navigator to the Rescue in AutoCAD Architecture: Fix Standard Mismatches in a Project

The Open University xto5w_59duu

Eight Steps to a Vision of Greatness

Referral Request (Real Estate)

COMPUTING CURRICULUM TOOLKIT

#1 CRITICAL MISTAKE ASPERGER EXPERTS

EPISODE #8: GAINING AWARENESS OF YOUR THOUGHTS

QUICKSTART COURSE - MODULE 7 PART 3

Autodesk University Automating Plumbing Design in Revit

GreatProjectsGreatLife.com Unleash the Power of the Law of Attraction 1

CLICK HERE TO SUBSCRIBE

The lump sum amount that a series of future payments is worth now; used to calculate loan payments; also known as present value function Module 3

Become A Blogger Premium

C R A S - P R O D U C E R M A R K E T I N G S E C R E T S. Get more artists to take notice of you instantly... by Cras

NOTICE: THIS REPORT IS COPYRIGHT OF ANGELA WILLS & MARKETERS MOJO

Photo Editing in Mac and ipad and iphone

So, again, that was addressing that main problem of how to attract new members. Even though people in that stage, you know, it's not just about

Contribute to CircuitPython with Git and GitHub

MITOCW watch?v=fp7usgx_cvm

By now you should already have downloaded and installed Metatrader 4. If not, go to the previous episodes of this course.

Why Affiliate Marketing Doesn t Work for You

BEST PRACTICES COURSE WEEK 21 Creating and Customizing Library Parts PART 7 - Custom Doors and Windows

7-1-The_Best_Practices_Course--Week_7--Part_1--Interactive_Legends_Part_1

PASSIVE INCOME DESIGNERS BUSINESS DESIGN FREEDOM EPISODE #001 THE 7 MYTHS OF PASSIVE INCOME

Set Up Your Domain Here

1 of 14. Lesson 2 MORE TOOLS, POLYGONS, ROOF. Updated Sept. 15, By Jytte Christrup.

The Layer Blend Modes drop-down box in the top left corner of the Layers palette.

How to Get Started with AdWords for Your Online Store

Episode 14: How to Get Cheap Facebook Likes and Awesome Engagement Subscribe to the podcast here.

Power of Podcasting #30 - Stand Out From The Crowd Day 3 of the Get Started Podcasting Challenge

Term Definition Introduced in: A site that allows users to quickly post information in an informal format and allow others to comment on it Module 1

2015 Farnoosh, Inc. 1 EPISODE 119 [ASK FARNOOSH] [00:00:33]

************************************************************************ Financial Literacy in Grades 9 and 10 The Arts Music AMU1O and AMG2O

The Sooner You Use Backlinks Warrior... The Sooner You'll Get Results!

On Nanotechnology. Nanotechnology 101 An Interview with Dr. Christopher Lobb Professor, UM Physics. Research Spotlight - Issue 3 - April 2000

Well, it's just that I really wanted to see the chocolate market for myself after seeing how enthusiastic you were about it last year

page on your biz card. Since they already have your contact info, drive them to something of value for them.

14 day goal setting challenge

Module All You Ever Need to Know About The Displace Filter

Lesson 4: Develop and Launch an Engaging Website

CLICK HERE TO SUBSCRIBE

DRIVING ORGANIC TRAFFIC USING INSTAGRAM

Official Documentation

Zoë Westhof: Hi, Michael. Do you mind introducing yourself?

Autodesk University See What You Want to See in Revit 2016

KNOW THE COMPANY, TEAM, AND PRODUCT YOU'RE INTERVIEWING WITH

Split Testing 101 By George M. Brown

Transcript of Interview with Studio Superstar Phi Nelson

I'm Andy Glover, and this is the Java Technical Series. of the developerworks podcast. My guest this time is Judah Johns.

WORDPRESS-SEO-WITH-JOOST-DE-VALK Leslie Rohde, Dan Thies and Andrea Warner February 28, 2012

PDF / HOW TO TURN ON THE PS4 EBOOK

digital marketing launch process

Lisa Raehsler on PPC for ecommerce

12 Things I have Learned after Launching 18 WSO's, Making $48k, 5946 sales and Getting 3 WSO of the days

The ENGINEERING CAREER COACH PODCAST SESSION #1 Building Relationships in Your Engineering Career

Autodesk University Advanced Topics Using the Sheet Set Manager in AutoCAD

NWN2 Visual Effects Editor: Particle Effects Tutorial. By Kamalpoe

BEST PRACTICES COURSE WEEK 20 Managing Attributes, Project Preferences, Work Environment Part 1-F Element Attributes: Pen Colors and Pen Sets

Graphs and Charts: Creating the Football Field Valuation Graph

PODCASTING FOR LEADS NOT JUST LISTENERS. by Kim Doyal

How to Make Your Content Marketing 25% More Efficient

02-Apr-07 13:01 Macintosh HD:Users:johanneparadis:Desktop:Tanya...:n87_100.cha Page 1

AFFILIATE ROCKET YOUR QUICK-START GUIDE TO AFFILIATE MARKETING

Lesson 2: Choosing Colors and Painting Chapter 1, Video 1: "Lesson 2 Introduction"

How Can I Deal With My Anger?

Add Rays Of Sunlight To A Photo With Photoshop

The Little Fish Transcript

Transcription:

Making Domino Designer work like you want If there's any common refrain I hear from developers when it comes to Domino 8.5, it's that they have issues with Designer. Struggling with an IDE is always painful, no matter the platform. Simple issues like how to auto-format code or how to control content suggestions can make a developer feel incompetent and frustrated in about 10 seconds. Developers are, in fact, the worst kind of users -- always expecting their tools to implement the "do what I want" interface. With great power comes great responsibility, and the fact that Domino Designer 8.5 is based on Eclipse means that developers have an enormous amount of power over the behavior of the toolkit. I find that even the most seasoned developers haven't really explored this power, working pretty much with the default settings out of the box and never looking very far past the surface. I have the good fortune of having a financial motivation when it comes to Domino developer productivity, and so it makes sense for me to spend time on finding the right settings for Designer that make it an incredibly productive platform. With the launch of our partner program with the GBS Transformer, there is even more demand among our partners to get the most out of Designer. So I decided to put together a guide for the Lotus community on how to get the most out of Designer. In some cases, this means telling Eclipse to DO LESS because what its doing doesn't really help, and just eats up clock cycles uselessly. The first step is to keep Designer from being spastic and doing weird unnecessary things all the time. Fortunately, this can be accomplished with a few easy changes. First is the Application Navigator. The very first thing you should do is make sure that Editor synchronization is turned OFF by disabling this preference. (Don't change this if you like the Navigator to act like a ferret on crystal meth. Some people are into complete context shifts without warning. Just sayin') Next is "Build Automatically." Build Automatically is for people that don't understand that source code has to be compiled before it runs. So it's for spreadsheet developers, not application developers. For application developers, it's the worst kind of plague that traps noobies into thinking that everything just magically works -- a belief that last right up until they work with another developer for the very first time, and the complexities of team development hit them in the face like a cinder block. If you're reading this blog, you aren't that person, and therefore you should just turn this off immediately.

(Build Automatically is so bad that if you install our Transformer add-on for Designer, whenever you run a transform on an application, it turns off the setting immediately. And it doesn't turn it back on. Because it's a really, Really, REALLY bad idea.) This is a good time to note that, whether you build automatically or not, it's a very bad idea to work directly against server versions of your applications in Designer 8.5. Make local templates, and either deploy them via replication, or using the standard "refresh design" command in Notes. Designer does too much automated background access against a project's file system for this to work well over NRPC. The only exception is if the server is local to the same OS that Designer is on. In that case, it's slower, but not so much that it's hard to work with. Next, let's look at the Problems view from Eclipse. By default, this displays every issue that the IDE knows about for every project, whether it matters right now or not. Fortunately, it's pretty easy to get it to focus on the task at hand. (This particular menu widget frequently reveals interesting controls. If you see something in Designer that you'd like to change, look for this control. If it's there, odds are you can get it to work like you want.) Then change the settings to look like this:

(As you can see, you can set a bunch of alternative groupings of controls. Try lots of different settings -- maybe you can improve on my recommendation!) If you haven't already added Package Explorer to your perspective, here's how to find it. Once it's added, I usually like to drag it over to be a sibling tab to the Application Navigator itself. This is essential for serious XPages development. And once it's added, you should go to Window - Save Perspective As... and set it to Domino Designer. Yes, override the base definition of the platform, so you can make sure its still there every time you restart.

(Not having the Package Explorer in Designer is kinda like buying a Mini for performance driving, but getting an automatic transmission. If you're gonna drive a performance car, DRIVE the thing!) Once you've added the Package Explorer, be sure to set it to display your Working Sets so they have double-duty. Also, once you do this, if you do a right-click - Build on your Domino projects, they will happen with a proper UI that details what's going on instead of the blackhole of the App Nav build process. Once you make the change, you'll never want to go back. (Plus it makes it easier to take screenshots that don't reveal customer names! hehe)

Designer itself has a few preferences worth noting. I like to set the following just to have the IDE doing a little less work and a little less nagging. (Maureen says Designer is female. These settings will make it a little more masculine.) Also make sure you turn off more automatic compilation, because you're a real developer, right?

(Every time you compile based only on a save, a kitten dies. Seriously.) By its default settings, Eclipse displays normal text editing in Courier. I don't really have anything against Courier except that IT SUCKS. So if you really want to work source code in Designer, set your default font to something readable, like Andale Mono.

(If you don't believe me, Google Courier and Andale Mono. It's a documented fact that Andale Mono is a better typeface for source code.) Sometimes surprising things can slow down your experience in an IDE. One of those is when a tree navigator thinks it needs to show you the ideal representation of every imaginable piece of content. This is pretty much totally unnecessary on Domino projects, so there's no reason to go through all the extra file I/O it requires. Turn it off.

(If you don't turn this off, Eclipse is actually opening every file it displays to make sure that the content type matches the extension. Can you imagine the workload involved?) If you're an XPages developer who works a lot in the Source tab, you've probably been frustrated by slow downs in the Editor. Well, it turns out that some of these things are just default behaviors of the editor itself, and you can control them.

(Leave these setting on if you frequently have trouble keep track of your syntax nesting in XML.) Note: the single best thing you can do to make sure you don't have a bad experience in the XPages source pane is to NEVER write href references to files with spaces in the name. This causes the editor to try to resolve the reference itself, and if the file doesn't exist because you haven't typed the full name, it will spend a lot of time trying to resolve it. You'll perceive this as "suddenly the keyboard doesn't respond, and letters are only added every two seconds." Similarly, if you want to comment out some content, highlight the whole block and hit Ctrl + Shift + /. Spell-checking your source code is almost definitely useless, so turn it off.

(Okay, it's a good idea if you've added all your variable names to your local dictionary. And if you did that, you are a pedantic idiot.) If you write Java code directly into your XPages projects, then some simple Java behavior changes make sense. I, for one, am fanatical about source code formatting, so I like to make sure this happens at save.

(There's a crazy number of possible controls here. You should check them out.) I also like to let the editor do a little extra work for me.

(Incidentally, putting semicolons at the end of Javascript lines is optional, if you're an amateur. If you don't wear diapers to work, then you add the delimiter to the end of a statement.) Many of the most important controls are in the XML editor, because these affect the Source tab in Xpages. Mostly, you want to make that Editor better for widescreen monitors, and stop trying to tell you what to do.

(Jeremy Hodge recommended the 'split multiple attributes' setting, and I thought he was crazy. Until I did it. Now I couldn't imagine working any other way.) If you want to make large blocks of Javascript easier to process in the Source tab, then you need to make sure they're visible. I've found the following small change to work out very well.

(Okay, to be honest, the highlighted code is all Javascript, and so I throw up in my mouth a little. But it's also better for revealing bad behavior, so it's worth the occasional reflux to spot JS code easily.) Once you've tweaked all these settings, you should find XPages content much easier to digest visually...

(Yes, all these are custom tags. Big deal. Wanna fight about it?) Also, if you haven't installed the Source Code Enablement plugin for Designer, do so RIGHT NOW. (Update: this is no longer needed with Designer 9.0) And if you don't have a source code management server available, then build one immediately. You can use SVN or Mercurial and get support from Eclipse.org, or you can use git, and get support from OpenNTF.org. Or you can use Github or Bitbucket. SCM is absolutely mandatory in multi-developer projects, and if you aren't using it, you're taking needless risks with your applications. That's it for this particular article. There are certainly other things you can do to make Designer do even more, whether with CodePro or Aptana or Mylyn or JUnit, but these are beyond the scope of just tweaking what Designer does today.