In questo articolo imparerete come configurare Web.UP per accedere ai file della rete aziendale, come scaricarli, visualizzarli, uploadarli come se si stessa lavorando in locale.

Funzionamento generale

La differenza fondamentale tra Web.UP e Looc.UP nel  processo di gestione file è che, mentre Looc.UP fa riferimento al proprio sistema operativo (quindi è possibile  accedere solo ai file che ci sono nel proprio PC o a quelli forniti dalla rete LAN), Web.UP  fa riferimento a Sme.UP Provider, quindi ai file e alle cartelle “visibili” da Sme.UP Provider

L’immagine a seguire rappresenta in modo astratto il percorso dei file quando si ha una richiesta da parte del browser:

Il browser fa una richiesta di file a Web.UP, e Web.UP a sua volta chiede i file al Provider, che deve essere configurato in modo da fornire i file prendendole dal percorso relativo a se stesso

Configurazione

Alla luce di quanto detto, è necessario configurare Sme.UP Provider in modo che esso fornisca i file in modo corretto e in sicurezza.

Questa sicurezza è garantita da due livelli di autorizzazione:

  • Autorizzazione di Sistema Operativo (Windows): l’utente Windows con cui gira Sme.UP Provider (definito nei parametri di configurazione e avvio) deve avere accesso, dalla macchina in cui gira Sme.UP Provider, ai file che si vogliono gestire.
  • White List applicativa: sono gestibili solo i file contenuti in cartelle esplicitamente definite come “condivise”. La lista di queste cartelle è definita nel membro SCP_CLO dell’utente AS400 dedicato a Sme.UP Provider, impostando la variabile  PROVIDER_PATHS che si occupa di “filtrare” i percorsi. Questo percorsi devono essere relativi alla macchina Windows su cui gira Sme.UP Provider

esempio: percorso locale:     c:\\cartella\clienti\nome file

esempio: percorso di rete:    \\cartella\clienti \nome file

* In PROVIDER_PATHS è importante che siano presenti i percorsi [*TMP] e [*APPDATA] che determinano la possibilità per il provider di avere accesso a cartelle di servizio necessarie per l’upload dei file e la loro gestione.
Ad esempio quando deve essere eseguito l’upload di un file, tale file deve essere prima caricato nella cartella temporanea ([*TMP]) e poi spostato nella destinazione specificata. Se il provider non ha accesso alla cartella temporanea diventa impossibile caricare i file.

Per approfondimenti consultare wikidoc: http://wikidoc.smeup.com/Wiki.jsp?page=MBDOC-LOCBAS_SPI

Schede di esempio di gestione dei file

Nella distribuzione standard di Sme.UP V5R1 sono presenti le schede per la gestione dei file via web.
Per utilizzarle il modo migliere è consultare lo ShowCase. Accedendo allo Showcase di Web.UP  nella sezione “Menu di Demo” > “Funzioni generali” troviamo la voce Gestione File, che contiene una serie di esempi  per quanto riguarda la visualizzazione  e le informazioni dei file.

Vediamo alcuni esempi

1) Prendiamo  “J1PATHFILE – visualizzazione”

Come possiamo notare dallo script, la FUN in questo caso richiama la scheda dell’oggetto J1PATHFILE e ci permette visualizzare il contenuto del file richiamanto la sottoscheda 4(;;VIS).

2) La sottoscheda INFO permette di vedere una anteprima del file e le sue proprietà:

3) Per visualizzare il contenuto di una cartella bisogna fare rifermento all’oggetto J1PATHDIR, come nell’esempio che segue:

4) Nell’esempio “Template gestione file”, la sottoscheda fornisce un ‘template’ che può essere copiato e utilizzato  quando il richiamo alla scheda oggetto J1PATHDIR risulta essere troppo generica e poco personalizzabile.

  • Prendendo spunto dallo script, possiamo vedere come listare il contenuto della cartella in una matrice:
::G.SUB.MAT Tit="Contenuto" Id="MAT"

::G.SET.MAT Columns="DELETE|DOWNLOAD|VIEW|PRW|C02|C06|C05" Formulas="DELETE;;T(Delete)B(Yes)E(F(INT;JA_00_05;DEL) 1(J1;PATHFILE;[C02]) NOTIFY(MAT));256;5;J4BTN|DOWNLOAD;;T()I(VO;COD_VER;000023)E(F(OPN;PATH;) 1(J1;[C04];[C02]));256;5;J4BTN|VIEW;;T(Visualizza)B(Yes)E(F(EXD;*SCO;) 1(J1;[C04];[C02]) 4(;;VIS));256;5;J4BTN"

::G.DIN When="Click" Exec="F(EXD;*SCO;) 1(J1;PATHDIR;[C02]) 2(MB;SCP_SCH;&OG.K2) 4(;;DIRTMPL)" Enabled="{[C04] EQ PATHDIR}"
::G.DIN When="Click" Exec="F(EXD;*SCO;) 1(J1;PATHFILE;[C02]) 4(;;VIS)" Enabled="{[C04] EQ PATHFILE}"
::D.FUN.STD F(EXB;JA_00_05;LIS.ALL) 1(J1;PATHDIR;&PA.PATH) P(DET(SI) ShwDi(1) Filt(*) SYS(SI) RIS(*NO) )
  • Per scaricare un file è sufficiente lanciare la fun F(OPN;PATH;) 1(J1;PATHFILE;<percorso>) aggiungendola ai consueti meccanismi di lancio e passaggio variabili, come i dinamismi o i bottoni. Nel esempio è stata aggiunta come bottone J4BTN nell’attributo Formulas.
  • Per eseguire l’upload di un file deve essere utilizzato il componente FLD come è stato fatto in questo esempio di template:
::G.SUB.FLD Tit="Upload file" 
::G.SET.FLD Type="Fup" Ext="FupCho(Upload)FupAut(true)" FilePath="&PA.PATH"

In questo caso il file viene copiato nella cartella specificata dal parametro FilePath.

I meccanismi di gestione di file e cartelle via web sono molto più di questi. Per una panoramica completa consultate esempi, documentazione e schede standard.

Fase di Verifica in caso di errori

Se non si riesce a scaricare un file da Web.UP, o per altri eventuali errori è necessario:

TEST 1: Collegarsi in desktop remoto sul server di Sme.UP Provider con l’utente windows che utilizza Sme.UP Provider ( esempio di utente windows: labsrv@smeup.com). Una volta connessi provare ad accedere al file, per verificarne la raggiugibilità. Eventualmente testare i permessi di scrittura della cartella creando un nuovo file.

*Se questo test ha esito negativo, il problema è la configurazione delle rete e dei permessi di sistema operativo windows.

TEST 2: Dal desktop remoto aprire il browser e dalla pagina di DEBUG che di default è (http(s)://localhost:9090/debug) verificare se è stata definita la variabile PROVIDER_PATHS (e i percorsi in essa definiti siano raggiungibili dal provider).

Si riporta un esempio di pagina di debug. Nel fondo è visibile il contenunto delle variabile PROVIDER_PATHS, costituito da percorsi separati da “;”

*Se questo test ha esito negativo, il problema è la configurazione delle variabili, per cui è necessario rifersi alla documentazione relativa al file SCP_CLO, impostare la variabile e RIAVVIARE il Provider.

TEST 3: Da Web.UP lanciare la FUN  F(OPN;PATH;) 1(J1;PATHFILE;<percorso>) , passando il percorso completo del file che si vuole scaricare.

*Se questo test ha esito negativo, mentre gli i precedenti sono positivi, eseguire il test 4. 

TEST 4:  Nel caso in cui il provider è installato come servizio su un server windows 2008, fermarlo e riavviarlo in modo interattivo usando il file ServiceTest.bat (nella cartella di istallazione)

Fatto questo ripetere il TEST 3. Se in modalità interattiva il file viene scaricato, sarà necessario abbandonare la modalità “servizio” e schedulare avvii e spegnimenti del provider con i file start_server.cmd e stop_server.cmd (opportunamente configurati) presenti nella cartella LOOCUP_SCP

*Se anche questo test ha esito negativo, è necessario raccogliere i log e i messaggi d’errore e contattare il proprio referente.