This is my error message of the month: "Cannot find external name <classname>" I just saw this a few days ago on a customer's Domino server console. Caused by a periodic agent running some code and using a class called <classname>. If you know the reason for that error message, then you can skip the next paragraphs. If not, read & learn :-)
First assumption: replication conflict in the design element "script lib" that contains the class
Short: no, not the reason. I checked the NSF via package explorer, ODP structure and stuff - no doubles detected.
Next assumption: rights of the agent's signer
Short: no, signed with server id which works fine here. Checked server document's security options - everything ok.
3rd assumption: I used a preserved name for my class
I went into several caveats in the past years when I used names for classes or variables that did collide with the system itself. In this case the class was named "AdminProcess". Sounds familiar? Yes, but that wasn't the reason, either - way to easy. I renamed the class and even put it into the agent itself instead of binding and calling the library.
Finallly: I checked the code and...
My class uses the NotesDirectoryNavigator class to lookup person document's informations. This class was introduced with Notes/Domino 8. When I was on the server console I finally typed
sh ser
and got the explanation. This was a test server and still running a release 7.0.3 (sic!)
So the simple reason just was that the server didn't know the NotesDirectoryNavigator class at all - but the error message didn't say that directly. I guess this is just a message of awkwardness, such as a "case else" outcome.
If you ever get this message then please look first if you are using stuff that the server just doesn't know because it's too old for that.