Error 500
HTTP Web Server: Illegal Arguments Exception
The database ACL (access control list) was:
The database should have "Default: no access, Read public documents was ticked.
The database should have "Anonymous: no access, and Read public documents was ticked.
The database web launch option was "Launch first document in view".
This was a very annoying error which occurred if the user went to http://server/db.nsf but not if the user went to
http://server/db.nsf?open&login
I think this is a feature that has been introduced into Lotus Notes versions 6 to fix a read public documents bug.
I solved this firstly by changing the Launch options to Open Page and then put in a redirect that opened up the document in the view directly using javascript code:
<script>
window.location.href = "/<Computed Value>/HomePageView/firstdocunid?Open&Login"
</script>
This solved the problem, but I was not happy with this, so I decided to get to the bottom of the problem:
I tried removing all the bits of the document's form in question until there was only a bit of text, but the error still came up.
I then decided to make sure the view, the form and the document were all Public Access. This worked!
To make a document public access: put this in an action button and run it on the document in Notes:
Dim uiw As New notesuiworkspace
Dim uidoc As notesuidocument
Set uidoc = uiw.CurrentDocument
Dim doc As notesdocument
Set doc = uidoc.Document
If doc Is Nothing Then
Msgbox "No About document"
Else
Dim i As notesitem
Set i = doc.ReplaceItemValue( "$PublicAccess", "1")
Call doc.save(True,True)
End If
Then you are sorted.
The login box will come up properly, and if the user fails or cancels a nice Authorisation form will put up a friendly message.
See capture web error forms for details on how to do that.