Previous Topic

Next Topic

Book Contents

Book Index

Package - Archives

Once a package has been archived, it is no longer available to users on the system. However, administrators are free to download the archive file and extract it, giving them access to all the packages transferred through the organization within the archived time period. The archive file format is straightforward; administrators can easily write their own programs to split apart the archive and display the contents, or use the Package Archive Viewer provided by Ipswitch.

Archive Format

The archive file is merely a zip file containing all the package and attachment files for the archived period. Each file is named with the ID of that file from the system with no extension. The files are not encrypted, so they can be opened and read easily once extracted from the archive file.

The individual package files contain all the necessary information about each package in a simple XML format. An example archived package file is presented below:

<msgarchive> 
 <msg> 
  <head> 
   <address> 
    <from> 
     <type>user</type> 
     <username>jsmith</username> 
     <realname>John Smith</realname> 
    </from> 
    <to> 
     <type>user</type> 
     <username>helga</username> 
     <realname>Helga Finlayson</realname> 
    </to> 
   </address> 
   <timestamp>6/10/2004 4:58:58 PM</timestamp> 
   <attachment> 
    <id>3665038</id> 
    <originalfilename>picture.jpg</originalfilename> 
    <size>56621</size> 
    <integrity>1</integrity> 
   </attachment> 
   <subject>Example Package</subject> 
  </head> 
  <body> 
   <![CDATA[ 
   John, 

   Here is a test message for you. 

   --Helga 
   ]]> 
  </body> 
 </msg> 
 <readstatus>10</readstatus> 
 <history> 
 </history> 
</msgarchive>

The first section of the archived package file is the package itself, contained in the msg tags. The head section contains information about the sender, the recipients, the timestamp, the attachments, and the subject of the package. The body section contains the message itself inside CDATA tags, complete with any HTML formatting contained in the original package.

Next will be meta-information about the package from the system at the time it was archived. The readstatus element will contain the read status of the package when it was archived. The possible codes are 0 if no recipients have read the package, 5 if some recipients have read the package, and 10 if all recipients have read the package. Finally, any history items regarding the package will be provided in the history section.

Package Archive Viewer

To allow easy access to package archives, Ipswitch makes available a simple command-line application which parses the entries in an archive and generates HTML representations of the packages for easy viewing. This application can be found on the Ipswitch MOVEit DMZ file server, located at https://moveitsupport.ipswitch.com. Look in the Distribution / MOVEit / MOVEit DMZ / Extras folder for the file named MsgArchiveViewer.zip. The program requires the Microsoft .NET Framework to run. To install, simply unzip the file into a directory, such as C:\MsgArchiveViewer.

The program operates on the unextracted individual package and attachment files, so the zipped archive files from the desired time period need to be downloaded from MOVEit DMZ and extracted into a directory, such as C:\MsgArchiveViewer\Archives. Next, choose an output directory, such as C:\MsgArchiveViewer\Output, where the program will write the message HTML files, the attachment files, and the package index file. Finally, execute the program with the --inputpath and --outputpath arguments set defining the location of the extracted archive files and the location of the output folder respectively:

msgarchiveviewer --inputpath=c:\msgarchiveviewer\archives --outputpath=c:\msgarchiveviewer\output

Paths with spaces in them can be used by surrounding the entire argument with quotes, like so:

msgarchiveviewer "--inputpath=c:\msg archives\input" "--outputpath=c:\msg archives\output"

If you want more information about what the program is doing, add the --debug option.

Once the program is done running, look in the output directory for a file named index.html. This is the package index file written by the program, and contains a complete list of the packages found in the input directory. Clicking on a package will show you the individual package itself. Sender, recipient, timestamp, and subject information are all included at the top of the package, and a list of attachments is included at the bottom. Clicking on an attachment link will direct you to the attachment file itself.