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.
- 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 istcom.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
<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:
| 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:
|
| independantPages | Y | Gibt an, ob die Assistentenseiten voneinander unabhängig sind Gültige
Werte sind:
|
| ausbaufähig | N | Gibt an, ob der Assistent erweiterbar ist. Standardmäßig sind alle Assistenten erweiterbar. Gültige
Werte sind:
|
Entität "Wizard page"
<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"/>| 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:
|
| Letzte | N | Gibt an, ob die Seite eine letzte Seite des Assistenten ist. Gültige
Werte sind:
|
| Typ | Y | Gibt an, ob wizardEntity eine Seite oder Regel definiert. Gültige
Werte sind:
|
| 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.
<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:
| 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 Zum Beispiel ist |
start |
N | Gibt an, ob die Regel die erste Regel im Assistenten ist. Gültige
Werte sind:
|
| Letzte | N | Gibt an, ob die Regel eine letzte Regel des Assistenten ist. Gültige
Werte sind:
|
| Typ | Y | Gibt an, ob wizardEntity eine Seite oder eine Regel definiert. Gültige
Werte sind:
|
| 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.
<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:
| 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. |