How to allow the user to delete the iNotes profile in iNotes
At times it is necessary to recreate the iNotes profile, as action buttons will not work in iNotes, the best way to delete the iNotes profile is by creating the agent on the server, then having the users access it ,
It is also possible for the administrator to delete the various profiles of the user using the administrator client via the steps listed in tech-note #1088892 or using the "All-in-one Admin Tool" as listed in technote #1459332
What is stored in the iNotes profile:
The iNotes profile is used to store settings that are either unique to iNotes or had to be duplicated by iNotes as the comparable Lotus Notes client setting is not accessible by iNotes because the setting resides on a Lotus Notes client workstation and not the Domino server (used only by Lotus iNotes).
Administrators / Users should be aware of the following when deleting the iNotes profile:
Deleting the iNotes profile from a users mail file will mean that some settings may be lost, but only if they have been changed from the default settings, e.g. a signature. Once the profile is deleted iNotes itself will re-create it with the default settings. Meaning that some settings may need to be set again.
Resolving the problem
1. Create a database on the server (with any name e.g. BagOTrix)
2. Create an agent (using the following LotusScript) that is scheduled to Run "Never" with a target of None
On Error GoTo ErrorLand
Dim session As New NotesSession
Dim thisDB As NotesDatabase
Dim targetDB As NotesDatabase
Dim targetServer As String
Dim targetDBStr As String
Dim docContext As NotesDocument
Dim prof As NotesDocument
Dim errorStr As String
errorStr = ""
Set docContext = session.Documentcontext
targetServer = StrRight(docContext.HTTP_Referer(0),"//") ' gets rid of
targetServer = StrLeft(targetServer, "/")
targetDBStr = StrLeft(docContext.HTTP_Referer(0), ".nsf")
targetDBStr = StrRight(targetDBStr, targetServer + "/") + ".nsf"
'Print "<br>targetServer: " + targetServer + "<br>targetDB: " +
Set targetDB = session.Getdatabase(targetServer, targetDBStr, false)
Set prof = targetDB.Getprofiledocument("iNotesProfile")
If (errorStr = "") Then
errorStr = "Got error " & Error$ & " on line " & CStr(Erl)
Print "Your profile document has now been deleted from database: " +
targetDBStr + " on server: " + targetServer
Print "<p>An error occurred while deleting the profile document from
+ targetDBStr + " on server: "_
+ targetServer + ":<br>" + errorStr + "</p>"
3. Set Anonymous Access to the database to 'No access', and default access to Reader.
4. Send an email to the iNotes user with a link to the agent on the server for e.g http://acme.mul.ie.ibm.com/BagOTrix.nsf/DeleteMyiNotesProfile?Openagent where "acme.mul.ie.ibm.com" will be your servers fully qualified hostname (FQHN) and "BagOTrix.nsf" is the name of the database you created earlier.
5. When the end user clicks on the link they may be asked to log in again and then the agent will delete the profile document from their mail database