EDI, the next generation
EDI sta subendo una riscrittura con contestuale reingegnerizzazione. La nuova architettura prevede in particolare:
- un HTML molto più snello
- il parsing del template in Javascript, direttamente nel browser
PRO | CON |
---|---|
Riduzione drastica del payload verso l'editor => pagine molto più rapide da caricare | |
Possibilità di salvare template anche fuori dal repository EDI, in particolare anche in locale | |
Come conseguenza del precedente PRO, possibilità di accedere a backend diversi da EDI |
In occasione della riscrittura l'idea è di reingegnerizzare completamente lo schema dei template, arricchendolo e razionalizzandolo. In particolare:
- arricchendo la sezione setting, in modo da implementare un setting endpoint ed, eventualmente, un tee-endpoint, volto ad esempio al triggering di azioni consequenziali al post (ad es. aggiornamento del catalogo RDF a partire dall'EDIML ricevuto)
- razionalizzando i tag in ottica di risparmio di payload (ad es. hasDatatype può ammettere una short form datatype con un risparmio di 6 byte/item)
- razionalizzando ed arricchendo il parco dei datatype secondo le dimensioni chiarezza semantica e nuove necessità, ad esempio:
- aggiungendo tag opzionali, ad es.:
- source in item con datatype='code' permetterebbe di alimentare le combo con dati provenienti da codelist residenti su endpoint diversi da quello di default
- adapter, sempre in item con datatype='code', permetterebbe di gestire formati diversi di fruizione delle codelist
- aggiungendo tag opzionali, ad es.:
Qui di seguito una pagina ospite d'esempio:
<!DOCTYPE html> <html> <head> ... <script language="javascript"> function onTemplateLoaded(data) { console.log("fatto"); } $(document).ready(function() { edi.loadTemplate("RNDT", "2.00", onTemplateLoaded); }); </script> ... </head> <body> <div class="content-wrap"> <div class="container"> <h1>RITMARE EDI <span id="template-version"></span></h1> <script> var elements = []; </script> <div class="row"> <div class="span3 bs-docs-sidebar"> <ul class="nav nav-list bs-docs-sidenav" id="myTab"> </ul> </div> <article class="span8" id="mdcontent"> <div id="theForm"> </div> </article> </div> </div> <div id="debug"> </div> </div> </body> </html>