Jump to: navigation, search

Difference between revisions of "EDI, the next generation"

m
Line 1: Line 1:
EDI sta subendo una riscrittura con contestuale reingegnerizzazione.
+
EDI is currently being rewritten and re-engineered.
La nuova architettura prevede in particolare:
+
The new architecture brings in, among other things:
* un HTML molto più snello
+
* much lighter HTML code
* il parsing del template in Javascript, direttamente nel browser
+
* Javascript parsing of templates, directly on the browser
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! PRO !! CON
 
! PRO !! CON
 
|-
 
|-
| Riduzione drastica del payload verso l'editor => pagine molto più rapide da caricare ||
+
| Dramatic reduction of the payload between back-end and editor => pages load much faster ||
 
|-
 
|-
| Possibilità di salvare template anche fuori dal repository EDI, in particolare anche in locale ||
+
| Templates can now be saved outside EDI's repository, specifically local to the browser ||
 
|-
 
|-
| Come conseguenza del precedente ''PRO'', possibilità di accedere a backend diversi da EDI ||
+
| As a conseguenze of the previous PRO, it is now possible to access back-ends other than EDI's official one ||
 
|}
 
|}
+
 
In occasione della riscrittura l'idea è di reingegnerizzare completamente lo schema dei template, arricchendolo e razionalizzandolo.
+
During this rewriting, plan is to completely re-engineer the metadata template schema, by improving and rationalising it.
In particolare:
+
In particular:
* 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)
+
* by improving the "settings" section, so as to implement an ''endpoint'' and possibly a ''tee-endpoint'' tag, in order to trigger actions upon post (e.g. updating the RDF catalogue with the new EDIML)
* 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)
+
* by rationalising tags from a payload saving point of view (e.g.: ''hasDatatype'' will have a short form of "datatype", thereby saving 6 bytes per item
* razionalizzando ed arricchendo il parco dei ''datatype'' secondo le dimensioni ''chiarezza semantica'' e ''nuove necessità'', ad esempio:
+
* by rationalising and extending the set of available ''datatype''s along the ''semantic clarity'' and ''new requirements'' dimensions, e.g.
** aggiungendo tag opzionali, ad es.:
+
** by including new optional tags, like
*** ''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 items with datatype='code', will enable the feeding of ''combo boxes'' with data from code lists provided by endpoints other than the default one
*** ''adapter'', sempre in item con datatype='code', permetterebbe di gestire formati diversi di fruizione delle codelist
+
*** ''adapter'', again in times with datatype='code', will enable customisable code list formats
Qui di seguito una pagina ''ospite'' d'esempio:
+
Following is an example ''host'' page:
 
<syntaxhighlight lang="html5" highlight="9">
 
<syntaxhighlight lang="html5" highlight="9">
 
<html>
 
<html>

Revision as of 13:48, 11 November 2014

EDI is currently being rewritten and re-engineered. The new architecture brings in, among other things:

  • much lighter HTML code
  • Javascript parsing of templates, directly on the browser
PRO CON
Dramatic reduction of the payload between back-end and editor => pages load much faster
Templates can now be saved outside EDI's repository, specifically local to the browser
As a conseguenze of the previous PRO, it is now possible to access back-ends other than EDI's official one

During this rewriting, plan is to completely re-engineer the metadata template schema, by improving and rationalising it. In particular:

  • by improving the "settings" section, so as to implement an endpoint and possibly a tee-endpoint tag, in order to trigger actions upon post (e.g. updating the RDF catalogue with the new EDIML)
  • by rationalising tags from a payload saving point of view (e.g.: hasDatatype will have a short form of "datatype", thereby saving 6 bytes per item
  • by rationalising and extending the set of available datatypes along the semantic clarity and new requirements dimensions, e.g.
    • by including new optional tags, like
      • source, in items with datatype='code', will enable the feeding of combo boxes with data from code lists provided by endpoints other than the default one
      • adapter, again in times with datatype='code', will enable customisable code list formats

Following is an example host page:

<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>