NAME
MT::Import::Mbox::Importer - wrapper class for importing a collection of mbox folders using MT::Import::Mbox.
SYNOPSIS
use MT::Import::Config::Importer;
my $mt = MT::Import::Mbox::Importer->new("/path/to/config");
$mt->collect();
# You can also do this :
my $cfg = Config::Simple->new(...);
my $mt = MT::Import::Mbox::Importer->new($cfg);
$mt->collect();
DESCRIPTION
This is a wrapper class for importing a collection of mbox folders into Movable Type using MT::Import::Mbox.
IMPORTANT
You should really familiarize yourself with MT::Import::Mbox before going any further.
REALLY IMPORTANT
This package relies on a very particular archiving pattern for email messages : Individual messages stored in a series of nested folders labeled by year (YYYY), month (MM) and day (DD).
This is not a feature.
It just happens to be the way that I store my email. If you want to buy me a beer sometime we can talk about why. The short version is that I wrote this package as a personal helper module for using MT::Import::Mbox.
Aside from bug fixes the top of the TO DO list for this package is to provide a way for users to define a custom "match" criteria to identify mbox files. I am hoping to do this using Regexp::English so that custom patterns can be added to the config file. Forcing users to write their own callback functions is not an ideal solution.
One problem with allowing custom matches is how this would work with date filtering, via the period option (see below). Checking the last modified time on inidividual mboxes is a possibility but error-prone, to say the least.
Suggestions and patches are welcome.
OPTIONS
Options are passed to MT::Import::Mbox::Importer using a Config::Simple object or a valid Config::Simple config file. Options are grouped by "block".
importer
period
String.
This specifies a time-based limiting criteria for importing mboxes. The syntax is (n)(modifier) where (n) is a positive integer and (modifier) may be one of the following :
h
Import mboxes that are younger than (n) hours.
d
Import mboxes that are younger than (n) days.
w
Import mboxes that are younger than (n) weeks.
M
Import mboxes that are younger than (n) months.
verbose
Boolean.
Enable verbose logging for both this package and MT::Import::Mbox
force
Boolean.
Force a message to be reindexed, including any trackback pings and attachments. If an entry matching the message id already exists in the database it should only ever update or overwrite existing data.
Default is false
mbox
type
String. required
Used to build a regular expression for identifying mbox paths to import. Supported types are :
thunderbird
entourage
Entourage support is still a bit funky because I am having trouble getting the mbox parser to DWIM with carriage returns. Buyer beware, patches welcome, etc.
root
The path to your mail archive.
String. required
mt
root
String. required
The path to your Movable Type installation.
blog_id
Int. required
The numberic ID of the Movable Type weblog you are posting to.
blog_ownerid
Int. required
The numberic ID of a Movable Type author with permissions to add new authors to the Movable Type weblog you are posting to.
author_pass
String.
The password to assign to any new authors you add to the Movable Type weblog you are posting to.
Default is "none".
author_perms
Int.
The permissions set to grant any new authors you add to the Movable Type weblog you are posting to.
Default is 514, or the ability to add new categories.
personal
String.
A comma separated list of email addresses that are recognized to be "personal". When they are present in a message's From header the message will be categorized as 'Sent' rather than 'Received'.
OBJECT METHODS
$obj->collect()
Returns true or false.
$obj->verbose($bool)
Returns true or false, indicating whether or not debug events would be logged.
$obj->log()
Returns a Log::Dispatch object.
VERSION
1.0
DATE
$Date: 2005/12/02 05:28:38 $
AUTHOR
Aaron Straup Cope <ascope@cpan.org>
SEE ALSO
BUGS
Entirely possible. This package has not been tested on a Windows box. Please report all bugs via :
LICENSE
Copyright (c) 2005 Aaron Straup Cope. All rights reserved.
This is free software, you may use it and distribute it under the same terms as Perl itself.