Oracle® Email Migration Tool Guide, Release 2 (9.0.4) Part Number B10723-01 |
|
|
View PDF |
This appendix provides the following sample LDIF and XML file formats:
Following is the syntax of a user list file in XML format (users.xml
):
?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.
Following is a 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.
The distribution list file, distribution_lists.ldif
, 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
@
sourcedomain
.
The orclmgprfc822mailmember
attribute is the fully-qualified e-mail address of a user who is a member of the distribution list. 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
.
The public alias information file, public_aliases.ldif
, 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
.
The shared folder file, shared_folders.ldif
, generated by the plug-in contains information about shared folders that are being migrated, and is in the following format:
dn: cn=/pubfol objectclass: top objectclass: orclMailFolder orclmailaci: user2@acme.com l r w orclmailaci: user4@acme.com l r owner: user1@acme.com cn:/pubfol orclIsSharedFolder: false dn: cn=/shfol objectclass: top objectclass: orclMailFolder orclmailaci: user2@acme.com l r w orclmailaci: user4@acme.com l r 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
.
If your source directory information comes from a user profile file,
user_profiles.ldif
, instead of an LDAP directory, use the following format:
dn: cn=user_given_name,dc=acme,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
and mail is expected in the format sourceuserid
@
sourcedomain
.
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 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 rulelist
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)>