Difference between revisions of "EDI, the next generation"
(Created page with "EDI sta subendo una riscrittura con contestuale reingegnerizzazione. La nuova architettura prevede in particolare: * un HTML molto più snello * il parsing del template in Jav...") |
m |
||
Line 22: | Line 22: | ||
*** ''source'' in item con datatype='code' permetterebbe di alimentare le ''combo'' con dati provenienti da codelist residenti su endpoint diversi da quello di default | *** ''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 | *** ''adapter'', sempre in item con datatype='code', permetterebbe di gestire formati diversi di fruizione delle codelist | ||
+ | Qui di seguito una pagina ''ospite'' d'esempio: | ||
+ | <syntaxhighlight lang="html5"> | ||
+ | <!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> | ||
+ | </syntaxhighlight> |
Revision as of 18:35, 3 November 2014
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>