Buongiorno, sto sviluppando un pilot di CMDB utilizzando il vostro prodotto. Avrei bisogno del vostro supporto per chiarire un dubbio sorto nella fase di implementazione - definizione delle classi e referenziazione. Ambito: definizione di un dominio. Nella definizione di un dominio si indicano le classi di origine e destinazione ma non sembra possibile definire su quale attributo (presente nelle 2 classi) si basi la relazione - definizione della chiave esterna. Dai test che ho fatto sembra che l'applicazione utilizzi sempre il campo "description" per linkare le classi: è possibile in qualche modo modificare questo comportamento (esempio: il dominio tra le classi "country" e "cliente" dovrebbe basarsi sull'attributo "country_code"). Grazie
Gli attributi di tipo "reference" basati su un "dominio" 1:N corrispondono in linea di massima a delle "foreign key".
Dal punto di vista strutturale, come per le "foreign key", la relazione è fra coppie di tabelle e non fra coppie di attributi.
Dal punto di vista dell'interfaccia utente è invece vero che, dovendo selezionare un valore dalla tabella collegata tramite l'attributo "Reference", CMDBuild visualizza in modo "obbligato" il contenuto dell'attributo "Description".
Fra le attività previste per i prossimi rilasci rientra, a questo proposito, quella di introdurre il concetto di attributo "calcolabile" come combinazione di altri attributi / costanti a scelta, il che consentirebbe di associare dinamicamente al campo "Description" il contenuto più appropriato (nella sua situazione potrebbe quindi ad esempio visualizzare il contenuto di "country_code").
In attesa di quella estensione, un workaround utilizzabile (con tutte le precauzioni del caso, non è essendo una "buona pratica" operare direttamente sul DB di CMDBuild) è quello di escludere l'attributo "Description" dagli attributi visualizzati sulla form ed utilizzarlo solo per la gestione del "Reference", componendolo in automatico nella forma voluta tramite definizione di un trigger nel database PostgreSQL.
Fabio