ImpEx:OutputXML

From Cerberus Helpdesk Wiki

Jump to: navigation, search

Objects should be imported in a particular order, regardless of how they were exported. To accomplish this, we have a very simple convention -- each object's output directory starts with a priority number. Priority '00' means that workers import before priority '02' tickets. That way when tickets are importing, the import system can efficiently identify which messages should be associated to workers.

Your driver should provide a configurable outputDir to act as a top-level container. All output subdirectories should be stored at the same level (no nested directories).

Contents

Workers

Output Directory: 00-workers-###### (e.g. 00-workers-00001)

Each worker object is saved to a file named with a unique worker ID (e.g. 000005.xml)

Object XML:


Tickets

Output Directory: 02-tickets-###### (e.g. 02-tickets-00123)

Each ticket object is saved to a file named with a unique ticket ID (e.g. 004321.xml). Each output subdirectory should contain about 2000 files before you start filling the next directory. If possible, it's a nice convenience to export tickets in reverse chronological order so more recent tickets are available sooner than several year old tickets during a long-running import.

Imported tickets provide a destination <group> and <bucket> which will be created if they don't already exist. This approach is much simpler than trying to perform direct routing between an arbitrary source and Cerb4. Workers can quickly move imported tickets into the most appropriate groups, or they can simply close the entire import as an archive.

An imported ticket also provides its own <mask> which will be enforced unique by appending a sequential number to the end (to allow changed duplicate masks to still show up on a search for the original mask). Your driver should create a mask prefix if all you have to work with are sequential IDs, since the database IDs will change in Cerb4, and entirely numeric masks are not appropriate. For example, ticket 5000 should be represented as the mask "PREFIX-005000", where "PREFIX" can be anything as long as it's organizationally helpful.

Object XML:


Organizations

Output Directory: 03-orgs-###### (e.g. 03-orgs-000500)

Each organization object is saved to a file named with a unique ID (e.g. 008080.xml).

Object XML:


Contacts

Output Directory: 04-contacts-###### (e.g. 04-contacts-042001)

Each contact object is saved to a file named with a unique ID (e.g. 032767.xml).

Object XML:


Knowledgebase Articles

Output Directory: 10-kbarticle-###### (e.g. 10-kbarticle-00950)

Each article object is saved to a file named with a unique article ID (e.g. 000007.xml). Imported knowledgebase articles provide their own <categories> tree. For simplicity, the tree is is defined as a list of <category> elements. Each subsequent element is considered of a child of the category before it. You can provide multiple <categories> elements to link one article to multiple categories. The provided categories will be created in Cerb4 if they don't exist.

Object XML:

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox