As a notes admin you have to deal with the average user queries every day, you know the ones, how do I add a signature to my emails, how do I archive my mail etc., but what do you do when the notes developer asks the questions. Talking online tonight with another notes admin this topic came up after they were asked by their developer if it was possible to debug lotusscript so here’s just a few that I’ve heard about in all my years of working with Notes.
- How do I turn on the script debugger?
- What’s a mail-in database?
- Can we give everybody manager access to this database?
- What does signing a database mean?
Do you have any more to add?
Well at least the guy you came across knew you could debug LS – at my current contract there was a helpdesk guy (supposedly a developer) who didn’t even know about the debugger. His debugging skills were limited to just inserting msgboxes everywhere (and forgetting half of them when he finally did manage to find the problem). Of course by the time this guy finally left users were so used to seeing messages pop up everywhere (oh yes: he never bothered to debug something in a test environment – his credo: a messagebox won’t bring down a production server ) that they didn’t complain all that much if/when Notes produced a real error message…
LikeLike
I came across a senior IBM consultant who was dropped into a Domino job where the specification was “OO programming in Java”. So no Java skills, and no OO skills. His idea of class inheritance was cut-n-paste.
Or the group of programmers in Holland who managed to write an application in Domino WITHOUT USING VIEWS. At all. They’d enumerate EVERY document in the database. “It worked okay in our test environment”. Yeah.
Or again Holland. A billing system. One that took 12 hours to load its data tables in before doing the monthly billing run. Try and fit that into a 15-minute agent run window. Oh – we resesigned it – load time down to sub minute. (NotesView/NotesDocument versus enumerating NotesViewEntries..)
I keep coming across guys who code before they think. Then get lost. Then take the resultant mess, prod it with a stick and declare it finished.
Or “Domino Consultants” who cannot use or understand @formula language.
Or AppsDev guys with no admin experience whatsoever..
Perhaps this could rival Peter Pan’s “Domino Infrastructure Disasters” session at the next fear ? “Learn through disaster: Programming incompetencies to avoid?”
—* Bill
LikeLike
What about this (very recently posted in a well known forum): Why Use a Script Library?
LikeLike
Starting to think we should just have a day of sessions. Overall title “The muppet show”.. (feel free to sing along if you know the tune)its time to start the music…. its time to light the lights… its time to kill the muppets who can’t use Lotus Notes right….
LikeLike
Speaking as a former muppet, everyone has to start somewhere. Kudos for to these guys for at least knowing (some of them) it was time to ask a question, no matter how stupid they might look. If it wern’t for stupid questions, there’d be no questions at all. Though the enumeration story is really really good. Kind of like writing your entire actuarial app in a single excel work book.
LikeLike
I’ve come across a couple of real horrors in the last year – found myself customising R65 mail templates for a previous customer (not current client, I hasten to add).
One example was the use of notes.ini environment variables to pass values to/from a script library routine & the calling agent (the only client for this particular routine). Had they never come across parameters!!! Hell, I’d have even preferred global variables to this (and as Bill could tell you it’s very rare that I’ll ever advocate use of global variables).
My favourite, however, was one particular LS agent. All of the code was within (Initialise) and I can only assume that the programmer had only ever coded in Assembler or Atari Basic circa 1981 (http://www.myoldcomputers.com/museum/comp/atari400.htm).
The code was split up into “routines”, but these were delimited by use of labels, and all flow control implemented by use of goto statements.
Due to time constraints and a devilish sense of the macabre, I got that particular beauty marked out of scope for my work, and it got copied across intact. As Spuggy might put it, “Kerplunk meets LotusScript”.
LikeLike
Oh, forgot to ask…. did Bill really ask you all those questions? I thought I’d been through all that with him last week. Tcha!
LikeLike
While trying to improve server performance from the administration point of view, as the customer would never expect that his applications could harm performance, I came along the following funny situations:- a centralized group calendar agent. Every time a user creates a new document an agent is triggered to run on all documents in the database to check if there is a now apointment. If yes, copyied it into a central group calendar. Then looped through all apointments to see if there was an update.- an export data from a view to a file agent running hours instead of seconds as you would expect. The programmer implemented bubblesort and an additional sort algorithm in LotusScript instead of just changing the SELECT statement and build a sorted view.
LikeLike