WOW. Thanks! Mike VandeVelde 9.Jun.06 07:21 PM Lotus Notes Domino Designer 6.5.5Windows XP
That's a lot of info, good job putting that all together.
POID - That reminds me of some other slightly related research I did - something about a sequence number that gets updated every time you edit a design element. We have also run into trouble when we try to do emergency fixes outside of our regular procedure by cutting a problem element out and pasting in an updated version - something to do with sequence numbers being out of sync and possibly deletion stubs - on the next refresh the element is there on some servers and not there on other servers. The details of the cause aren't too clear in my mind anymore but the solution is to instead of pasting in an element, remove the database level inheritance, element level link the problem element, and then refresh the database. This avoids any problems with missing elements. If you have a refreshing hierarchy, don't step outside of it with cutting and copying and pasting, stick to refreshing only - you'll save yourself some heartburn.
So back to the topic, I'm still stuck with recompiling all LotusScript and then signing the database if I want to avoid the "Error loading USE or USELSX module" error message, and although I learned quite a bit with that posting I'm still not comfortably clear on why. I also don't quite understand "a related note was updated".
It just seems to me like we need to use a pretty big hammer - if we want to write reusable code we shouldn't have to go through steps like that to jam it into place. I've actually simplified things in my original explanation. We're literally dealing with dozens of different development\testing template pairs with hundreds of live databases. And in certain situation there's an added layer with the testing template leading to testing databases, and also to a second live template leading to the actual live databases. Plus we have a template outside of all of it for general things, Root Elements, for agent logging and error handling and string manipulation and such. If we update our agent logging class in Root Elements, then refresh it to a dozen development templates, then refresh it to a dozen testing templates, and then refresh it to hundreds of live databases, we're sunk. We need to recompile LotusScript in each template along the way? But that might skip some agents so we also have to sign the databases? So we have to refresh every single design element out to every single local replica, or else we have to track every other element where a script library is used and resave all of them every time the script library is updated? I could live with it I guess if only it was clear to me exactly why. I'm living without a proper class browser in Designer and still trying to use more OOP, so you must see that I am dedicated!! In my dreams it makes life so much better, but then I wake up and have to face reality :-(
Oh yeah, I forgot to mention in my original post that there is also the occasional "Generic LSE Failure" message you get with some UI things in the same scenario. The problem spreads to buttons and form events and such, it's not all just about agents.
So, thanks muchly for your help, but I'd still love to hear more. Does anyone else out there work anything near as complex as we do? "Just recompile all LotusScript and all is well" would be a perfectly reasonable solution if we were only talking about 1 database!!!