This mapping file is used to associate PRISMAdirect specific values for job status to custom values defined by the customer. Job status in PRISMAdirect is represented by two items: InternalJobState and CommunicationState. The options of both these items will be exposed to the JDF Client.
Sample of the default PD-to-JDF mapping file:
The default mapping table maps the values of the status items to themselves.
<Mappings>
<CommunicationState>
<StatusMapping PAValue="Incoming">Incoming</StatusMapping>
<StatusMapping PAValue="New">New</StatusMapping>
<StatusMapping PAValue="Accepted">Accepted</StatusMapping>
<StatusMapping PAValue="Resubmitted">Resubmitted</StatusMapping>
...
<StatusMapping PAValue="Ready">Ready</StatusMapping>
<StatusMapping PAValue="Closed">Closed</StatusMapping>
<StatusMapping PAValue="Failed">Failed</StatusMapping>
</CommunicationState>
<InternalJobState>
<StatusMapping PAValue="Uploading">Uploading</StatusMapping>
<StatusMapping PAValue="Uploaded">Uploaded</StatusMapping>
<StatusMapping PAValue="Edited">Edited</StatusMapping>
...
<StatusMapping PAValue="Exported">Exported</StatusMapping>
<StatusMapping PAValue="Closing">Closing</StatusMapping>
<StatusMapping PAValue="Closed">Closed</StatusMapping>
</InternalJobState>
</Mappings>
The file is made up of two sections, one for InternalJobState values and one for CommunicationState values. Each section consists in a list of StatusMapping nodes.
Each StatusMapping node associates the status value specified by the PAValue attribute to a free string customizable by the customer.
At the start-up of the JDF/JMF Server, for all the enabled JMF endpoints the PD-to-JDF mapping table is loaded in memory from a file on disk.
When the JDF Server attempts to send the status of the job to the JDF Client, it first retrieves the values of InternalJobState and CommunicationState from the PRISMAdirect ticket of that job.
The mapper searches for the StatusMapping node whose PAValue attribute matches the status from the job. It does this both for InternalJobState and for CommunicationState in their respective sections in the XML.
When the matching StatusMapping node is found, the mapper returns the inner content of the node to the caller.
If the match is not found, the mapper returns the status value.
The customer will be able to change the values to which any job status value is mapped. In other words he can change the inner content for any and all of the StatusMapping nodes in the mapping file.
Example:
In the vocabulary of the customer a new job that arrives in the system might get the status “Unprocessed”. The analogue status in PRISMAdirect would be “New”. When the JDF Client gets the status of the job the customer might want that the job is presented as “Unprocessed” and not “New”. For this he simply has to update the inner content of the corresponding XML node to:
<StatusMapping PAValue="New">Unprocessed</StatusMapping>
Another use case would be the need to display the status of the job in another language other than English. This can be easily done for all the status values. The mapping file for a JDF Client that uses German as culture could look like this:
<Mappings>
<CommunicationState>
<StatusMapping PAValue="Incoming">Eingehend</StatusMapping>
<StatusMapping PAValue="New">Neu</StatusMapping>
<StatusMapping PAValue="Accepted">Akzeptiert</StatusMapping>
...
StatusMapping PAValue="Ready">Bereit</StatusMapping>
<StatusMapping PAValue="Closed">Geschlossen</StatusMapping>
<StatusMapping PAValue="Failed">Gescheitert</StatusMapping>
</CommunicationState>
...
</Mappings>
Of course this only applies to one JMF endpoint. A second endpoint could have the mapping file changed to return values in another language. However PRISMAdirect does not provide translations so modifying the mapping file is the responsibility of the customer.
InternalJobState and CommunicationState are internal ticket items of PRISMAdirect. So the list of options cannot be changed by the user during runtime. Therefore extending the mapping file after installation is not applicable in this case.
Through the JDF/JMF interface the system will expose on request the status of the submitted jobs to the JDF Clients. The JMF message that will contain the status is a response to the QueueStatus query:
<JMF TimeStamp="2006-09-29T13:18:01Z" SenderID="JMFSender"xmlns="http://www.CIP4.org/JDFSchema_1_1"xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance Version="1.3">
<Response Type="QueueStatus" ReturnCode="0"xsi:Type="ResponseQueueStatus"ID="Response-00000006" refID="qStatus_123">
<Queue Status="Waiting" DeviceID="MainQueue" />
<QueueEntry Status="Running" QueueEntryID="0007-43a32dd5-e9e4- 43e4-9b1d-89afffdaab0" JobID="JDF_66988942-9aef-4dcc-84f7-db35531270a4"JobPartID="PrintNode">
<JobPhase Status="InProgress" StatusDetails="New|Uploaded" />
...
</QueueEntry>
</Response>
</JMF>
The StatusDetails attribute will contain the values of both CommunicationState and InternalJobState concatenated in this order.