About Me...

NotesRunningLogoRSmall.png

I'm Kathy Brown and I've been an application developer in Lotus Notes/Domino since 2005.

Prior to working in IT, I've had numerous careers including an Investment Analyst and even an Actress (long ago and far away).

And I (try to) love running!

me.jpg

kathy (at) runningnotes (dot) net

On Twitter, kjbrown13

Upcoming Races

Looking 4 Something?

Disclaimer

This is my personal blog. None of the opinions shown here represent those of my employer. In fact, forget I even have an employer. Any examples given here are strictly fictional and hypothetical and it is pure coincidence if they in any way seem like anything in real life.

08/27/2009

Fun with Lists!

Category Lotus Notes Newbies Development Lists
Lotusscript lists, that is. Frequently underutilized by developers (including me), but a very useful tool nonetheless. I had a need recently to loop through some documents, and create a unique list of names from those documents, and then count how many unique names I had. I needed to do it in Lotusscript. I would also need to do something with those names later in my code. Oh, and the number of names would depend on the document collection and how many were actually unique. Addtionally, I had more than one bit of data that I wanted to capture. For this example, we’ll say name and phone number. So, what to do?

Well, I *could* use an array, but not knowing how many names would be added to the array would mean having to ReDim the array, but that’s no fun. So enter Lists! Creating a list is super easy, and you don’t have to know how many items will be in the list. I added a little counter to count the number of items in my list as I added them. Yes, I could have added them, and then looped through afterward and counted them that way, but I actually had some other stuff to do, so did it when I added.

Dim clientList List As String ‘dim the list itself Dim n As Long ‘dim n as long for the counter n = 0 ‘start the count at 0 While Not entry Is Nothing ‘obviously prior code would have dimmed a view entry collection and 'provided a way to loop through it, this part of the code just insures we are acting on an actual entry ‘This next bit checks to see if the item is already in the list and if it is NOT, then increases the counter by 1, 'and adds the entry with column value 5 as the listtag and column value 6 as the value If Not (Iselement(clientList(entry.columnvalues(5)))) Then n = n + 1 clientList (entry.ColumnValues(5)) =entry.columnvalues(6) End If Print Cstr(n) ‘this prints the count of items added to the list ‘This just shows something we can do with the list, such as printing the listtag '(aka column value 5) for all of the entries in the list. Forall clients In clientList Print ListTag(clients) End Forall

ls2html was brought to you by nsftools.com

Pretty easy, huh? Easy to create and easy to use the data. So Lists! Use ‘em!

02/10/2009

Application Developer for Lotus Notes and Domino – a newbie guide

Category Lotus Notes Newbies
[Originally posted on my prior blog]

I think many people get to Lotus Notes and Domino from “winding” career paths. It isn’t like most of us started out our careers saying, “Hey, I know! I want to be a Lotus Notes and Domino Application Developer!”. In fact, most people I speak to didn’t even set out to be any kind of application developer or system administrator. Many of us started out in one place, and through various circumstances found ourselved suddenly tasked developing in Lotus Notes or suddenly in charge of a Notes/Domino server.

That is essentially what happened to me. Long story short (if you want the longer version, check out my first entry), I was never officially trained. I don’t have a masters in computer science. I don’t have a bachelor’s in computer science. Heck, some days I can’t even spell computer science. Anyway.

I suddenly found myself faced with need to know how to develop applications in Lotus. I quickly realized there was no “Lotus Application Development for Dummies” guide. It seemed that there were very few resources available. AND many of those assumed a level of knowledge that I did not have.

Of course, how you learn a new skill depends greatly on understanding your own learning style.

Go to the Lotus website and spend an hour or two navigating your way through 1000 links to get to the Certification and Training page. Find a certification path that makes sense for you, i.e. if you want to be a developer, look for the developer certification. From there, you should be able to find resources such as online and in person classes that would prepare you for the certification tests. (I won’t provide a direct link since they always seem to change).

One such provider is TLCC. They provide various online classes for learning Lotus Notes and Domino. I highly recommend these classes. If working at your own pace works for you, then these are a great option. You actually download an .nsf file that has lots of working examples of the material. WARNING: if you are like me and don’t “pace” yourself well, these may not be for you as I find I never complete them.

In person classes, offered in various locations. These can be pricey, but well worth it. I have taken classes from Davalen and Workgroup Connections. Both were excellent. Davalen also offers a virtual classroom, which is a lot more convenient than buying a plane ticket and hotel room! The great thing about these classes is that you get the official IBM book. Step by step instructions and examples to learn the material. WARNING: if you find yourself annoyed and bored if you get something and others in your class do not, the in person class may not be for you. WARNING: if you find yourself falling asleep at your monitor when you “work from home”, the virtual class may not be for you.

You will also find some IBM documentation on their site that may or may not be useful. Honestly, if you are just starting out, some of their “documentation” may be a little too much to handle. Downloading Volume 2 of the Programmers Guide might just make your ears bleed.

Get the Lotus Notes and Domino 6 Programming Bible, even if you aren’t using R6, this book is still invaluable. Realize though, that if you are a true newbie, some of this book will make your head explode. Get it. Read what you can and don’t worry ‘cuz the rest will make sense later.

Get Code Complete. If you are like me, and don’t have a programming background this book will help you write good code. It doesn’t matter what language, Code Complete discusses and demonstrates good code structure. Just like the previous book I mentioned, get it, read it and don’t worry that it doesn’t all make sense right away.

Definitely definitely definitely check out www.planetlotus.org. It’s a giant list of all people who blog about Lotus. Scan through stuff, search, whatever, it’s a great place for resources.

Last, but certainly not least. The way I learned the MAJORITY of what I know. Jump in. Go to openNTF.org and download an application (highly rated or popular). Open it up in the client, understand what it does, then go open it up in Designer. Try to figure out the code that does what you experienced in the client.

ETA: A Planet Lotus blogger just asked a similar question and got a bunch of great responses, check them out here