Learning To Forget

Erase/Rewind

Earth Date 2009.01.21

Posted by Rich Wheadon | Permalink




I have always been annoyed at being locked into Windows for anything… perhaps my greatest disappointment in Lotus Notes arose when they trapped their entire development community into Windows since(today) the R5, R6, R7, and R8 Domino Designer client is only available in Windows. But enough of that nonsense, I have been rolled into a transitional state which, for the time being, requires me to do some fairly mundane support tasks. One of the most common issues that arises in my day is that of memory… or I should say the lack of it. System users have fogotten how to remember their passwords.



<Sidebar>
Nearly daily I get phone calls from people like this:
(Phone Rings)
ME: Good morning you’ve reached the support desk and my name is Rich, how can I help you?
CALLER: Yes my name is Racer X and I am having trouble with the portal.
ME: I’m sorry to hear that, can you describe the problem?
CALLER: Sure. The system isn’t letting me log in.
ME: I see, I have your name as “Racer X” is that correct?
CALLER: Yes
ME: And what client site are you working at?
CALLER: I’m working at Really Big Client A
ME: Okay, thanks… It will take a minute to look up your account.
CALLER: Sure, no problem.
It is at this point i look up Mr. X in our system and validate I have the correct system user by his name and client project. At this point I have his information in front of me and know he truly is registered.
ME: I’m sorry for the wait, I will be with you in just one moment.
CALLER: OK, thanks.
I pop open a browser window and make sure the login works, it does. I now know we have a user problem, not a system problem.
ME: Mr. X, thanks for waiting… I have your account open. What user name are you using to access the portal?
CALLER: I don’t know my user name.
ME: I see, I’m guessing you have not recieved your login information yet? (Benefit of the doubt that the sales associate hasn’t sent loging credentials yet.)
CALLER: Oh, I’ve been using the system for about 2 years, something changed in the portal recently and I haven’t been able to log in all week and timesheets are due today so I need someone to fix my profile or something.
ME: Hmmm, that is strange… we haven’t made any portal changes in four years. Is it possible that something has changed with your computer? Did they give you an upgrade or anything?
CALLER: Well, I did get a new computer but my login every morning is still the same… so I don’t think it is my computer.
ME: Ah, I see. (Shaking my head and rolling my eyes… I truly have always hated the save password feature) okay, I need to put you on hold for a minute.
CALLER: Sure.
At this point I am adjusting my attitude so that I won’t talk to the caller like he is an idiot… he’s probably a very smart IT consultant that was never taught that password caching is on the web browser.
ME: OK, thanks for waiting Mr. X. I don’t see anywhere in our system where anything would have caused your login to stop working, so here’s what we can do…
ME: I’d like to walk you through recovering your password using the “Forgot Password” feature on our site since I can’t provide the information on a phone call.
CALLER: Sure, that would be great. (Pause) Okay, I’ve clicked that link and it is asking for my login name and email address.
ME: Okay, Your username and email are both case sensitive. Your user name is “Racer X”. The name is proper case, so make it a capital R and X with a space between firstname and lastname.
CALLER: (quietly as he fingers the keys)“Capital R - a - c - e - r”… and I need a space after the r at the end of my name.
ME: Yes sir
CALLER: “Space - then a capital X” (the caller then goes into silence.)
I pause a few seconds to give him the opportunity to say he has completed the task, then i hear some more typing
ME: Just let me know when you are ready to continue.
CALLER: I finished typing my name and email, but when I clicked the button the page has an error saying the login name or email address are wrong.
ME: Can you tell me your email address so I can validate it against our records?
CALLER: Yes, my email is rx@gmail.com
Back in my browser I’ve just clicked the “Forgot Password” link on our login page.
ME: Hmmm… I don’t see a gmail account. Do you have a hotmail account.
CALLER: (mumbles) oh, I didn’t know I used my hotmail account to register. Okay (begins typing)
ME: The email is case sensitive so you will need to use all lowercase.
CALLER: (After a brief pause which I assume means is wondering how I know that) oh thanks, lowercase.
I wait
CALLER: The screen says that my password has been sent.
ME: Good, so you should be able to retrieve your password from your hotmail account. I can stay on the line if you would like to make sure it works.
CALLER: That’s a good idea, I’m opening the email now.
I wait while the guy opens his email
CALLER: (quietly mumbles) Oh, that’s right (I hear the clicking of keys and more mumbling) …Windows… remember… yes.
ME: Your browser should ask if you want it to remember your login information.
CALLER: Yes, it did… That was it… I can now enter a time sheet.
ME: You’re in, good. Is there anything else I can do to help you?
CALLER: Not at this time, but you could mention to whoever does the upgrades that they should notify us when the site is updated so we can expect our login to change.
ME: Thank You. I’ll do that sir. Have a good evening.
CALLER: You too, bye.
(Call ends)
</Sidebar>



So… I look up credentials ALL OF THE TIME. To make credential retrieval a little nicer for myself than queries and grids in DB Visualizer, I have a little application I wrote in Lotus Notes to query DB2 for user information from a simple Notes form. The results include logon name, password, email address, and some other reference data. Once I get the results I can forward them internally (as necessary) or even send a subset of data to the consultant. The utility is largely academic and stemmed from a desire I have to abandon ODBC in Notes applicatons since I use a Linux box and several in our organization are moving to Macs. (As per an earlier post you also might know I am done with the way paths are used in our Notes applications too.)



My little application is run within a Lotus Notes database and uses JDBC to get into DB2. The triggering components are written in LotusScript that leverages LS2J for access into Java components. I had downloaded a database from the IBM/Lotus sandbox and modified the code for my own purposes. I couldn’t find it tonight, but a couple links in this Google search have some sample code and database examples.



That’s great if you want to live in Notes… but how about something a little less “strapped-into” a proprietary product? I will be creating a little Ruby app that provides the same primary functionality (or more) of my Lotus Notes application with a few little tweaks that make life much easier. That’s the teaser of what I’m up to now. I hope to have the full post of the Ruby app ready in a day or two.