Two methods to import subscribers are available:
Import Subscribers Now: Use this option if you are not planning to repeat a similar import operation in the near future. With this method, LISTSERV Maestro does not store the settings you supply for the import but only performs the actual import. Click the [Import Subscribers Now] button to proceed using this method.
Create Reusable Importer: If you will be repeating this import operation in the future (either, for an uploaded file, because you will repeatedly be getting a new version of the file, or, for an import of data stored in an LDAP directory or an SQL database, this source of data may contain different data with similar structure in the future). When using this method, Maestro does not immediately perform the data import but instead stores your settings in the form of a Importer which can in the future easily be picked and launched, either automatically or manually. Click the [Create Reusable Importer] button to proceed with creating an importer.
The screen lists all reusable subscriber importers that already have been created for the selected list group or subscriber list.
Each importer is shown with its name, type, source, description, and status. For an importer with the status Complete, the whole importer definition has been supplied in the importer wizard. If the status is Incomplete, then the importer wizard was closed with "Save & Exit" before the definition was complete.
The following actions can be performed on an existing importer, by clicking the matching link:
Edit: Opens the importer wizard to edit the importer.
Enable (only available for a "complete" importer that is currently disabled): This enables the importer for launch. Only an enabled importer can be launched (either via the Launch link or via an external trigger, see below).
Disable (only available for a "complete" importer that is currently enabled): This disables the importer for launch (see Enable above for more details).
Delete: Deletes the importer.
Launch (only available for a "complete" importer that is currently enabled): This launches the importer. Depending on its definition, the importer may query for a file upload with the import data. Once the importer is started, it processes the import in the background. The progress of the import will be displayed under "Last Run" (see below).
An importer may also be launched via an external trigger, which is also only possible if the importer is "complete" and enabled (see below).
Show Launch Security Token: The launch of an importer can be triggered either from inside of Maestro (via the Launch link), or it can be triggered externally, with an external trigger. The launch security token is required for such an external trigger. See below for details about an importer launch with an external trigger and how to use the security token.
View History: Opens the Importer Launch History screen that shows details about all previous launches of this importer (launch date/time, success state, rejected data, etc.).
The Last Run field displays the status of the last importing process of the importer: It shows if the last run is still ongoing (and at which percentage of completion) or if it has already completed. It also shows when the last run was, and it provides the View History link by which you can view the run-history of the reporter.
Importer Launch with an External Trigger
As described above, you can launch an importer either manually from inside of Maestro with the Launch link, or you can launch it with an external trigger. This section describes how to use an external trigger to launch the importer.
For the external trigger, a special security token is required.
Important: Everyone who is in possession of this security token and who
can also access Maestro on its HTTP port (for example with a normal web browser) will be able
to trigger the launch of the importer. The security token should therefore be
closely guarded and not be given out to unauthorized persons.
Because of this, the screen does not display the token directly (so no one can simply look over your shoulder and "steal" the token). To display the token, you first have to click on the Show Launch Security Token link (this security token is not required for a manual launch via the Launch link).
Creating a new Security Token: If you suspect that an unauthorized person has gained access to the security token, you can use the Create New Launch Security Token link to invalidate the previously used token and to create a new one.
If the importer was defined to read from a server file or from an external database, then the external
launch trigger is of the Simple URL Access type and the response does
not contain any download data. See below for more details about external triggers
and what this means in detail.
Note: The following discussion of how to specify "additional data" is not applicable in this case!
If the importer was defined to expect an uploaded file with the import data, then the external launch trigger is of the URL Access with Additional Data type (also without any download data in the response), with the import data file as the "additional data". As described below, in such a case the external trigger must happen in form of a HTTP POST-request to the trigger URL, which contains the additional data. For this, the request must use the multipart/form-data encoding type and, to trigger an importer launch, must define the following three parts:
|Part Name||Part Value||Additional Part Information|
|token||The launch security token (see above)||none|
|encoding||The encoding that is to be used to interpret the uploaded text file||none|
|data||The uploaded text file||"filename" attribute in the "Content-Disposition" header,
"content type" in the "Content-Type" header (normally "text/plain")
Since the multipart/form-data encoding type uses the MIME standard, these parts must be defined using the suitable headers for each part, and empty lines (CR LF) and multipart-boundaries to separate the parts.
The value for the "encoding" must be one of the encodings that is supported by Java (see here; both the "Basic Encoding Set" and the "Extended Encoding Set" from that page are supported, and you can specify a encoding by its name either from the "Canonical Name for java.nio API" or the "Canonical Name for java.io and java.lang API" column).
The following example shows the HTTP POST-request data for an external launch trigger, if the importer expects "additional data" as described above:
Content-Type: multipart/form-data; boundary=AaBbCcXx --AaBbCcXx Content-Disposition: form-data; name="token" ... launch security token here ... --AaBbCcXx Content-Disposition: form-data; name="encoding" ... encoding to use for interpreting the text file here ... --AaBbCcXx Content-Disposition: form-data; name="data"; filename="members.txt" Content-Type: text/plain ... contents of members.txt import data file here ... --AaBbCcXx--
The following example shows the HTML code of a simple HTML page that displays a form like the following:
into which the user can enter the security token, file encoding and the file to upload. Then when the user clicks the "OK" button, the form will submit a HTTP POST-request with "additional data" like the one described above to the external trigger URL (if "TRIGGER_URL_HERE" is replaced accordingly):