Loading

Change an existing rule

Different JDF-enabled applications can store the information in the JDF ticket in different ways. If two or more of such applications want to submit jobs to PRISMAdirect, the system must be able to understand both JDF ticket formats.

For this it is possible to define two JMF endpoints one for each JDF Client app. Each JMF endpoint will use a separate mapping file which can be customized to support a different structure of the JDF ticket.

Example:

A customer has extended the PD ticket with a ticket field allowing the job submitters to ask for a special finishing: SquareBinding. There is an online finisher on some iPR printers supporting this, called “Saddle press”.

The Océ JDF syntax and the Kodak syntax for this finishing are different. Suppose the customer needs to support Océ and Kodak applications and he needs to map both syntaxes.

Two endpoints must be enabled for this each with a customized mapping table.

  1. This is the Océ syntax:

    <JDF ID="jdf_1" Type="Combined" Category="DigitalPrinting" Types="LayoutPreparation Imposition Interpreting Rendering DigitalPrinting Stitching">

    <ResourcePool>

    <Component ID="Product_4" Class="Quantity" Status="Unavailable" ComponentType="PartialProduct"/>

    <StitchingParams ID="ProcessID_5" Class="Parameter" Status="Available" StitchType="Saddle" NumberOfStitches="2">

    <GeneralID IDUsage="oce:SaddlePress" IDValue="On"/>

    <GeneralID IDUsage="oce:SaddlePressAdjustment" IDValue="+5"/>

    </StitchingParams>

    <Component ID="Product_5" Class="Quantity" Status="Unavailable" ComponentType="PartialProduct"/>

    </ResourcePool>

    <ResourceLinkPool>

    <ComponentLink rRef="Product_4" Usage="Input" Orientation="Flip0" CombinedProcessIndex="5"/>

    <StitchingParamsLink rRef="ProcessID_5" Usage="Input"/>

    <ComponentLink rRef="Product_5" Usage="Output" Orientation="Flip0" CombinedProcessIndex="5"/>

    </ResourceLinkPool> </JDF>

    The mapping node that will set the value for SquareBinding should look like this:

    <jc:ConditionalEnumMapping Name="BindingMethod" Optional="true">

    <jc:ConditionalEnumValue AccessEnumValue="SquareBinding">

    <jc:StringConditionJdfField="/jdf:JDF/jdf:ResourcePool/jdf:StitchingParams/jdf:GeneralID[@IDUsage=’oce:SaddlePress’]/@IDValue" ExpectedValue="On"/>

    </jc:ConditionalEnumValue>

    ...

    </jc:ConditionalEnumMapping>

  2. The Kodak syntax for the same finishing type is quite different:

    <JDF Activation="Active" Category="DigitalPrinting"CommentURL="http://127.0.0.1"ICSVersions="IDP_L1-1.0 Base_L3-1.0" ID="n0803_4792_00074"JobID="001"JobPartID="080623_105104792_000175" MaxVersion="1.3"SettingsPolicy="BestEffort"Status="Ready" Type="Combined"Types="LayoutPreparation Imposition Interpreting RenderingColorantControl DigitalPrinting Folding Trimming pod-wf:SaddlePress"Version="1.3"xmlns="http://www.CIP4.org/JDFSchema_1_1"xmlns:pod-wf="http://www.pod-wf.com"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:type="Combined">

    <Comment/>

    <ResourcePool>

    <pod-wf:SaddlePressParams ID="SPP001" Class="Parameter"NoOp="false" pod-wf:PressLevel="-5" Status="Available"/>

    ...

    </ResourcePool>

    <ResourceLinkPool>

    ...

    </ResourceLinkPool>

    </JDF>

    In the mapping table for Kodak, the mapping node must be changed:

    <jc:ConditionalEnumMapping Name="BindingMethod" Optional="true">

    <jc:ConditionalEnumValue AccessEnumValue="SquareBinding">

    <jc:StringCondition JdfField="/jdf:JDF/jdf:ResourcePool/pod-wf:SaddlePressParams/@Status" ExpectedValue="Available"/>

    </jc:ConditionalEnumValue>

    ...

    </jc:ConditionalEnumMapping>

By enabling the two endpoints and assigning a custom mapping table to each one, the system is now configured to accept and interpret messages from the Océ and Kodak apps simultaneously.