A Legacy Notes Developer's journey into madness.

How not to find things

Devin Olson  August 23 2012 03:21:35 PM
Yesterday my buddy Tim Tripcony suggested I check out watrCoolr on OpenNTF.Org.  I was interested in real time data serialization and MIME entity conversion, and Tim's application does exactly that.

I downloaded and signed the template, then created a new database from the template and put it up on a test server.   Then I opened the database from a browser and voila! -Instant Chat room, working perfectly.  I was very happy.  

it was rather late in the day so I didn't have time to dive into his code and check out HOW he was doing things until today.  

And there began my struggle.   I couldn't find the code.  I had the template, it was signed, and it worked.  I opened it in designer and searched for the code that I  KNEW had to be there.  Having spoken with Tim about it yesterday, I knew he was using several Java classes.   I closed and re-opened DDE, and still couldn't find it.

DDE Navigator > Code > Java = Nothing.   Ok, I know before Java was officially included in DDE we could use files.  
So I checked DDE Navigator > Resources > Files:  There is a license in there, but no code.   Hmmm.   Perhaps he stuffed it into a script library?
DDE Navigator > Code > Script Libraries: There is a SSJS file, but still no Java.  Perhaps he buried it as an embedded attachment to a Form? or stuffed it into the About document?   Nope.  Nothing.  

So I closed and re-opened DDE again, and began a methodical search for the Java code that HAD to be in there.   I checked EVERY SINGLE design element thing I could find.  Nothing.   For a moment I thought perhaps he had hidden the design -it is possible but makes no sense in that he has published it as open source.  

Finally I pinged him and asked about the missing Java (I didn't do this FIRST because I'm trying to LEARN this -and I learn best by DOING, not by ASKING).  

ME: "playing with watrCoolr, cant find the MIMEBean class.  slowly loosing my mind."

TIM: "probably in some util package..."

ME: "I can't find any java code in the template."

TIM: "uh, package explorer?"  


DOH!  It was there all along.  Right there in Package Explorer, EXACTLY where it was supposed to be.    The reason I didn't find it there was because I never bothered to look there.  Years of legacy Domino development has not only trained my "muscle memory" for code to LotusScript and @Formula, but has also trained my "visual-memory" to only "see" the DDE Application Navigator.   Intellectually I KNEW where to look in order to find the Java code, but instinctively I was blind to that area -I didn't look there because I never have needed to do so before.    

I've slowly been unlearning these habits, and am slowly learning more usage patterns for DDE in XPages mode (such as using the Outline Navigator when working on an XPage or Custom Control -if you have not used this wonderfully helpful tool I urge you to give it a try).    

Hopefully my little bit of frustration will help you avoid the same.    In my case I'm pretty sure I have now learned this lesson and will not likely lose Java code in the future.  

Hope this helps!
-Devin.