Migration << >>

Formatting the Primary Files

The primary files contain one or more sections. Each section contains one of the following types of data:

Directory information   Each line of data can create or modify any mailbox, custom recipient, or distribution list in the Microsoft Exchange Server directory. The data is in directory import format. For more information on the Directory Import command, see Chapter 3.

PAB entries and personal distribution lists   Each line of data creates a PAB or personal distribution list entry. There is one section for each mailbox. A mailbox must be created before entering this data.

Messages and public folders   Each line of data creates a message or an item in a mailbox or public folder. Each section holds entries for one mailbox or for any number of public folders. Sections must be separated by a blank line. Messages can be imported to create a mailbox.

Each line of data has one or more comma-separated values (CSVs). If any of these values has a carriage return or line feed character, put it into a secondary file. (The same parsing rules apply in the secondary file: strings with special characters need to be in quotes.)

Replace the value with a pointer to the secondary file and an offset to where the header of the data begins. For example: #SALESPO2.SEC(43232). The # sign indicates that the data is stored in another file, the SALESPO2.SEC secondary file. The data is located 43232 bytes from the beginning of that file, and this offset counts end-of-line characters such as carriage returns and line feeds.

Note   It is important that transfering the secondary files from another platform or system does not introduce new characters. If this happens, the offsets in the primary file could be inaccurate.

Directory Information

Each directory import section of the primary file begins with DIRECTORY. This is followed by a header line. Each line thereafter is one object. For example:

DIRECTORY
Obj-class,Mode,Common-Name,Display-Name,Last Name,First Name,Secondary-Proxy-Addresses,Home-Server
mailbox,create,ElizaB,Elizabeth Brown,Brown,Elizabeth,MIGRATE:PROFS:Sydney(EBrown),~Server
mailbox,create,PatPa,Pat Parkes,Parkes,Pat,MIGRATE:PROFS:Sydney(PParkes),~Server
mailbox,create,MiguelF,Miguel Fernandez,Fernandez,Miguel,MIGRATE:PROFS:Sydney(MFernan),~Server

Important    Items in the directory section cannot have pointers to data in the secondary file. All data in the directory section must be in the primary file.

The format of the directory import section in the primary file is slightly different from Directory Import in the Administrator program. In the primary file the mode header field is required and must always be set to create. If the object already exists, an error will be reported. In the Administrator program, the mode header field is optional and can be set to create, modify, or delete. For information on additional attributes, see Appendix D.

PAB Entries and Personal Distribution Lists

You can enter new PAB or personal distribution list data or you can move existing data into the migration file. The following example illustrates the formatting of each PAB data section:

PAB,PROFS:SANFRN/HOWARDS
Obj-class,Display-Name,Email-\\
Address,First,Last,Address,City,State,Zip,Country,Title,Company,Depart\\
ment,Office,Assistant,Bus-Num,Bus2-Num,Assist-Num,Fax-Num,Home-\\
Num,Home2-Num,Mobile-Num,Pager-Num,Note
entry,Pat Parkes,SMTP:patp@litware.com,Pat,Parkes,,,,,,,\\
"Litware,Inc.",,,,,,,,415-555-1212,,,,
entry,Dad,X400:/C=US/A= /P=NWTraders/G=Joe/S=Parkes,,,,,,,,,,,,,,,,,,,,
dl,My Friends,X400:/C=US/A= \\
/P=NWTraders/G=Joe/S=Parkes;SMTP:patp@litware.com,,,,,,,,,,,,,,,,,,,,,

The following table describes the fields in the header line. Only the first three fields (Obj-class, Display-Name, and Email-Address) are required, but the header line must have all the fields in the order shown. Only the first three fields and the Note heading are valid for personal distribution lists.

Heading Description
Obj-class (Required) Describes the type of entry. For a single recipient, entry. For personal distribution lists, dl.
Display-Name (Required) Friendly name.
Email-Address (Required) E-mail address or addresses. For personal distribution lists, use a semi-colon to separate addresses. (If the source system doesn't support this information, put in the invalid data: USER: Display-Name)
First Given name.
Last Surname.
Address Street address.
City City name.
State State or province.
Zip Zip or postal code.
Country Recipient's country.
Title Position in the company.
Company Company name.
Department Department name or number.
Office Office location.
Assistant Assistant's name.
Bus-Num Primary business telephone number.
Bus2-Num Secondary business telephone number.
Assist-Num Telephone number of the recipient's assistant.
Fax-Num Fax number.
Home-Num Primary home telephone number.
Home2-Num Secondary home telephone number.
Mobile-Num Cellular telephone number.
Pager-Num Pager number.
Note Description or note for this entry or distribution list.

Messages and Public Folders

The migration files can include messages, attachments, documents, and public data. Public folder data is imported as a special kind of message. The header line of each section starts with MAILMESSAGE and is followed by the source e-mail address or PublicMessages.

Messages   The following example illustrates the format of each message section:

MAILMESSAGE,PROFS:SANFRAN(HOWARDS)
Folder,Sender,To,Cc,Bcc,Subject,Send-Date,Received-Date\\
,Priority,Unread,Unsent,Body
Inbox,Pat Parkes,Elizabeth Brown,,,"Let's make plans for this
Friday",19950321093421,19950321093421,-1,,,#SALESPO1.SEC(50)
Phoenix Project,Pat Parkes,Ali Gobi,,,Review of Back Office\\
,19950321063321,19950321063321,,,,#SALESPO1.SEC(161)
Filed Mail\FYI,Jon Grande,Gamers[SMTP:gamers@Litware.com],\\
,,Solo Mission,19950218234539,19950218234539,,,,#SALESPO1.SEC(575)

Public Folders   The following example illustrates the public folder format:

MAILMESSAGE,PublicMessages
Folder,Sender,To,Cc,Bcc,Subject,Send-Date,Received-Date\\
,Priority,Unread,Unsent,Body
Social\Gamers,Pat Parkes,Games Groups,,,"Plans for this
Saturday",19950320092421,19950320092421,-1,,,#SALESPO2.SEC(693)
Business\Phoenix Project,Karl Buhl,Phoenix Project,,,\\
Reviews,19950320093221,19950320093221,,,,#SALESPO2.SEC(798)

Public folder data is migrated from shared folders, bulletin board systems, and databases. If formatting will be lost or if the data would be unreadable in Microsoft Exchange Server, convert the information to text.

The following table describes the fields in the header line for messages and public folders. All fields are required and must be in this order.

Heading Description Values
Folder Path to destination folder. Use backslash to indicate subfolders. Default = Inbox. Inbox, Deleted Items, Outbox, and Sent Items get mapped to special folder ID numbers. Displayed name of folders depends on language of client.
Sender Display name of sender. Display name or display name [e-mail address].
To Display name of To recipients, separated by semicolons. Display name or display name [e-mail address].
Cc Display name of Cc recipients, separated by semicolons. Display name or display name [e-mail address].
Bcc Display name of Bcc recipients, separated by semicolons. Display name or display name [e-mail address].
Subject Subject of message. Single line of text.
Send-Date Date message sent. Date and time.
Received-Date Date message received. Date and time.
Priority Priority of message. Default = 0. Low priority = -1. Normal priority = 0. High priority = 1.
Unread Boolean value to indicate read status of message. TRUE if message was not read. FALSE if message was read. (Default = FALSE.)
Unsent Boolean value to indicate sent status of message. TRUE if message was not sent. FALSE if message was sent. (Default = FALSE.)
Body One pointer to body of message. You must use the secondary file for message bodies and attachments. Attachments are referenced from bodies of secondary file. #filename(offset)

For systems that support only sent dates or only received dates, the source extractor should set the received date and sent date to appropriate date values. For systems that support neither sent nor received dates, the source extractor can leave the fields blank or substitute the current date and time.