Piattaforma legacy

Definizione del flusso della procedura guidata

È necessario utilizzare un file XML per creare la definizione di flusso della procedura guidata. Non è possibile utilizzare il Workbench di estendibilità per creare o personalizzare le procedure guidate. Per comprendere le varie proprietà di wizard.xml, consultare il file XML di esempio della procedura guidata Customer Pick.

I vari componenti di una definizione di flusso della procedura guidata sono i seguenti:
  • Pagina - La parte visibile della procedura guidata. Ogni pagina deve avere un ID univoco all'interno della procedura guidata.
  • Regola - Determina il flusso della procedura guidata. Una regola può portare alla pagina successiva in una procedura guidata o in un'altra regola. Può anche portare a una transazione che connette il flusso della procedura guidata. La transizione può verificarsi per un page - to - page, page - to - rule, rule - to - page o rule - to - rule.
  • Controller di flusso - guida il flusso della procedura guidata. Determina l'entità della procedura guidata successiva che viene visualizzata o valutata in base all'entità dell'attività corrente.

    Qualsiasi controller della procedura guidata deve estendere ISCUIWizardFlowController. La classe del controller della procedura guidata predefinita è com.sterlingcommerce.ui.web.platform.wizard.SCUIDefaultWizardController. La classe di utilità del controller di flusso della procedura guidata organizza il flusso basato sulla definizione. È possibile collegare il proprio controller di flusso o utilizzare il controller di flusso predefinito.

Esempio: file XML della procedura guidata "Selezione cliente"

<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 procedura guidata

È possibile specificare l'elemento della procedura guidata come segue:
<wizard id="wsc.shipment.wizards.CustomerPickupWizard" 
flowController="com.sterlingcommerce.ui.web.platform.wizard.
SCUIDefaultWizardController" 
independentPages="false" finishImpl="/wsc/manageWizard.do>

La seguente tabella descrive gli attributi di un elemento della procedura guidata:

Tabella 1. Attributi XML utilizzati per specificare una procedura guidata

La seguente tabella descrive gli attributi di un elemento della procedura guidata.

Attributi XML Obbligatorio Descrizione
id Y Indica un identificativo univoco del wizard.
flowController Y Indica il controller di flusso per la procedura guidata. Il controller di flusso effettua le seguenti azioni:
  • Determina l'entità successiva da valutare in base all'entità corrente.
  • Fornisce le funzioni di navigazione di base alla procedura guidata.
  • Gestisce le chiamate successive e precedenti.
independantPages Y Indica se le pagine della procedura guidata sono indipendenti l'una dall'altra. I valori possibili sono i seguenti:
  • True - Indica che le pagine della procedura guidata sono indipendenti.
  • False - Indica che le pagine della procedura guidata sono dipendenti.
estendibile N Indica se la procedura guidata è estensibile. Per impostazione predefinita, tutte le procedure guidate sono estensibili. I valori possibili sono i seguenti:
  • True - Indica che la procedura guidata è estensibile.
  • False - Indica che la procedura non può essere estesa.

Entità pagina della procedura guidata

È possibile specificare l'entità della pagina della procedura guidata come segue:
<wizardEntity id="CustomerIdentification" screenId="wsc.shipment.customerpickup.CustomerIdentification"
impl="/platform/jsps/dojo/xapiajaxsuccesshandler.jsp"
start="false" last="false" type="PAGE" category="Identification"/>
La seguente tabella descrive gli attributi utilizzati per specificare una pagina:
Tabella 2. Attributi XML utilizzati nell'elemento wizardEntity per specificare una pagina
Attributi XML Obbligatorio Descrizione
id Y Indica un identificativo di pagina univoco per una pagina nella procedura guidata
impl Y Indica l'azione jsp o struts, che esegue il rendering della pagina.
screenId N Indica il nome classe dello schermo visualizzato nella pagina.
start N Indica se la pagina è la prima pagina della procedura guidata. I valori possibili sono i seguenti
  • True - indica che la pagina è la pagina iniziale o la prima pagina della procedura guidata.
  • False - indica che la pagina non è la pagina iniziale o la prima pagina della procedura guidata.
Ultimo N Indica se la pagina è l'ultima pagina della procedura guidata. I valori possibili sono i seguenti:
  • True - indica che la pagina è l'ultima pagina della procedura guidata.
  • False - indica che la pagina non è la prima pagina della procedura guidata.
tipo Y Indica se wizardEntity definisce una pagina o una regola. I valori possibili sono i seguenti:
  • PAGINA
  • REGOLA
categoria N Indica la categoria a cui appartiene la pagina. Questo attributo viene utilizzato per breadcrumbs.

Entità regola procedura guidata

Una regola della procedura guidata esegue calcoli logici per valutare vari valori di output. Il flusso di una procedura guidata dipende dai valori di output definiti.

È possibile specificare le regole della procedura guidata nel modo seguente:
<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 seguente tabella descrive gli attributi di una regola della procedura guidata:

Tabella 3. Attributi XML utilizzati nell'elemento wizardEntity per specificare una regola wizard

La seguente tabella descrive gli attributi di una regola della procedura guidata.

Attributi XML Obbligatorio Descrizione
id Y Indica un identificativo di regola univoco per una regola nella procedura guidata
impl Y La classe Java deve implementare l'interfaccia com.sterlingcommerce.ui.web.platform.wizard.ISCUIWizardRule . È possibile utilizzare l'utilità install3rdParty per aggiungere file JAR personalizzati di terze parti al percorso di classe di vari programmi di utilità e file EAR (enterprise archive).

Ad esempio, impl=java:com.ibm.wsc.shipment.customerpickup.rules.CustomerPickupFirstPageWizardRule è la regola guidata che fornisce l'implementazione.

start N Indica se la regola è la prima regola nella procedura guidata. I valori possibili sono i seguenti:
  • True - indica che la regola è la prima o la prima regola nella procedura guidata.
  • False - indica che la regola non è la prima o la prima regola nella procedura guidata.
Ultimo N Indica se la regola è l'ultima regola della procedura guidata. I valori possibili sono i seguenti:
  • True - indica che la regola è l'ultima regola della procedura guidata.
  • False - indica che la regola non è la prima regola nella procedura guidata.
tipo Y Indica se wizardEntity definisce una pagina o una regola. I valori possibili sono i seguenti:
  • PAGINA
  • REGOLA
emissione N Indica la possibile stringa di ritorno per una regola. Il valore indica la pagina successiva in una transizione della procedura guidata. La regola della procedura guidata può essere definita per uscire dal flusso della procedura guidata come <output value="-1" type="exit" />.
Nota: se Java restituisce una stringa che non corrisponde ai valori di output,SCUIWizardRuleHolder: Undeclared output from implementationsi verifica un'eccezione.

Elemento di transizione della procedura guidata

La transizione della procedura guidata viene utilizzata per trasferire il controllo da un'entità della procedura guidata ad un'altra. Il valore di transizione della procedura guidata viene confrontato con l'output della regola della procedura guidata e il controllo viene trasferito all'entità della procedura guidata successiva. È possibile definire lo stesso identificatore di transizione della procedura guidata per più transizioni della procedura guidata, associate a valori diversi.

È possibile specificare la transizione della procedura guidata nel modo seguente:
<wizardTransitions>
<wizardTransition id="Transition1" source="Rule1">
	 <output target="Page1" value="1"/>
   <output target="Page2" value="2"/>
   <output target="Page7" value="3"/>
</wizardTransition>
</wizardTransition>
Oppure
<wizardTransitions>
<wizardTransition id="Transition2" source="Page1" target="Page3">
</wizardTransition>

La seguente tabella descrive gli attributi utilizzati per definire un Transition:

Tabella 4. Attributi XML utilizzati nell'elemento wizardTransition

La tabella seguente descrive gli attributi utilizzati per definire un sito Transition.

Attributi XML Obbligatorio Descrizione
id Y Indica un identificativo di transazione univoco.
Origine Y Indica l'identificativo dell'entità di origine da cui ha origine la transizione.
emissione N Obbligatorio, se l'attributo di origine è un Rule. Questo attributo viene utilizzato per stabilire la transizione da una pagina all'altra. Sulla base del valore restituito dalla regola, la transizione viene applicata alle pagine definite nell'attributo target . Ad esempio, se <output target="Page1" value="1"/>e se la regola restituisce il valore 1, la procedura guidata effettua la transizione a Page1.
destinazione Y L'attributo di destinazione indica l'identificativo dell'entità in cui termina la transizione.