Skip Headers

Oracle Email Migration Tool Guide
Release 9.0.3

Part Number B10104-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Feedback

Go to previous page
Previous
Go to next page
Next
View PDF

A
Plug-in Generated File Formats

In this appendix are the following sample LDIF and XML file formats:

User-List File Format (XML)

Following is the syntax of a user-list file in XML format:

?xml version="1.0" encoding="UTF-8" ?> 
<!ELEMENT userlist (user*)> 
<!ELEMENT user EMPTY> 
<!ATTLIST user sourceimapuserid CDATA #REQUIRED sourceimappasswd CDATA #IMPLIED
             sourceimapserver CDATA #IMPLIED targetimapuserid CDATA #IMPLIED
               targetimappasswd CDATA #IMPLIED targetimapserver CDATA #IMPLIED
             targetdomain CDATA #IMPLIED mailstore CDATA #IMPLIED
               quota CDATA #IMPLIED>

For IMAP-based migration, the sourceimapuserid and sourceimappasswd attributes are mandatory. For MBOX-based migration, only the sourceimapuserid attribute is mandatory.

Sample user-list file for two users:

<userlist> 
<user 
sourceimapuserid="TEST1" 
sourceimappasswd="WELCOME" 
/> 
<user 
sourceimapuserid="TEST2" 
sourceimappasswd="WELCOME" 
/> 
</userlist>

The values for all other attributes are provided using the Migration Setup Wizard. For any user, if the administrator does not want to use the default values, specific values can be provided using the specified format.

Distribution List File Format (LDIF)

The distribution list file that the plug-in generates is in the following format:

dn: cn= dl1
cn:dl1
objectclass:  top
objectclass: groupofuniquenames
objectclass:  orclMailGroup
orclmgprfc822mailmember: user1@acme.com
orclmgprfc822mailmember: user2@acme.com
mail:dl1@acme.com
uniquemember: dl200@acme.com
uniquemember: dl300@acme.com
uniquemember: dl400@acme.com

dn: cn= dl2
cn:dl2
objectclass:  top
objectclass: groupofuniquenames
objectclass:  orclMailGroup
orclmgprfc822mailmember: user4@acme.com
orclmgprfc822mailmember: user3@acme.com
mail:dl2@acme.com
uniquemember: xd1500@acme.com
uniquemember: xd1400@acme.com

The mail attribute contains the fully qualified name of the distribution list. The Migration Tool expects the name in the format dlname@targetdomain.

The orclmgprfc822mailmember attribute is the fully qualified e-mail address of the user to whom this distribution list belongs. The Migration Tool expects the name in the format source_imap_userid@sourcedomain.

The uniqumember attribute contains the sub distribution lists of this distribution list. The Migration Tool expects the name in the format dlname@sourcedomain.

Public Aliases File Format (LDIF)

The public alias information that the plug-in generates is in the following format:

dn:cn=alias1
name:alias1@acme.com
cn:alias1
orclmailemail:user1@acme.com
objectclass:top
objectclass:orclMailAlias

dn:cn=alias2
name:alias2@acme.com
cn:alias3@acme.com
orclmailemail:user2@acme.com
objectclass:top
objectclass:orclMailAlias

dn:cn=alias3
name:alias3@acme.com
cn:alias3
orclmailemail:user3@acme.com
objectclass:top
objectclass:orclMailAlias

The name attribute contains the fully qualified name of the alias. The Migration Tool expects the name in the format aliasname@sourcedomain.

The orclmailemail attribute is the fully qualified e-mail address of the user for whom this alias is created. The Migration Tool expects the name in the format source_imap_userid@sourcedomain.

Shared Folder File Format (LDIF)

The shared folder file generated by the plug-in contains information about shared folders that are being migrated.

dn: cn=/pubfol
objectclass: top
objectclass: orclMailFolder
orclmailaci: user2@acme.com a l r p d i w
orclmailaci: user4@acme.com l r p
owner: user1@acme.com
cn:/pubfol
orclIsSharedFolder: false

dn: cn=/shfol
objectclass: top
objectclass: orclMailFolder
orclmailaci: user2@acme.com a l r p d i w
orclmailaci: user4@acme.com l r p
owner: user1@acme.com
cn:/shfol
orclIsSharedFolder: true

The cn attribute contains the name of the shared folder. The Migration Tool expects the name in the format /foldername.

The orclmailaci attribute contains ACI information. The Migration Tool expects the user name of the ACI in the format source_imap_userid@sourcedomain.

The orclIsSharedFolder attribute has a false value if the folder is a public folder.

The orclMailStore attribute contains the distinguished name of the target mail store on which the shared folder is to be created.

The owner attribute contains the fully qualified mail address of the owner of the shared folder. The Migration Tool expects the name in the format
source_imap_userid@sourcedomain.

User Profile File Format (LDIF)

If your source directory information comes from user profile files, instead of an LDAP directory, use the following format:

dn: cn=user_given_name,dc=oracle,dc=com
cn: user_given_name
mail: username@acme.com
title:title
telephoneNumber:telephone_number
homePhone:telephone_number
sn:surname
st:state
physicalDeliveryOfficeName:physical_delivery_address_of_office
manager:user's_manager
ou:organizational_unit
o:organization
secretary:name_of_secretary
postalAddress:postal_delivery_address

The only mandatory attributes are mail and sn. Mail is expected in the format sourceuserid@sourcedomain.

Rules File Format (XML)

A rule consists of two parts: a set of conditions to be met, and actions to be performed when at least one of the set of conditions is met. The set of conditions is evaluated until a true condition in the set is encountered. Rules are identified by their actions. If multiple actions are to be carried out when a certain condition is true, then multiple rules must be defined sharing the same set of conditions.

A condition is a combination of simple clauses. A clause is a simple relational operation between a message attribute and a scalar constant value. For example, a clause can be "message size is greater than 10 Kb".

Condition evaluation is implemented as a short-circuit AND operation upon all clauses, which fails upon encountering the first failed clause.

A rule list is a list of rules that apply when a message is delivered to a user's inbox. A rule begins with the tag <rule> and ends with the tag </rule>. A condition begins with the tag <condition>, as shown in the following example rule in XML format:

<account qualifiedName="user_rules" ownerType="user">
 <rulelist event ="deliver">
 <rule  visible= "yes" active= "yes" description = "exchusr1" >
   <condition>
    <attribute tag="rfc822from"/>
    <operator op="contains"/>
    <operand> EXCHUSR1 </operand>
   </condition>
  <action>
   <command  tag= "moveto"/>
   <parameter>/pvtfldr1 </parameter>
  </action>
 </rule>

 </rulelist> 
</account>

Following is the XML format for specifying a server- side rule:

<?xml version="1.0" encoding="UTF-8" ?>
<!-- an account contains multiple rulelists -->
<!ELEMENT account (rulelist*)>
<!ATTLIST account name NMTOKEN #REQUIRED
                  ownerType (user|system|domain) "user">
<!-- a rulelist is associated with an event and a list of rules -->
<!ELEMENT rulelist (rule+)>
<!ATTLIST rulelist event (relay|reception|deliver|flagchange|move|copy|
             queuing|expunge|expire) #REQUIRED>
<!-- a rule consists of an optional condition and a list of actions.  
     a rule can be visible, hidden, activated or disabled -->
<!ELEMENT rule (condition?, action+)>
<!ATTLIST rule visible (yes|no) "yes"
          active (yes|no) "yes"
          description CDATA #IMPLIED>
<!-- conditions are either attribute comparisons (leaf conditions),
     sub conditions (parenthesis) or external procedure calls -->
<!ELEMENT condition ((attribute, operator, operand*)
    |condition+|procCall|inBody)>
<!ATTLIST condition negation (yes|no) "no">
<!ATTLIST condition junction (and|or) "and">
<!-- attributes are message properties, param is for extended header and flag-->
<!ELEMENT attribute EMPTY>
<!ATTLIST attribute name (rfc822from|rfc822to|rfc822cc|rfc822date|
                          rfc822subject|rfc822replyto|sendhost|sender|
                          recipients|message_id|receiveddate|
                          contenttype|charset|xpriority|messagesize|
                          xheader|folder|flag|overquota|rulestatus)
                          #REQUIRED
                    param CDATA #IMPLIED>
<!-- operators -->
<!ELEMENT operator EMPTY>
<!ATTLIST operator op (equal|greaterthan|lessthan|lessequal|
                       greaterequal|in|stringequal|isnull|
                       startswith|endswith|contains|between|istrue)  
                       #REQUIRED
                   caseSensitive (yes|no) "no">
<!-- operands custom data -->
<!ELEMENT operand (#PCDATA)>
<!-- procCall is external condition call -->
<!ELEMENT procCall (#PCDATA)>
<!-- inBody is content related match condition -->
<!ELEMENT inBody (#PCDATA)>
<!-- actions may have parameters-->
<!ELEMENT action (command, parameter*)>
<!ELEMENT command EMPTY>
<!ATTLIST command name (pass|reject|suspend|discard|forward|
                        bcc|moveto|copyto|setprop|notify|reply|
                        replyall|break|sign|verify|decrypt|
                 encrypt|enqueue|call) #REQUIRED>

<!ELEMENT parameter (#PCDATA)>