Ältere Plattform

Assistent-Flow-Definition

Zum Erstellen der Ablaufdefinition des Assistenten müssen Sie eine XML-Datei verwenden. Sie können Extensibility Workbench nicht zum Erstellen oder Anpassen von Assistenten verwenden. Um die verschiedenen Attribute von zu verstehen wizard.xml, sehen Sie sich die Beispiel-XML-Datei des Assistenten „Create OrderCustomer Pick“ an.

Die verschiedenen Komponenten einer Assistentenablaufdefinition lauten wie folgt:
  • Seite-Der sichtbare Teil des Assistenten Jede Seite muss innerhalb des Assistenten mit einer eindeutigen ID versehen sein.
  • Regel-Bestimmt den Assistentenablauf. Eine Regel kann zur nächsten Seite in einem Assistenten oder einer anderen Regel führen. Sie kann auch zu einem Übergang führen, der den Assistentenablauf verbindet. Der Übergang kann für eine Seite zu einer Seite, eine Seite zu einer Regel, eine Regel zu einer Seite oder eine Regel zu einer Regel erfolgen.
  • Ablaufcontroller-Der Assistentenablauf wird gesteuert. Sie bestimmt die nächste Assistentenentität, die basierend auf der aktuellen Aktivitätsentität angezeigt oder ausgewertet wird.

    Jeder Assistentencontroller muss ISCUIWizardFlowControllererweitern. Die Standardklasse des Assistentencontrollers ist com.sterlingcommerce.ui.web.platform.wizard.SCUIDefaultWizardController. Die Dienstprogrammklasse des Assistenten für Flow-Controller koordiniert den Flow, der auf der Definition basiert. Sie können entweder einen eigenen Ablaufcontroller integrieren oder den Standardablaufcontroller verwenden.

Beispiel: XML-Datei für den Assistenten OrderCustomer Pick“ erstellen

<wizards>
 <wizard id="isccs.order.wizards.createOrder.CreateOrderWizard" 
flowController="com.sterlingcommerce.ui.web.platform.wizard.SCUIDefaultWizardController" 
independentPages="false" extensible="true">
 <wizardEntities>
 <wizardEntity id="Rule1" impl="java:com.ibm.isccs.order.rules.CreateOrderFirstPageWizardRule" 
start="true" last="false" type="RULE">
	 <output value="1"/> 
	 <output value="2"/> 
	 <output value="3"/> 
</wizardEntity>
 <wizardEntity id="Page1" screenId="isccs.order.create.customer.CustomerIdentification" 
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp" last="false" type="PAGE" 
category="Cat2"/>
 <wizardEntity id="Page2" screenId="isccs.order.create.additems.AddItems" 
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp"  last="false" type="PAGE" 
category="Cat1"/> 
 <wizardEntity id="Page3" screenId="isccs.order.create.additems.AddItems" 
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp"  last="false" type="PAGE" 
category="Cat1"/> 
 <wizardEntity id="Page4" screenId="isccs.order.create.customer.
CustomerIdentification" 
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp"  last="false" type="PAGE" 
category="Cat2"/> 
 <wizardEntity id="Page5" screenId="isccs.order.fulfillmentSummary.
FulfillmentSummaryDetailsScreen" 
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp"  last="false" type="PAGE" 
category="Cat2"/> 
 <wizardEntity id="Page6" screenId="isccs.payment.confirmation.PaymentConfirmation" 
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp"  last="true" type="PAGE" 
category="Cat2"/>
 <wizardEntity id="Page7" screenId="isccs.order.create.additems.AddItems" 
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp" 
last="false" type="PAGE" category="Cat1"/>
</wizardEntities>
<wizardTransitions>
<wizardTransition id="Transition1" source="Rule1">
	 <output target="Page1" value="1"/>
   <output target="Page2" value="2"/>
   <output target="Page7" value="3"/>
</wizardTransition>
<wizardTransition id="Transition2" source="Page1" target="Page3">
</wizardTransition>
<wizardTransition id="Transition3" source="Page2" target="Page4">
</wizardTransition>
<wizardTransition id="Transition4" source="Page3" target="Page5">
</wizardTransition>
<wizardTransition id="Transition5" source="Page4" target="Page5">
</wizardTransition>
<wizardTransition id="Transition6" source="Page5" target="Page6">
</wizardTransition>
<wizardTransition id="Transition7" source="Page7" target="Page5">
</wizardTransition>
</wizardTransitions>
</wizard>
</wizards>
<wizards>
 <wizard id="wsc.shipment.wizards.CustomerPickupWizard" 
flowController="com.sterlingcommerce.ui.web.platform.wizard.SCUIDefaultWizardController" 
independentPages="false" finishImpl="/wsc/manageWizard.do">
 <wizardEntities>
  <wizardEntity id="FirstPageRule" impl="java:com.ibm.wsc.shipment.customerpickup.rules.CustomerPickupFirstPageWizardRule" 
start="true" last="false" type="RULE">
	 <output value="ValidShipmentStatus"/> 
	 <output value="InvalidShipmentStatus"/> 
	 <output value="InvalidShipmentShipNode"/> 
</wizardEntity>
  <wizardEntity id="CustomerIdentification" screenId="wsc.shipment.customerpickup.CustomerIdentification" 
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp" 
  start="false" last="false" type="PAGE" category="Identification"/>
  <wizardEntity id="ProductVerification" screenId="wsc.shipment.customerpickup.ProductVerification" 
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp" start="false" last="false" type="PAGE" category="Verification"/> 
  <wizardEntity id="AfterPVRule" impl="java:com.ibm.wsc.shipment.customerpickup.rules.CustomerPickupAfterPVWizardRule" 
start="false" last="false" type="RULE"> 
     <output value="Resolution"/>
     <output value="Summary"/>
  </wizardEntity>
  <wizardEntity id="Resolution" screenId="wsc.shipment.customerpickup.Resolution" impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp"
start="false" last="false" type="PAGE" category="Resolution"/>
  <wizardEntity id="Summary" screenId="wsc.shipment.customerpickup.Summary" impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp"
start="false" last="false" type="PAGE" category="Summary"/?
  <wizardEntity id="InvalidShipmentStatus" screenId="wsc.shipment.customerpickup.InvalidShipment" screenMode="InvalidShipmentStatus"
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp" start="false" last="true" type="PAGE" category="InvalidShipment"/>
  <wizardEntity id="InvalidShipmentShipNode" screenId="wsc.shipment.customerpickup.InvalidShipment"
screenMode="InvalidShipmentShipNode" impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp" start="false" last="true" type="PAGE" category="InvalidShipment"/>
</wizardEntities>
<wizardTransitions>
   <wizardTransition id="Transition1" source="FirstPageRule">
     <output target="CustomerIdentification" value="ValidShipmentStatus"/>
     <output target="InvalidShipmentStatus" value="InvalidShipmentStatus"/>
    <output target="InvalidShipmentShipNode" value="InvalidShipmentShipNode"/>
   </wizardTransition>
   <wizardTransition id="Transition2" source="CustomerIdentification" target="ProductVerificaton"/>
   <wizardTransition id="Transition3" source="ProductVerification" target="AfterPVRule"/>
   <wizardTransition id="Transition4" source="AfterPVRule">
     <output target="Resolution" value="Resolution"/>
     <output target="Summary" value="Summary"/>
   </wizardTransition>
   <wizardTransition id="Transition5" source="Resolution" target="Summary"/>
</wizardTransitions>
<categories>
   <category id="Identification" description="" style="simple"/>
   <category id="Verification" description="" style="simple"/>
   <category id="Resolution" description="" style="simple"/>
   <category id="Summary" description="" style="simple"/>
</categories>
</wizard>
</wizards>

Assistentenelement

Sie können das Element wizard wie folgt angeben:
<wizard id="wsc.order.wizards.createOrder.CreateOrderWizard" 
flowController="com.sterlingcommerce.ui.web.platform.wizard.
SCUIDefaultWizardController" 
independentPages="false" extensible="true">
<wizard id="wsc.shipment.wizards.CustomerPickupWizard" 
flowController="com.sterlingcommerce.ui.web.platform.wizard.
SCUIDefaultWizardController" 
independentPages="false" finishImpl="/wsc/manageWizard.do>

In der folgenden Tabelle werden die Attribute eines Assistentenelements beschrieben:

Tabelle 1 XML-Attribute zur Angabe eines Assistenten

In der folgenden Tabelle werden die Attribute eines Assistentenelements beschrieben.

XML-Attribut Obligatorisch Beschreibung
ID Y Gibt eine eindeutige Assistentenkennung an
flowController Y Gibt den Ablaufcontroller für den Assistenten an Der Ablaufcontroller führt die folgenden Aktionen aus:
  • Bestimmt die nächste auszuwertende Entität auf der Basis der aktuellen Entität.
  • Stellt grundlegende Navigationsfunktionen für den Assistenten bereit
  • Verarbeitet nächste und vorherige Aufrufe.
independantPages Y Gibt an, ob die Assistentenseiten voneinander unabhängig sind Gültige Werte sind:
  • True-Gibt an, dass die Assistentenseiten unabhängig sind.
  • False-Gibt an, dass die Assistentenseiten abhängig sind.
ausbaufähig N Gibt an, ob der Assistent erweiterbar ist. Standardmäßig sind alle Assistenten erweiterbar. Gültige Werte sind:
  • True-Gibt an, dass der Assistent erweiterbar ist.
  • False-Der Assistent kann nicht erweitert werden.

Entität "Wizard page"

Sie können die Assistentenseitenentität wie folgt angeben:
<wizardEntity id="Page1" screenId="isccs.order.create.customer.CustomerIdentification" 
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp" last="false" 
type="PAGE" category="Cat2"/>
<wizardEntity id="CustomerIdentification" screenId="wsc.shipment.customerpickup.CustomerIdentification"
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp"
start="false" last="false" type="PAGE" category="Identification"/>
In der folgenden Tabelle werden die Attribute beschrieben, die zum Angeben einer Seite verwendet werden:
Tabelle 2. XML-Attribute, die im Element wizardEntity verwendet werden, um eine Seite zu spezifizieren
XML-Attribut Obligatorisch Beschreibung
ID Y Gibt eine eindeutige Seitenkennung für eine Seite im Assistenten an.
impl Y Gibt die JSP-oder Struts-Aktion an, die die Seite wiedergibt.
screenId N Gibt den Klassennamen der Anzeige an, die auf der Seite angezeigt wird
start N Gibt an, ob die Seite die erste Seite im Assistenten ist. Folgende Werte sind möglich:
  • True-Gibt an, dass die Seite die erste oder die erste Seite im Assistenten ist.
  • False-Gibt an, dass die Seite nicht die erste oder die erste Seite im Assistenten ist.
Letzte N Gibt an, ob die Seite eine letzte Seite des Assistenten ist. Gültige Werte sind:
  • True-Gibt an, dass die Seite die letzte Seite im Assistenten ist.
  • False-Gibt an, dass die Seite nicht die erste Seite im Assistenten ist.
Typ Y Gibt an, ob wizardEntity eine Seite oder Regel definiert. Gültige Werte sind:
  • SEITE
  • REGEL
Kategorie N Gibt die Kategorie an, zu der die Seite gehört Dieses Attribut wird für breadcrumbsverwendet.

Assistentenregelentität

Eine Assistentenregel führt logische Berechnungen durch, um verschiedene Ausgabewerte auszuwerten. Der Ablauf eines Assistenten hängt von den definierten Ausgabewerten ab.

Sie können die Assistentenregeln wie folgt angeben:
<wizardEntity id="Rule1" impl="java:com.ibm.isccs.order.rules.CreateOrderFirstPageWizardRule" 
start="true" last="false" type="RULE">
	 <output value="1"/> 
	 <output value="2"/> 
	 <output value="3"/> 
	 <output value="-1" type="exit"/>
</wizardEntity>
<wizardEntity id="FirstPageRule" impl="java:com.ibm.wsc.shipment.customerpickup.rules.CustomerPickupFirstPageWizardRule"
start="true" last="false" type="RULE">
  <output value="ValidShipmentStatus"/>
  <output value="InvalidShipmentStatus"/>
  <output value="InvalidShipmentShipNode"/>
</wizardEntity>

In der folgenden Tabelle werden die Attribute einer Assistentenregel beschrieben:

Tabelle 3. XML-Attribute, die im Element wizardEntity zur Angabe einer Assistentenregel verwendet werden

In der folgenden Tabelle werden die Attribute einer Assistentenregel beschrieben.

XML-Attribut Obligatorisch Beschreibung
ID Y Gibt eine eindeutige Regelkennung für eine Regel im Assistenten an.
impl Y Die Java-Klasse muss die Schnittstelle com.sterlingcommerce.ui.web.platform.wizard.ISCUIWizardRule implementieren. Sie können das Dienstprogramm install3rdParty verwenden, um angepasste JAR-Dateien anderer Anbieter zum Klassenpfad verschiedener Dienstprogramme und EAR-Dateien hinzuzufügen.

Zum Beispiel ist impl=java:com.ibm.isccs.order.rules.CreateOrderFirstPageWizardRule die Assistentenregel, die die Implementierung bereitstellt.

Zum Beispiel ist impl=java:com.ibm.wsc.shipment.customerpickup.rules.CustomerPickupFirstPageWizardRule die Assistentenregel, die die Implementierung bereitstellt.

start N Gibt an, ob die Regel die erste Regel im Assistenten ist. Gültige Werte sind:
  • True-Gibt an, dass die Regel die startende oder die erste Regel im Assistenten ist.
  • False-Gibt an, dass die Regel nicht die erste oder die erste Regel im Assistenten ist.
Letzte N Gibt an, ob die Regel eine letzte Regel des Assistenten ist. Gültige Werte sind:
  • True-Gibt an, dass die Regel die letzte Regel im Assistenten ist.
  • False-Gibt an, dass die Regel nicht die erste Regel im Assistenten ist.
Typ Y Gibt an, ob wizardEntity eine Seite oder eine Regel definiert. Gültige Werte sind:
  • SEITE
  • REGEL
Ausgabe N Gibt die mögliche Rückgabezeichenfolge für eine Regel an Der Wert gibt die nächste Seite in einem Assistentenübergang an. Die Assistentenregel kann definiert werden, um den Assistentenablauf als <output value="-1" type="exit" />zu beenden.
Hinweis: Wenn Java eine Zeichenfolge zurückgibt, die nicht mit den Ausgabewerten übereinstimmt,SCUIWizardRuleHolder: Undeclared output from implementationAusnahmebedingung tritt auf.

Assistentenübergangselement

Der Assistentenübergang wird verwendet, um die Steuerung von einer Assistentenentität an eine andere Assistentenentität zu übertragen. Der Assistentenübergangswert wird mit der Ausgabe der Assistentenregel verglichen und die Steuerung wird an die nächste Assistentenentität übertragen. Sie können dieselbe Assistentenübergangskennung für mehrere Assistentenübergänge definieren, die unterschiedlichen Werten zugeordnet sind.

Sie können den Assistentenübergang wie folgt angeben:
<wizardTransitions>
<wizardTransition id="Transition1" source="Rule1">
	 <output target="Page1" value="1"/>
   <output target="Page2" value="2"/>
   <output target="Page7" value="3"/>
</wizardTransition>
</wizardTransition>
Oder
<wizardTransitions>
<wizardTransition id="Transition2" source="Page1" target="Page3">
</wizardTransition>

In der folgenden Tabelle sind die Attribute beschrieben, die zum Definieren einer Transitionverwendet werden:

Tabelle 4. XML-Attribute, die in dem Element wizardTransition verwendet werden

Die folgende Tabelle beschreibt die Attribute, die zur Definition einer Transition verwendet werden.

XML-Attribut Obligatorisch Beschreibung
ID Y Gibt eine eindeutige Übergangskennung an.
Quelle Y Gibt die ID der Quellenentität an, aus der der Übergang stammt.
Ausgabe N Obligatorisch, wenn das Quellenattribut ein Ruleist. Dieses Attribut wird verwendet, um den Übergang von einer Seite zu einer anderen zu bestimmen. Basierend auf dem von der Regel zurückgegebenen Wert wird der Übergang auf die Seiten angewendet, die im Attribut target definiert sind. Beispiel: Wenn <output target="Page1" value="1"/>und die Regel den Wert 1 zurückgibt, geht der Assistent auf Page1über.
Ziel Y Das Zielattribut gibt die ID der Entität an, an der der Übergang endet.