Apr 28, 2015 6:38 PM
82 Posts

Change Domino Organisation Name

  • Category: Administration
  • Platform: Windows
  • Release: 9.0.1
  • Role: Administrator,End User
  • Tags:
  • Replies: 3

Hi, 

We are in a process of changing Domino Organisation name, I have been following a procedure from this Technote http://www-01.ibm.com/support/docview.wss?uid=swg21088125

Users used to be called, 'John Doe/LA/CompanyA' new called 'John Doe/LA/CompanyB'. All access works just fine, my question is, when the user send email, it comes up as 'John Doe/LA/CompanyB@CompanyA'.

Where is the '@CompanyA' come from? is this the Domain name of the server? if yes, is it possible to change the domain name without have to re-create/re-certify the server?  

Apr 28, 2015 8:05 PM
291 Posts
Answer

I take it you want to also change the mail domain.

 

Location doc

Person doc (public and local nab)

Server Doc

Connection doc

 

All needs to be updated with the new maildomain  info.

Don't you also want to change the internet name  with the new name as well?  IF so I would add the old internet name in the fullname Field so outside user will still be able to communicate with these users.  They can removed later on

For location and local person doc I suggest mailing all users a button to change all oldmaildomain to newmaildomain

 

All this really needs to be done at one time.  If someone does a reply  or does not click the button to cleanup contacts you can add the non adjacent domain doc that will collect the emails to the old domain.  You then can write a scheduled agent that will change all references of  olddomain to newdomain  in the to/from/cc/bcc/recipients field and then compose a new message in the mailbox to send off the email.

 

 

May 4, 2015 2:20 PM
191 Posts
Renaming the domain
It's a pain, and there aren't any built-in tools to do it. We (IBM) tend not to even try and just continue using older domain names, but a lot of organizations like consistency in the naming. I wrote this agent many years ago that updates some of the information needed to rename your domain. It's probably not complete, but it can be used as a starting point.

Option Public

Public Const OLDDOMAIN = "GQ"
Public Const NEWDOMAIN = "HQ"
Public Const SERVER = "Dom1/Acme"
Public Const MAILDIRECTORY = "mail"

Dim s As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim formField As NotesItem
Sub Initialize
       
        Set s = New NotesSession
       
        Call ProcessNAB
        Call ProcessDirectoryProfile
        Call IterateMailfiles
       
End Sub






Sub ProcessDomainField(strField As String)
       
        Dim domainField As NotesItem
       
        Set domainField = doc.GetFirstItem(strField)
        If Not domainField Is Nothing Then
                If domainField.Text = OLDDOMAIN Then
                        Set domainField = doc.ReplaceItemValue(strField, NEWDOMAIN)
                        Call doc.Save(False, True)
                End If
        End If
       
End Sub
Sub ProcessDirectoryProfile
       
        Dim profileDoc As NotesDocument
        Dim domain As NotesItem
       
        Set db = s.GetDatabase(SERVER, "names.nsf")
        Set profileDoc = db.GetProfileDocument("DirectoryProfile")
        Set domain = profileDoc.GetFirstItem("Domain")
        Set domain = profileDoc.ReplaceItemValue("Domain", NEWDOMAIN)
        Call profileDoc.Sign()
        Call profileDoc.Save(True, True)
       
End Sub
Sub ProcessMailfile(db As NotesDatabase)
       
        Dim field As NotesItem
       
        Call db.open("","")
        Set dc = db.AllDocuments
        Set doc = dc.GetFirstDocument
       
        While Not doc Is Nothing
                Set formField = doc.GetFirstItem("Form")
                If Not formField Is Nothing Then
                        If formField.Text = "Appointment" Then
                                Set field = doc.GetFirstItem("Room")
                                If Not field Is Nothing Then
                                        Call ProcessTextList("Room", field)                        
                                End If        
                                Set field = doc.GetFirstItem("AltFYNames")
                                If Not field Is Nothing Then
                                        Call ProcessTextList("AltFYNames", field)        
                                End If        
                                Set field = doc.GetFirstItem("AltOptionalNames")
                                If Not field Is Nothing Then
                                        Call ProcessTextList("AltOptionalNames", field)        
                                End If
                                Set field = doc.GetFirstItem("AltRequiredNames")
                                If Not field Is Nothing Then
                                        Call ProcessTextList("AltRequiredNames", field)        
                                End If
                                Set field = doc.GetFirstItem("INetOptional")
                                If Not field Is Nothing Then
                                        Call ProcessTextList("INetOptional", field)        
                                End If        
                                Set field = doc.GetFirstItem("INetRequiredNames")
                                If Not field Is Nothing Then
                                        Call ProcessTextList("INetRequiredNames", field)        
                                End If        
                                Set field = doc.GetFirstItem("FYIAttendees")
                                If Not field Is Nothing Then
                                        Call ProcessTextList("FYIAttendees", field)        
                                End If        
                                Set field = doc.GetFirstItem("OptionalAttendees")
                                If Not field Is Nothing Then
                                        Call ProcessTextList("OptionalAttendees", field)        
                                End If        
                                Set field = doc.GetFirstItem("Recipients")
                                If Not field Is Nothing Then
                                        Call ProcessTextList("Recipients", field)        
                                End If        
                                Set field = doc.GetFirstItem("RequiredAttendees")
                                If Not field Is Nothing Then
                                        Call ProcessTextList("RequiredAttendees", field)        
                                End If        
                                Set field = doc.GetFirstItem("RequiredResources")
                                If Not field Is Nothing Then
                                        Call ProcessTextList("RequiredResources", field)        
                                End If        
                        End If
                End If
                Call doc.Save(False, True)
                Set doc = dc.GetNextDocument(doc)
        Wend
       
End Sub




Sub ProcessNAB
       
        Set db = s.GetDatabase(SERVER, "names.nsf")
        Set dc = db.AllDocuments
        Set doc = dc.GetFirstDocument
       
        While Not doc Is Nothing
                Set formField = doc.GetFirstItem("Form")
                If Not formField Is Nothing Then
                        Select Case formField.Text
                        Case "Person" :
                                Call ProcessDomainField("MailDomain")
                        Case "Database" :
                                Call ProcessDomainField("MailDomain")
                        Case "Group" :
                                Call ProcessDomainField("MailDomain")
                        Case "local" :
                                Call ProcessDomainField("SourceDomain")
                                Call ProcessDomainField("DestinationDomain")
                        Case "Server" :
                                Call ProcessDomainField("Domain")
                        End Select                
                End If                
                Set doc = dc.GetNextDocument(doc)
        Wend
       
End Sub
Sub ProcessTextList(fieldName As String, item As NotesItem)
       
        Dim v1 As Variant
        Dim v2 As Variant
        Dim temp As String
        Dim docItems As Variant
       
        itemValues = item.Values
       
        Forall itemValue In itemValues
                v1 = Strleft(itemValue, "@")
                v2 = Strright(itemValue, "@")
                If v2 = OLDDOMAIN Then
                        v2 = NEWDOMAIN
                End If
                itemValue = v1 + "@" + v2
        End Forall
       
        item.Values = itemValues
       
End Sub
Sub IterateMailfiles
       
        Dim dbdir As NotesDbDirectory        
        Dim position As Integer
       
        Set dbdir = New NotesDbDirectory(SERVER)
        Set db = dbdir.GetFirstDatabase(DATABASE)
       
        While Not db Is Nothing
                If Instr(1, db.FilePath, MAILDIRECTORY, 5) Then
                        Call ProcessMailfile(db)
                End If        
                Set db = dbdir.GetNextDatabase
        Wend
       
End Sub
Apr 30, 2015 2:37 AM
82 Posts
Change Domino Organisation Name

Thanks Barry