Definición de flujo de asistente
Debe utilizar un archivo XML para crear la definición de flujo de su asistente. No puede utilizar Extensibility Workbench para crear o personalizar asistentes. Para conocer las distintas propiedades de wizard.xml, consulte el archivo XML de ejemplo del asistente de selección de clientes.
- Página-La parte visible del asistente. Cada página debe tener un ID exclusivo dentro del asistente.
- Regla-Determina el flujo del asistente. Una regla puede llevar a la siguiente página de un asistente u otra regla. También puede llevar a una transición que conecte el flujo del asistente. La transición se puede producir para una página a página, de página a regla, de regla a página o de regla a regla.
- Controlador de flujo: controla el flujo del asistente. Determina la siguiente entidad de asistente que se muestra o evalúa basándose en la entidad de actividad actual.
Cualquier controlador de asistente debe ampliar
ISCUIWizardFlowController. La clase de controlador de asistente predeterminada escom.sterlingcommerce.ui.web.platform.wizard.SCUIDefaultWizardController. La clase de programa de utilidad de controlador de flujo de asistente orquesta el flujo que se basa en la definición. Puede conectar su propio controlador de flujo o utilizar el controlador de flujo predeterminado.
Ejemplo: Archivo XML del asistente de selección de clientes
<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>
Elemento de asistente
<wizard id="wsc.shipment.wizards.CustomerPickupWizard"
flowController="com.sterlingcommerce.ui.web.platform.wizard.
SCUIDefaultWizardController"
independentPages="false" finishImpl="/wsc/manageWizard.do>La tabla siguiente describe los atributos de un elemento de asistente:
| Atributo XML | Obligatorio | Descripción |
|---|---|---|
| ID | Y | Indica un identificador de asistente exclusivo. |
| flowController | Y | Indica el controlador de flujo para el asistente. El controlador de flujos realiza las acciones siguientes:
|
| independantPages | Y | Indica si las páginas del asistente son independientes entre sí. Los valores posibles son:
|
| Ampliable | N | Indica si el asistente es ampliable. De forma predeterminada, todos los asistentes son ampliables. Los valores posibles son:
|
Entidad de página de asistente
<wizardEntity id="CustomerIdentification" screenId="wsc.shipment.customerpickup.CustomerIdentification"
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp"
start="false" last="false" type="PAGE" category="Identification"/>| Atributo XML | Obligatorio | Descripción |
|---|---|---|
| ID | Y | Indica un identificador de página exclusivo para una página del asistente |
impl |
Y | Indica la acción jsp o struts, que representa la página. |
| screenId | N | Indica el nombre de clase de la pantalla que se visualiza en la página. |
start |
N | Indica si la página es la primera página del asistente. Los valores posibles son los siguientes:
|
| último | N | Indica si la página es una última página del asistente. Los valores posibles son:
|
| Tipo | Y | Indica si wizardEntity define una página o regla. Los valores posibles son:
|
| categoría | N | Indica la categoría a la que pertenece la página. Este atributo se utiliza para breadcrumbs. |
Entidad de regla de asistente
Una regla de asistente realiza cálculos lógicos para evaluar varios valores de salida. El flujo de un asistente depende de los valores de salida definidos.
<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>La tabla siguiente describe los atributos de una regla de asistente:
| Atributo XML | Obligatorio | Descripción |
|---|---|---|
| ID | Y | Indica un identificador de regla exclusivo para una regla en el asistente |
impl |
Y | La clase Java debe implementar la interfaz com.sterlingcommerce.ui.web.platform.wizard.ISCUIWizardRule . Puede utilizar el programa de utilidad install3rdParty para añadir archivos JAR personalizados de terceros a la vía de acceso de clases de diversos programas de utilidad y archivos EAR (Enterprise Archive).Por ejemplo, |
start |
N | Indica si la regla es la primera regla del asistente. Los valores posibles son:
|
| último | N | Indica si la regla es una última regla del asistente. Los valores posibles son:
|
| Tipo | Y | Indica si wizardEntity define una página o una regla. Los valores posibles son:
|
| salida | N | Indica la serie de retorno posible para una regla. El valor indica la siguiente página de una transición de asistente. La regla del asistente se puede definir para salir del flujo del asistente como <output value="-1" type="exit" />.Nota: Si Java devuelve una serie que no coincide con los valores de salida, elSCUIWizardRuleHolder: Undeclared output from
implementationse produce una excepción. |
Elemento de transición de asistente
La transición de asistente se utiliza para transferir el control de una entidad de asistente a otra entidad de asistente. El valor de transición del asistente se compara con la salida de la regla del asistente y el control se transfiere a la siguiente entidad del asistente. Puede definir el mismo identificador de transición de asistente para varias transiciones de asistente, que están asociadas con distintos valores.
<wizardTransitions>
<wizardTransition id="Transition1" source="Rule1">
<output target="Page1" value="1"/>
<output target="Page2" value="2"/>
<output target="Page7" value="3"/>
</wizardTransition>
</wizardTransition>O<wizardTransitions>
<wizardTransition id="Transition2" source="Page1" target="Page3">
</wizardTransition>La tabla siguiente describe los atributos que se utilizan para definir un Transition:
| Atributo XML | Obligatorio | Descripción |
|---|---|---|
| ID | Y | Indica un identificador de transición exclusivo. |
| origen | Y | Indica el identificador de la entidad de origen desde la que se origina la transición. |
| salida | N | Obligatorio, si el atributo de origen es un Rule. Este atributo se utiliza para determinar la transición de una página a otra. Basándose en el valor devuelto por la regla, la transición se aplica a las páginas definidas en el atributo target . Por ejemplo, si <output target="Page1" value="1"/>, y si la regla devuelve el valor como 1, el asistente realiza la transición a Page1. |
| destino | Y | El atributo de destino indica el identificador de la entidad donde finaliza la transición. |