Exsteram
Indice
Wiki StreamServe — Guida Operativa
Raccolta di appunti operativi su Communication Builder, StoryTeller, Control Center, Overlay Editor e procedure di rilascio.
Indice
- Communication Builder
- StoryTeller
- Control Center
- Overlay Editor
- Note Varie
- 3270
- Come fare il rilascio
- 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 xmlin →
nomemodulo_IN - Add process storyteller →
nomemodulo_OUT
Runtime — nomemodulo_Run
- Job
nomemodulo_Job→ add 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
firmataricon 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ù
CallProcnel 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 OUT → Connector Selector → Lookup →
key = $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, …)
Fragment / Overlay / Logo
Page → Insert → New Fragment → Content Dependent → Edit Fragment → Fragment View → Insert → New Fragment → Overlay (w:11,99 h:4) → Fragment
Fragment URI → in Modification mettere
$overlay_logoChiudere 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:
Generare l’export da Communication Builder.
Export → Export From File.
Controllare che nell’XML il campo
<tipo>sia valorizzato aFILEPDF.Una volta avviato, mettere l’XML in:
C:\ManagementGateway\16.6\root\applications\Riccardo\Production\spool
Nella cartella di out si trovano i PDF.
Se il risultato va in undeliverable, probabilmente ci si è scordati di impostare
FILEPDFnell’XML — il PDF si trova comunque nella cartellaundeliverable.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ì.
Per aggiornare il deploy in caso di modifiche: “Riccardo” → Redeploy.
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 Resource → Update 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"; ilcharset="symbol"va cancellato e sostituito conname="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.
- Codice:
- 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:
S9RSsul terminale per cercarle. pausa→ logoff per uscire.- Per cambiare banca: tasto
pausa→SRAM ABI
Come fare il rilascio
Questa parte è solo di carattere informativo per chi lavora in ufficio, i rilasci in quel caso vengono effettuati sul CAS interno
SiWeb
Selezionare File Transfer (
BAL0FTRA)Inserire il codice:
Tipo Codice Consortile S9CSEE16Banca "S9VE" + NUMERO_VERSIONE + ULTIMA_LETTERA_DEL_SERVIZIOKIID S9CARKIAllegati S9CARALTrasmissione:
1Allegato: inserire il file ZIP per gli allegati
.lxfAltri casi: inserire l’export
Sovrascrivi e conferma
3270
- Accedere all’ambiente su cui rilasciare
- Accedere
S9RS→CNTRL→msulla nostra export → aggiungere una descrizione (conTABci si sposta) →sF3per tornare alla homeS9JS→isuCSEE16(se consortile) oINSE16(per gli altri)- Su timestamp →
?→ selezionare la nostra export - Su codice URL → cercare il nostro servizio →
s lsuCSEE16oINSE16→Aattiva →Dautorizzazione finale →v→F2per refresh e controllare che non vada in errore- Per gli allegati:
S9JS→CARAL→i→ (F3) →1→l→a→d
Versionamento
Da Communication Builder:
- Update Release (icona con le 2 frecce verdi) → per controllare le modifiche (facoltativo)
- Crea Release:
- Label:
"v" + anno + mese + giorno + "_" + ambiente(P,V,T) - Description: descrizione della modifica +
(modulo) [ticket di riferimento]
- Label:
Rilascio interno
- Nome:
"V" + Data_oggi - Descrizione: ticket
Apache Tomcat
- Apache Tomcat 8.5 MrB → attivarlo per usare StreamServe.