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. CAS: lavoro condiviso
  6. Note Varie
  7. 3270
  8. Come fare il rilascio
  9. Apache Tomcat
  10. Errori noti



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



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: “Nome del proprio server” → 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.



CAS: lavoro condiviso

(sezione da completare)



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.



Errori noti

(sezione da completare)

  • 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.