Installazione e Aggiornamento Fluentis
Introduzione
In questa guida viene illustrato come poter procedere a una prima installazione di Fluentis e Arm. Si ricorda che per procedere bisogna avere il Fluentis Live Update e il Fluentis Installer Service aggiornati all’ultima versione e funzionanti.
Prima installazione di Arm e Fluentis
Andare in Licenses, verificare che sia inserito il codice di licenza corretto altrimenti inserirlo e salvare.
Andare in Enviroments e cliccare “Propose-Default”. In questo caso il LiveUpdate propone automaticamente i dati relativi al server ARM e SQL.
Ora ci sono due possibilità:
se il server di IIS e SQL sono nella stessa macchina (quindi quella in cui verranno installati Fluentis e Arm con il LiveUpdate) andare al passo successivo.
Se il server di SQL è diverso da quello su cui verranno installati Fluentis e Arm, va corretto il nome del server se non è stato impostato quello corretto durante l’installazione del LiveUpdate. Per fare questa modifica, cliccare sull’icona verde evidenziata in figura.
Verificare che nel server del database ci sia la cartella C:\Temp altrimenti quando il Live Update installerà ARM comunicherà un errore perché non saprà dove scaricare.
Ora va inserito il nome del server corretto in questa schermata, e anche l’utente il quale deve avere i permessi per accedere al database, si consiglia sempre di utilizzare l’utente sa:
Procedere installando ARM, selezionando la riga del server Arm e cliccare sulla freccia che punta verso il basso affianco ad Environments e premere Install.
Premendo su Install, se il database non è già esistente, viene richiesto di impostare l’utente per l’accesso ad Arm. Di default viene proposto l’utente che ha eseguito l’accesso a FLU. È possibile lasciare questo e successivamente impostare gli altri utenti che possono accedere ad Arm.
Selezionare quindi la release e la patch che si desidera installare e premere Install. Vengono sempre proposte le ultime disponibili.
Finita l’installazione di Arm, tocca a Fluentis. Cliccare su Clusters per installare Fluentis. Avendo cliccato su “propose default” è stato impostato in automatico la creazione di un database vuoto. Per vederne le proprietà andare in Cluster – Databases
Qui cliccare modifica (il pulsante verde sulla destra) per poter verificare i parametri e nel caso impostarli correttamente. E’ consigliato di inserire l’utente sa
Ora ritornare all’interno del cluster ed installare Fluentis premendo install.
Cliccando install appare questa schermata (vedi img sotto) nella quale ci propone come per Arm l’ultima Release e l’ultima patch. Inoltre va inserito Società, Divisione, Divisa e Paese, le quali verranno inserite in Fluentis nel caso il database sia vuoto. Se invece viene utilizzato un database che questi valori li ha già, verrà ignorato ciò che è inserito in questi 4 campi.
Infine va scelto se installare o meno BizLink (può essere fatto anche in un secondo momento sempre entrano in clusters e premendo la freccia in alto e Install BizLink).
Mettendo la spunta o cliccando su Install bizLink successivamente andremo solamente ad installare il servizio. Poi andrà configurato (vedi guida relativa a bizLink).
Terminata l’installazione della parte server si può procedere con l’installazione dei client. Sia per Arm che per Fluentis ci sono i setup in area FTP, \Products\Fluentis\xxxVersionNumber.
Nel client ARM effettuare l’accesso e in Home\Licenze verificare la licenza e premere su Aggiorna licenza.
In Home\Utenti inserire o importare gli utenti di accesso a Fluentis. E’ possibile cambiare anche l’utente di accesso ad Arm in Home\Connessioni\Utenti Arm o comunque aggiungerne degli altri.
Nel caso gli utenti vengano importati da Active Directory verificare che siano abilitati e che dispongano di un ruolo a cui sono associati dei permessi. Per poter fare questo passaggio il server deve essere a dominio.
Fatto ciò sarà possibile avviare il client Fluentis ed eseguire l’accesso utilizzando gli utenti configurati.
Aggiornamento patch Arm e Fluentis
Tenere aggiornato l’applicativo all’ultima patch è sempre buona norma. Solitamente le patch vengono rilasciate tra giovedì e venerdì.
L’installazione richiede un fermo macchina di 5-10 minuti in cui gli utenti devono uscire da Fluentis. Se il cliente su cui si aggiornano le patch ha delle dll personalizzate non è necessario compilare dopo averle installate però è consigliato. È consigliato anche installarle in test e testarle in modo che non abbiano impatto sulle personalizzazioni del cliente.
Per poter installare le patch partire da ARM. Selezionare il server e premendo sempre la freccia in alto selezionare UPDATE. Di default viene sempre proposta l’ultima patch, premere quindi nuovamente Update.
Upgrade aggiorna anche la versione se disponibile una successiva a quella installata!
Update completato.
Per Fluentis la cosa è identica.
In questi passaggi possono capitare 2 tipi di errori:
- Patch components not downloaded: in questo caso verificare da repository quando ha completato il download delle varie patch che mancano. Le scarica stando aperto il LiveUpdate in automatico.
- Cannot access file Fluentis.BizLink…: questo può capitare aggiornando le patch di Fluentis alla fine. In questo caso rilanciare l’aggiornamento delle patch e poi avviare manualmente il servizio di bizLink andando in servizi e cercare Fluentis BizLink Tool Service e avviarlo.
Aggiornamento di versione Arm e Fluentis
Prima di aggiornare Arm e Fluentis ci sono delle valutazioni che vanno fatte.
- L’aggiornamento di versione richiede un fermo macchina del cliente. Questo fermo può variare in base al numero di versioni che devono essere installate piuttosto che dall’hardware del server. Per questo motivo serve avere anche un ambiente di test in modo da capire la tempistica.
- Prima di aggiornare la versione nella produzione del cliente, aggiornare il test per evitare di bloccare il cliente per un tempo eccessivo e per risolvere eventuali errori. Se il cliente ha delle dll personalizzate (select * from arm.BLD_project restituisce almeno una riga) è obbligatorio fare un test prima. Se è standard è consigliato per i motivi detti sopra.
- Se un cliente ha dll personalizzate vanno compilate dopo l’aggiornamento per poi essere installate in produzione una volta testate.
- Fare sempre un backup del database prima dell’aggiornamento in produzione in modo da poter ritornare alla versione precedente in caso di necessità.
La procedura di aggiornamento di Arm è analoga a quella di Fluentis.
Selezionare l’Arm server e poi il cluster Fluentis. Premere Upgrade
Di default propone l’ultima versione
È possibile tramite il menù a tendina seleziona la versione desiderata purchè successiva a quella già installata. Una volta selezionata premere Upgrade.
Questo per Arm. Per Fluentis c’è anche la possibilità di scegliere se fare il backup del database tramite il LiveUpdate.
Se viene lasciato il backup, verrà fatto secondo le impostazioni del server sql nella cartella che è stata impostata nel Live Update.
Premere upgrade una volta scelto se fare o meno il backup. Se non viene fatto tramite il LiveUpdate va fatto manualmente da SQL Management Studio.
Per sapere se la versione si è installata correttamente, verificare che ci siano le solite due righe verdi e che nel riepilogo non ci siano errori.
Quando appare questa schermata la versione è stata installata correttamente. È quindi possibile avviare un client il quale si aggiornerà automaticamente.
Come verificare e correggere un errore di uno script in fase di aggiornamento
I possibili errori che possono capitare oltre a quelli visti in precedenza per le patch, sono errori sugli script della versione. Questi script possono essere aperti dalla repository e lanciati manualmente in modo da correggere con query l’errore e poi rilanciare l’aggiornamento di versione.
Eseguire una query per correggere un errore va a modificare i dati presenti nel database, è altamente sconsigliato eseguirle direttamente nel database di produzione, prima correggere in test e testare che tutto funzioni.
Prima di vedere l’errore è bene avere chiara come è fatta la repository e come vengono eseguiti gli script. Dentro la repository all’interno della cartella Fluentis2015 c’è tutto quello che serve alla versione per potersi aggiornare. C’è una cartella per ogni versione.
All’interno di essa ci sono le cartelle zippate che riguardano la versione e le cartelle non zippate che sono le patch. Se l’errore è in fase di patch andare quindi dentro la relativa patch e ci sarà una cartella chiamata DBScripts zippata al cui interno si trova un file .sql che andrà aperto e lanciato in modo da vedere l’errore in sql.
Per la versione invece bisogna entrare o unzippare la cartella DBScripts_xxx.zip. Qui gli script sono suddivisi per package. Ogni package servirà per identificare lo script che ha dato errore.
Quando è stato identificato il package con l’errore, lanciare dal prima script fino a quello che ha dato errore a mano seguendo l’ordine del nome del file. Nella foto sotto si parte dallo script 0001_xxx.sql fino a quello che ha appunto dato l’errore. Questo perché può capitare che gli script fatti prima servano a quello che ha dato l’errore. Altrimenti rischiamo di avere un altro errore.
Ecco un esempio di errore che può accadere in fase di aggiornamento:
Run DBScripts_539.zip on srv-003\FluentisDEV result: DB exception executing package [539099]Last on FluentisDEV: The DELETE statement conflicted with the REFERENCE constraint "FK_LOG_OperationObjects_OBJ_BusinessObjects". The conflict occurred in database "FluentisDEV", table "Arm.LOG_OperationObjects", column 'LOGOO_OBJ_Id'. Log: Start to execute package [539099]Last Start to execute step 0001_Database Changes.sql Success execute step 0001_Database Changes.sql, Duration: 0 mins, 9 seconds Start to execute step 0002_ArmTables.sql Success execute step 0002_ArmTables.sql, Duration: 0 mins, 0 seconds Start to execute step 0003_ProjRef.sql Success execute step 0003_ProjRef.sql, Duration: 0 mins, 7 seconds Start to execute step 0011_ArmData01.sql
Questo è il messaggio che si vede in LiveUpdate, il quale si sarà bloccato su questo passaggio.
Va scomposto per ricostruire il path per trovare lo script che da l’errore. All’inizio c’è la cartella con la versione su cui si trova lo script: Run DBScripts_539.zip.
Poi c’è il nome server su cui è installato il database\il nome del database: srv-003\FluentisDEV.
Poi possono esserci una serie di package eseguiti correttamente. Il package avente lo script che da l’errore è quello scritto dopo “DB exception executing package”. Così è possibile entrare nel package, in questo caso: [539099]Last.
Come detto in precedenza si parte lanciando il primo script del package. In questo caso: 001_Database Changes.sql e così via fino a quello incriminato. Quindi quando verrà lanciato questo: 0011_ArmData01.sql ci comparirà l’errore:
“The DELETE statement conflicted with the REFERENCE constraint "FK_LOG_OperationObjects_OBJ_BusinessObjects". The conflict occurred in database "FluentisDEV", table "Arm.LOG_OperationObjects", column 'LOGOO_OBJ_Id'”.
Verificare che sia lo stesso dato dal LiveUpdate.
Da sql facendo doppio click sull’errore possiamo risalire alla riga dello script che ha dato l’errore.
In questo caso: DELETE FROM [Arm].[OBJ_BusinessObjects] WHERE [OBJ_Id]=2599
Eseguendo quello script vediamo l’errore e sarà possibile di conseguenza correggere. In questo caso queste sono state le query eseguite:
delete from Arm.OBJ_BusinessObjectRights where OBJR_OBJ_Id=2599
delete from Arm.GEN_WcfModuleServiceEntities where MODSE_OBJ_Id=2599
delete from Arm.OBJ_BusinessObjectParameters where OBJP_OBJ_Id=2599
delete from Arm.GEN_Rights where RIGHT_OBJ_Id=2599
delete from Arm.OBJ_BusinessObjectProperties where OBJPROP_OBJ_Id=2599
delete from Arm.OBJ_BusinessObjectProperties where OBJPROP_Type_OBJ_Id=2599
delete from Arm.LOG_OperationObjects where LOGOO_OBJ_Id=2599
Una volta eseguiti tutti gli script, eseguire la delete e verificare che vada a buon fine. (In questo caso ogni delete è stata provata la delete dello script in modo da capire lo step successivo).
Qui è stato riportato un esempio. Va visto poi caso per caso il problema e soprattutto, dopo aver eseguito lo script per correggere l’errore, una volta terminato l’aggiornamento va testato il corretto funzionamento di Fluentis.
Conclusione
In questa guida è stato illustrato come procedere all’aggiornamento di Fluentis e Arm, e anche come correggere i possibili errori. Se non si ha esperienza con sql o si hanno dubbi contattare sempre l’assistenza di Fluentis per evitare che correggendo un errore se ne creino altri.