Exsteram

Da WikiSitech.
Vai alla navigazioneVai alla ricerca

Wiki StreamServe — Guida Operativa

Raccolta di appunti operativi su Communication Builder, StoryTeller, Control Center, Overlay Editor e procedure di rilascio.

Indice

  1. Communication Builder
  2. StoryTeller
  3. Control Center
  4. Overlay Editor
  5. Note Varie
  6. 3270
  7. Come fare il rilascio
  8. Apache Tomcat



Communication Builder

Creazione progetto

Struttura: progetto → nuova cartella “Nome modulo” → new message, new runtime, new resource set

Il nome del progetto è il nome del modulo presente nell’XML.

Message — nomemodulo_Msg

  • Add event xmlinnomemodulo_IN
  • Add process storytellernomemodulo_OUT

Runtime — nomemodulo_Run

  • Job nomemodulo_Jobadd runtime component → selezionare il msg
  • Collegare i 2 input e httpdPfOut
  • Nell’out togliere select automatically

Resource Set — DefaultNomemoduloResourceSet

Nuova cartella con: 1. Sample 2. Overlay(se serve)



XMLIN

  • Resource Set → Sample: importare tutti gli XML del modulo (import)
  • MSG: aprire xmlin → File → Open Sample (se non presente, aggiungere il resource set)

Mappare XML

Selection Tool

  • Seleziona soltanto, non effettua azioni.
  • Se seleziona una data o un importo già mappato dal Field Tool → Input Format → selezionare dal resource set il formattatore (tabella Formats.txt).

Pattern Tool

Usarlo per mappare l’attributo mod del modulo (cliccando sul contenuto o su mod).

Field Tool

  • Mappa i dati “secchi” all’altezza in cui ci si trova.

  • Prime cose da mappare:

    • <tipo> → variabile $stampa_tipo
    • <abi> → variabile $sicurezza_abi
  • Assegnare una variabile solo in casi specifici (es. se il tag serve per una funzione).

  • Per mappare un singolo campo tra diversi uguali:

    /s9Env/parametri/param[@nome='valoreNomeCampo']

Block Tool

  • Mappa i blocchi che si ripetono.

  • Esempio:

    <firmatari>
      <cdg></cdg>
      <cdg></cdg>
    </firmatari>
    

    Selezionare firmatari con il Block Tool, poi selezionare la cartella creata (es. BlockFirmatari) e selezionare il campo che si ripete (es. cdg) col Block Tool — solo perché è un blocco a sé stante.

  • Controllare che il blocco venga mappato (diventa grigio); se non succede, mapparlo col Field Tool all’interno dei field del blocco.

  • Il Block Tool può essere usato anche su campi che non si ripetono, solo per dare un ordine.

MSG (script)

  • Chiamare la callProc: CallProc("nomedellOut");

  • Recuperare un campo non definito come variabile (vale ovunque):

    MsgGetValue("nomeCampoMappato")
  • Recuperare il valore di un campo in un blocco a un dato indice:

    MsgGetValue("blocco:indice/campo")
  • In basso a sinistra, tabella Note | Dependencies: aggiungere i resource set (tasto destro → Add Resource Set).

  • Nello script:

    // Data di oggi
    $dataOggi = dformat("dd/mm/yyyy", getDate());
    
    // Recuperare il logo
    $overlay_logo = cse_getoverlaylogost($sicurezza_abi);
    
  • Se ci sono più CallProc nel MSG, si possono cambiare i valori delle variabili tra una e l’altra.

  • Se ci sono più CallProc (es. a seconda di una condizione se ne esegue una piuttosto che un’altra) e questo dà problemi, bisogna usare variabili con i nomi degli output.



StoryTeller

Setup base

  • Su OUTConnector Selector → Lookupkey = $stampa_tipo, value = TipoOutConnector
  • Si apre con doppio click sull’OUT.
  • Page → Insert → Storyframe (w:19, x:1, h:26, y:3)
  • Sullo storyframe, tasto destro → Insert Table per inserire una tabella:
    • La tabella deve avere altezza 0; le altre dimensioni si settano “a piacimento” → settare 0 da Layout.
    • Story (a destra) → Repeating → Repeat: l’XPath indica il blocco che si ripete.
  • TextArea → Insert → Substitution: in Data XPath inserire il nome della variabile.
  • Selezionando il campo → Format: si può cambiare il formato di date e importi in OUT.
  • Per il repeater in tabella: prima selezionare il repeater (Table → Repeating → Repeat → blocco da ripetere), poi trascinare i campi.
  • Repeater → Dati → Location: decide se la ripetizione è verticale o orizzontale.
  • Area Break: passa a pagina successiva (tasto destro sulla document view).
  • Una volta terminato, su Communication Builder cliccare EXPORT.

Funzioni utili

MsgCountID("nome_del_blocco")     // conta gli elementi di un blocco
StEvalXpath("nomecampo")          // prende il valore di nomecampo nel repeater

Esempio:

StEvalXpath("/data/message/Block_SOTTOSCR/CODFISC["+$prog+"]");
// recupera il campo CODFISC all'indice $prog
  • CTRL+F → apre la ricerca (font, variabili, …)

  • Page → Insert → New Fragment → Content DependentEdit FragmentFragment ViewInsert → New Fragment → Overlay (w:11,99 h:4) → Fragment

    • Fragment URI → in Modification mettere $overlay_logo

    • Chiudere la Fragment Page → recuperare il logo nel MSG:

      $overlay_logo = cse_getoverlaylogopers($sicurezza_abi);
  • Per numero di pagina e footer (sempre dal fragment creato): in fondo creare una tabella, poi 2 substitution:

    $pg = page();
    $pgS = pages();

Punto firma

$firma = "Firma " + StEvalXpath("cdg") + " con Tablet ___________________________ " + "progressivo"
  • Il punto firma deve essere di colore bianco non trasparente.
  • Il font del punto firma deve essere massimo 6 di grandezza.
  • Inserire i nomi dei firmatari nei punti firma.
  • Gli importi hanno 2 cifre decimali e sono allineati a destra.
  • Si possono creare story per gli elementi che si ripetono.

Repeater

  • Su Repeater Filter XPath si può filtrare mettendo nome_campo = "value".
  • Su XPath si può mettere un filtro tra quadre: /BLOCK[nome_campo = 'valore']
  • position() = 1 → prende solo il primo valore (al netto di un eventuale filtro già presente nell’XPath).
  • Sorting Criteria → XPath: setta il campo per il sorting (controllare che dia solo il percorso relativo del campo, non tutto).
  • Se due blocchi hanno una FK (foreign key) in comune → si può fare un repeater dentro l’altro e confrontare la FK, in modo da stampare solo i valori corrispondenti, usando il filtro XPath.
  • skip() salta il dato nel ciclo.



Control Center

Per stampare localmente il modulo su cui si sta lavorando si usa il Control Center:

  1. Generare l’export da Communication Builder.

  2. Export → Export From File.

  3. Controllare che nell’XML il campo <tipo> sia valorizzato a FILEPDF.

  4. Una volta avviato, mettere l’XML in:

    C:\ManagementGateway\16.6\root\applications\Riccardo\Production\spool
  5. Nella cartella di out si trovano i PDF.

  6. Se il risultato va in undeliverable, probabilmente ci si è scordati di impostare FILEPDF nell’XML — il PDF si trova comunque nella cartella undeliverable.

  7. In:

    C:\ManagementGateway\16.6\root\applications\Riccardo\Production\exported_configurations

    si trovano i file di Run; se ci sono errori nel runtime si vedono lì.

  8. Per aggiornare il deploy in caso di modifiche: “Riccardo” → Redeploy.

  9. Nelle commit inserire: "descrizione" (modulo) [ticket_jira]



Overlay Editor

  • Converte PDF in LXF.
  • Import del PDF: trascinare il PDF, oppure File → Open → …
  • Controllare che il font sia Arial o Arial Narrow; volendo si può aprire l’LXF con Notepad e sostituire in blocco tutti i font diversi da Arial.
  • ALT + "+" oppure Object → Arrange → Consolidate: consolida le caselle di testo, da fare riga per riga selezionando la riga intera.
  • Da Communication Builder importare l’overlay (LXF necessario) nelle risorse.

Da StoryTeller

  • Overlay → Fragment URI → selezionare l’LXF dal resource set del modulo.
  • Per aggiungere altre pagine dell’LXF: Add New Page → selezionare la pagina → copiare l’overlay dalla prima → (dalle proprietà) Page ID = numero della pagina.
  • Aggiungere comunque un content dependent per la numerazione delle pagine, e poi toglierla dal PDF dell’overlay.
  • Per inserire i campi si usano i Text Area, non le tabelle.
  • Durante il mapping, assegnare ciascun campo a una variabile: Tools → Event Option → Create Field Variable.
  • Non serve la story.

Altre note

  • Se si fanno modifiche all’LXF dopo averlo importato: da ResourceUpdate From File (selezionando l’LXF stesso), poi chiudere e riaprire StoryTeller.

  • Dalla barra laterale è possibile creare riquadri.

  • Se ci sono più campi che andrebbero in un repeater (uso delle tabelle sconsigliato), si possono creare variabili nel MSG per ogni campo della lista:

    $nome_Campo = MsgGetValue("Blocco/posizione/nomeCampo");
  • Si possono aprire due PDF nella stessa finestra di Overlay Editor per fare copia/incolla.

  • Form → Form Info → Fonts: cambiare un font ad Arial. Aprendo l’LXF con Notepad si cambiano i font da lì: impostare name="Arial"; il charset="symbol" va cancellato e sostituito con name="Arial".

  • Per cancellare pagine: Page → Delete → intervallo delle pagine da cancellare (“prima pagina - ultima pagina”).

  • Cancellare il numero delle pagine dell’LXF e impostarne uno coerente da StoryTeller.



Note Varie

  • File Transfer da SiWeb di Valid per fare il rilascio (aprire il SiWeb della banca) → allegare l’export.
    • Codice: "S9VE" + NUMERO_VERSIONE + ULTIMA_LETTERA_DEL_SERVIZIO
    • Se consortile, il codice è sempre S9CSEE16.
  • Se da StoryTeller non si riescono a passare i campi mappati nel MSG: File → Data → Switch to Message.



3270

  • v = valid, c = prod + "ics"
  • CNTRL = INVIO
  • Da terminale 3270 si possono cercare i servizi per le relative ABI: S9RS sul terminale per cercarle.
  • pausalogoff per uscire.
  • Per cambiare banca: tasto pausaSRAM ABI



Come fare il rilascio

SiWeb

  1. Selezionare File Transfer (BAL0FTRA)

  2. Inserire il codice:

    Tipo Codice
    Consortile S9CSEE16
    Banca "S9VE" + NUMERO_VERSIONE + ULTIMA_LETTERA_DEL_SERVIZIO
    KIID S9CARKI
    Allegati S9CARAL
  3. Trasmissione: 1

  4. Allegato: inserire il file ZIP per gli allegati .lxf

  5. Altri casi: inserire l’export

  6. Sovrascrivi e conferma

3270

  1. Accedere all’ambiente su cui rilasciare
  2. Accedere
  3. S9RSCNTRLm sulla nostra export → aggiungere una descrizione (con TAB ci si sposta) → s
  4. F3 per tornare alla home
  5. S9JSi su CSEE16 (se consortile) o INSE16 (per gli altri)
  6. Su timestamp → ? → selezionare la nostra export
  7. Su codice URL → cercare il nostro servizio → s
  8. l su CSEE16 o INSE16A attiva → D autorizzazione finale → vF2 per refresh e controllare che non vada in errore
  9. Per gli allegati: S9JSCARALi → (F3) → 1lad

Versionamento

Da Communication Builder:

  1. Update Release (icona con le 2 frecce verdi) → per controllare le modifiche (facoltativo)
  2. Crea Release:
    • Label: "v" + anno + mese + giorno + "_" + ambiente (P, V, T)
    • Description: descrizione della modifica + (modulo) [ticket di riferimento]

Rilascio interno

  • Nome: "V" + Data_oggi
  • Descrizione: ticket



Apache Tomcat

  • Apache Tomcat 8.5 MrB → attivarlo per usare StreamServe.