In questo breve articolo andremo a parlare di risorse associate ad un oggetto Sme.UP e alle modalità di gestione offerte dall’utility K09.

Introduzione

Dato per assodato che voi tutti sappiate cosa sia un oggetto all’interno del gestionale Sme.UP e cosa si intende quando si parla di parametri e attributi associati ad un oggetto, la definizione di risorsa è abbastanza semplice. La risorsa è sostanzialmente un oggetto di tipo file in qualche modo legata ad un oggetto gestionale.

Un esempio “telefonico” chiarirà meglio la cosa: pensiamo un attimo ai nostri smartphone e alla loro rubrica contatti. Nei moderni telefonini la rubrica è diventata una sorta di raccoglitore di informazioni legate ad uno specifico utente. Permette di registrare informazioni di anagrafica, come il nome, il numero di telefono, l’indirizzo di casa e la sua mail. Queste sono informazioni specifiche dell’oggetto “contatto” e sono le classiche informazioni che l’utilizzatore del telefono si aspetta di trovare all’interno di una rubrica telefonica (seppur estesa come quella dei moderni dispositivi). Ci sono però informazioni che per la loro natura non sono direttamente riconducibili ad un contatto: ad esempio, in molti smartphone è possibile associare una suoneria specifica ad uno specifico contatto o gruppo di contatti. Questo tipo di legame non è un legame di anagrafica, nessuno di noi ha nella vita una suoneria dedicata però, in quel specifico contesto, alla nostra identità viene associato un file specifico che è appunto il file audio che conterrà una suoneria.

Il legame tra oggetto e risorsa esterna è più debole rispetto ad un legame di anagrafica (oggetto e attributo oppure oggetto e parametro). Questo comporta alcune limitazioni: una risorsa esterna non può essere utilizzata all’interno di una ricerca, nel senso che dato un oggetto gestionale è possibile in ogni momento sapere quali sono le risorse ad esso associate ma data una risorsa esterna non è possibile identificare gli oggetti gestionali a cui è stata associata. Inoltre il legame oggetto-risorsa ha un livello fisico ben preciso, nel senso che il legame esiste fino a quando il file di risorsa esiste. Non è quindi garantita l’integrità referenziale e può succedere che un oggetto sia associato ad un file di risorsa che nel frattempo è stato cancellato o spostato in una locazione diversa da quella inizialmente registrata.

Le risorse esterne in Sme.UP

Vediamo nello specifico come vengono gestite le risorse esterne all’interno del gestionale Sme.UP.  Ogni oggetto, qualsiasi sia la sua natura, può essere legato a risorse esterne classificabili in tre diverse categorie:

  1. Immagine: è forse la risorsa più ovvia. E’ l’immagine associata ad un oggetto, identificata dalla locazione fisica di un file di tipo immagine. L’immagine è l’unica risorsa esterna obbligatoria per tutti gli oggetti ed in ogni momento il gestionale deve essere in grado di associare una immagine ad un oggetto.
  2. Folder: ad ogni oggetto gestionale è associata una cartella in cui potranno essere salvate tutte le risorse esterne diverse dall’immagine principale. L’idea di base è di non creare una serie di legami oggetto-risorsa ma di fornire una cartella fisica in cui salvare tutti i file di risorsa associabili in qualche modo ad un oggetto. Per la sua natura questa cartella può contenere file di tipo eterogeneo e, a differenza dell’immagine principale, non è obbligatoria.
  3. Preview: è un file che rappresenta l’oggetto nella sua essenza, il tipo può variare a seconda della natura dell’oggetto a cui viene associata. Ad esempio, per un oggetto fattura la sua preview potrebbe essere un file PDF che contiene la scansione fisica del documento, per un documento didattico potrebbe essere il link ad un video Youtube e così via. La preview deve essere definita per tutti gli oggetti, nel caso non sia definita viene associata per default l’immagine dell’oggetto.

La classificazione delle risorse esterne mi permette di rispondere alla domanda “cosa cerco?”. C’è però un’altra domanda fondamentale per definire il processo di ricerca ed è “dove cerco?”. A questo scopo esistono in Sme.UP i concetti di strato risalita per le risorse.

  • Strato: identifica il contesto applicativo dei legami a risorse esterne. Uno stesso legame tra oggetto e risorsa esterna può avere impostazioni diverse a seconda dello strato applicativo di riferimento. Il gestionale Sme.UP nella sua forma base definisce alcuni legami oggetto-risorsa predefiniti: in fase di installazione è però possibile sovrascrivere questi legami con una impostazione diversa, specifica per uno specifico contesto. Ad esempio perché si vuole che nell’ambito di una specifica installazione le risorse associate ad un oggetto siano diverse da quelle previste per default dal gestionale. Questo viene fatto non modificando le impostazioni di default del gestionale ma creando un nuovo legame oggetto-risorsa in uno strato di livello superiore. La ricerca dei legami di risorsa avviene con un meccanismo di risalita per strati: si parte dallo strato di livello superiore e se non si trova l’informazione cercata si cerca man mano negli strati di livello inferiore. Nella gestione risorse esterne di Sme.UP sono 4 gli strati predefiniti (elencati in ordine di livello crescente):
    1. STD: risorse di default
    2. 001: risorse specifiche per installazione cliente
    3. 002: risorse specifiche per gruppo aziende
    4. 003: risorse specifiche per singola azienda
  • Risalita per tipologia oggetto: oltre all’informazione di contesto esiste anche un meccanismo di risalita legato alla tipologia dell’oggetto gestionale. La risalita per oggetto, concetto ben noto in Sme.UP, è un meccanismo molto importante perché consente di ridurre al minimo indispensabile le definizioni di legami oggetto-risorsa da creare. I legami oggetto-risorsa vengono prima cercati per la specifica istanza di un oggetto e se non trovati viene attivato un processo di risalita che consente di individuare la stessa informazione ad un livello più alto nella gerarchia oggetti.  Per alcuni oggetti (tipo gli articoli o i contatti) può aver senso definire risorse specifiche per istanza di oggetto, per altri invece non sarà necessario definire legami in dettaglio ma ci si potrà affidare al meccanismo di risalita.

Qualche dettaglio tecnico in più

L’utility che all’interno di Sme.UP si occupa della gestione delle risorse per oggetto è denominata K09. Nella documentazione applicativa di questa utility (reperibile qui) potranno essere trovati i dettagli su come definire i legami di risorsa, strati e risalite. In questo articolo ci limiteremo a vedere solo alcuni concetti di base utili a capire i meccanismi di base.

La configurazione dell’utility K09 è definita all’interno di due membri del file SCP_SET, chiamati rispettivamente K09_STD e K09_PER. Il primo script, K09_STD, contiene le impostazioni di default e di norma non deve essere modificato. Le configurazioni personalizzate devono pertanto essere create modificando il solo membro K09_PER che sostituisce ed integra le informazioni definite nello script standard K09_STD.

La logica che sta dietro la costruzione di uno script può essere riassunta nei seguenti punti:

  1. Lo script di configurazione contiene una lista di sezioni
  2. Ogni sezione è associata ad un tipo oggetto
  3. Dato uno specifico oggetto, nello script viene cercata per prima la sezione corrispondente. Se non trovata subentra un meccanismo di risalita che cerca le sezioni degli oggetti di gerarchia superiore. E’ questo il momento in cui viene implementata la “risalita per tipologia oggetto” di cui si è parlato nel paragrafo precedente.
  4. All’interno della singola sezione vengono definite immagine, cartella e preview dell’oggetto (o classe di oggetti), attraverso la valorizzazione di specifiche variabili.
  5. Per valorizzare le singole variabili di sezione si può far riferimento a variabili predefinite che rappresentano gli strati. Ad esempio, esistono 4 variabili chiamate IMG.STD, IMG.001, IMG.002 e IMG.003 che rappresentano il path fisico in cui cercare le immagini in funzione dello strato voluto. Quindi se ad un oggetto si vuole associare una immagine specifica per azienda (strato 003) basterà valorizzare la corrispondente variabile di sezione usando come prefisso la variabile IMG.003. Cosi come esistono le quattro variabili di strato per IMG (immagine), esisteranno i corrispondenti set di variabili di strato predefinite anche per FLR (folder) e PRW (preview).

Per gli scopi di questo documento non serve spingersi oltre, per maggiori dettagli tecnici sulla configurazione di uno script di risorsa si può far riferimento allo script K09_PER che nella sua intestazione contiene una serie di informazioni tecniche di dettaglio oltre ad esempi concreti di configurazione.

Gestione delle risorse oggetto in Sme.UP

All’interno di Sme.UP, la gestione delle risorse associate ad un oggetto può essere effettuata direttamente nella scheda oggetto, nella sezione denominata “INFO”. In questa sezione è possibile gestire in un solo punto tutte le risorse associate all’oggetto e definire meccanismi di risalita e strati. Inoltre, all’interno della sottosezione “Analisi impostazione” è possibile avere un resoconto dettagliato delle impostazioni correnti e una serie di informazioni che aiutano a capire come si è arrivati a identificare le risorse associate all’oggetto (ad esempio, i percorsi di ricerca seguiti per l’individuazione delle singole risorse).