Jump to: navigation, search

EDI, the next generation

Revision as of 18:35, 3 November 2014 by Fabio (Talk | contribs)

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

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>