IBM®
Skip to main content
    Country/region select      Terms of use
 
 
   
     Home      Products      Services & solutions      Support & downloads      My account     

developerWorks  >  Lotus  >  Forums & community  >  Best Practice Makes Perfect

Best Practice Makes Perfect

A collaboration with Domino developers about how to do it and how to get it right in Domino

A while back, I posted a utility to search among all your databases for design elements with specified attributes or search terms in the code. This is a newer, better version.

I've been using this often myself, to find example code from some application I developed years ago or investigate applications developed by others, so I've been improving the tool as I went along. I've always had a list of the more things I needed to do before I let anyone have it, and now I'm done with that list, so it's time to release again, quickly, before I think of something else.

The main differences you'll notice from the previous version are:

  • more design elements to select from, including new ones from version 8.
  • an option to search for words in the DXL of the design notes, in case what you're looking for might be in a weird place we wouldn't recognize as code or rich text, like the name of a column or part of a CSS.
  • the ability to display the context in which your search strings were found. This is enabled with a checkbox in the search parameters dialog -- lower left. The search terms are displayed boldface, with about 25 characters on either side, to help you decide whether it's an occurrence you're interested in.
  • if you display context, the name of the containing entity (action, form event, subroutine...) is included. This doesn't work if you select the "All DXL" search.
An example of the output appears below.

And here's the application, which you may download and use:

Andre Guirard | 11 August 2008 05:15:00 AM ET | Man-Cave, Plymouth, MN, USA | Comments (13)


 Comments

1) Son of Design Element Search
Dennis van Remortel | 8/11/2008 5:32:57 AM

Thanks Andre!!

2) Son of Design Element Search
Gabriel Amorim | 8/12/2008 7:36:34 AM

Off topic: Andre, when or where can I find a part of your fantasy epic writings? Can you show me a chapter or something?

3) Son of Design Element Search
Gabriel Amorim | 8/12/2008 7:39:57 AM

In topic: I usually use the synopsis. That's not very usefull handling very large database which you have to split the structure elements of to search through many databases. I tried the application above and it works great still I guess it runs a little bit slow. But what search doesn't? Perharps Google... =)

Does anyone have tried cuil.com?

4) Son of Design Element Search
Andre Guirard | 8/12/2008 11:14:53 AM

Gabriel, I'm still looking for an agent for the book, but here's a short story of mine: http://www.spillwayreview.com/shortiron.html

5) Son of Design Element Search - Error - ’Notes 6.5.4
Ovidiu | 8/14/2008 7:25:05 AM

Andre, I wanted to test the search tool but I received the following error

"4428: Error 4428: Property is not available on this object//DXLDesDesElemFilter:90.

Tested with Notes 6.5.4

Cheers

Ovidiu

6) Son of Design Element Search
peter b | 8/18/2008 1:59:18 AM

Should be very useful.

What versions of Notes is it compatible with ?

Thank you.

7) Son of Design Element Search
Andre Guirard | 8/18/2008 5:57:33 PM

I don't know -- apparently not 6.5.4. :-)

8) Son of Design Element Search
Ernie Mercer | 8/22/2008 5:41:11 PM

Thanks for putting the tool together. However, I notice that if a found value is located in a specific field, such as the field's default value or in the formula for dialog list keywords, then the search output does not display the name of the field only part of the context where the match was found. Can you not get it to output the name of the field?

9) Database title wildcard
Stefano Menci | 10/20/2008 12:22:37 PM

The text on the right says "e.g. *French*,*Fries* ..."

I tried to use "DB1*,DB2*", but it didn't work.

Am I doing anything wrong?

Second question: It says "the script debugger will be disabled until dialog is closed".

Is there a way to debug your script?

Thanks,

Stefano

10) Son of Design Element Search
Andre Guirard | 10/23/2008 1:05:44 PM

> I tried to use "DB1*,DB2*", but it didn't work.

Don't know what to tell you. It works for me. Are you sure you put it in the right field? What message comes up to explain why it was not found?

> It says "the script debugger will be disabled until dialog is closed".

> Is there a way to debug your script?

There's not much in the dialog itself to debug. The script that calls the dialog is much more interesting. Just activate the debugger before you open the app.

11) Untitled
stumer han | 4/23/2009 10:37:31 AM

I do not know

"4428: Error 4428: Property is not available on this object//DXLDesDesElemFilter:90.

this error is also appeaered in Notes 6.5.1

12) Small modification to get it runing under Notes 6.5.x
Bernd Hort | 8/4/2009 6:24:34 AM

The problem is caused by the property "ValidationStyle" of the NotesDXLExporter class. The property is not available in version 6.5.x.

A work around is the change the code in the agent "Design Element Search". Look for the property and set it only if it is at least Notes 7.x:

If session.NotesBuildVersion > 255 Then dxle.ValidationStyle = VALIDATIONSTYLE_NONE

You have to use a Lotus Designer higher than 6.5.x or you can't save the code. ;-)

13) Thanks for this very useful utility
Richard Hogan | 8/17/2009 11:10:03 AM

This utility has saved me time in the past and allowed me to do some thorough checking that would be extremely difficult and tedious otherwise.

Found it very useful today again, so thought it's about time I said thanks very much.

(only thing was that I downloaded the old version today first as V2 doesn't appear in the 'Developer Tools' category in your sidebar)

14) Thanks for Sharing
Shibesh | 1/12/2016 4:34:50 AM

Its really amazing and helped me in analysis while doing lotus notes mail migration to outlook

 Add a Comment
Subject:
   
Name:
Comment:  (No HTML - Links will be converted if prefixed http://)
 
Remember Me?     Cancel

Search this blog 

Disclaimer 

    About IBM Privacy Contact