If you’re looking for a string value in code throughout your application, it can sometimes be frustrating to weed through extraneous results. If you know the exact string, you can make the search more efficient by including the quotes in the search. However, if you’re working on someone else’s (because you would never do that) application where there’s inconsistent usage of single and double quotes throughout the code, you either have to search twice or you may miss some results. In this post, I’ll show how to do a single search to find all instances in single or double quotes.
Here’s a bad example that I can easily use as a straw man to illustrate the point.
I created an empty NSF and added two script libraries.
One has this line:
var x = 'doc';
The other has this line:
var x = "doc";
A search for
doc (without quotes) brings back 13 results because it’s part of a bunch of words. And this is in an otherwise empty NSF.
In order to narrow the results, I can limit the search by wrapping the search term in quotes to find only instances of the full string. In this example, I searched for
This search only found the instance that used double quotes, but it misses the other instance in single quotes.
RegEx to the Rescue
Fortunately, Eclipse search can handle regular expressions. (H/T to Jessie Gallagher for that tip awhile back.)
Just check the ‘Regular expression’ box and use regex syntax for finding one of multiple characters (square brackets) to build a search string that will find the value with either single or double quotes.
And now I get the results I was looking for, including the term in both single and double quotes.
Note: If you only know part of the term, you can use wildcards or just include the quote search on one end of the term.
If you’ve been using Domino Designer for any length of time, you’re likely aware that you can group your applications into Working Sets in the Applications view. But did you know that you can do the same thing in the Package Explorer and Navigator views?
Working Sets in the Applications View
Here’s what it looks like to select a working set in the Applications view in DDE:
You can choose one or select the
Multiple... option to select multiple working sets.
Working Sets in the Package Explorer View
Until recently, I didn’t realize that I could make a similar selection in the Package Explorer view. I always just saw it as annoying that I had to dig through every NSF I’ve worked on until I looked around for this option.
If you click on the icon with 3 horizontal gray lines, you get this drop-down:
You can select a single working set or choose the magic
Window Working Set option to have the Package Explorer databases automatically updated based on your working set selection in the Applications view.
If you want to disable this option and show them all, you can select
Deselect Working Set from the menu.
Working Sets in the Navigator View
Interestingly, you can also choose a working set in the Navigator view, but the options are more limited; there’s no option to link it up with the current working set.
If you’d like to monitor the synchronization of an application with the local source control repository, you can use the Console view in Domino Designer. In this post, I’ll show different kinds of helpful information that the view displays.
If you’re using source control, the Console view displays information about the synchronization of design elements between the NSF and the (source control) on-disk repository.
This can be helpful to see what’s going on if your DDE client is responding slowly (and may help you decide whether you want to enable or disable automatic synchronization). It may also be helpful in tracking down the creation of the dreaded .orig files.
Opening the Console View
Show eclipse views >
When you open an application in DDE, you’ll see the console start the synchronization process. (There’s even a misspelling to keep the grammar cops on alert.)
When you update an existing design element, you see that it exports the change to the on-disk repository (for the .xsp and related .xsp-config file).
When you add a new design element, it creates the .xsp, .xsp.metadata, and .xsp-config files in the on-disk repository.
If you have automatic synchronization enabled, it will happen when the application is built. (If you have Build Automatically enabled, it will happen automatically. Otherwise, it’ll happen when you build the application.)
Simple Sync Conflicts
If you’ve seen a popup like this, then there is a synchronization conflict:
Here’s the corresponding message in the Console view:
Nsf file AppProperties/database.properties and disk file AppProperties/database.properties both have been updated since last sync or are never synced:Wed Aug 20 20:17:36 EDT 2014
It indicates a conflict and it’s making it easy for you to choose how to resolve it. You can also see evidence of this in the Console view. I tend to see this often with the database.properties (because the time stamps are always being modified). This type of popup is displayed when you synchronize with source control before opening the application in DDE. (If you modify the same element as someone else, conflicts will show up differently when you try to commit changes within your source control plugin or application.)
One View – Multiple Uses
The Console view is displayed as Console (DDE Sync Console) when displaying source control sync information. You can also switch it to be used as a Java stack trace console by via the Display Selected Console icon.
When looking at the Controls Palette in Domino Designer, there is a ‘Custom Controls’ drawer that is automatically populated with all custom controls in the current application. In this post, I’ll show how you can better organize your custom controls by displaying them in additional drawers.
The Custom Controls Drawer
Here’s an example: in this test database I have 5 custom controls. They are automatically added to the ‘Custom Controls’ drawer in the Controls Palette.
Creating a New Drawer in the Controls Palette
If you want to organize one or more custom controls into a separate drawer, you can set the Category property on the custom control’s properties panel.
Now, this custom control will be displayed separately in the controls palette.
If you have a large application with a lot of elements, this feature can be helpful in keeping groups of controls together. One great way to use it is to group related controls that are all required together to implement a feature so it’s easy to tell what you need to add to a page in order to make it work.