diff --git a/200.html b/200.html
index 079c258..e00a22f 100644
--- a/200.html
+++ b/200.html
@@ -26,6 +26,6 @@
     We started to capture this information in a simple payload specification and just like in the introducing language example where you can use phrases via phone, letter or in person, the payload is meant to be sent over different protocols (REST, MQTT, AMQP). This payload is the Production Performance Management Protocol (<i>PPMP</i>).
     <div class="card is-pulled-left"><div class="card-image"><figure class="image"><img src="images/eclipse-426x100.png" alt="Eclipse logo" title="Eclipse logo"></figure></div></div><p>
     In order to, first, leverage the Eclipse IoT stack in Industry 4.0 scenarios and, second, build a lively community around the specification, we consider the Eclipse iot working group as the premier place to host Unide. 
-    </div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_index.7d76ce931d19b81f54ec.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_index.7d76ce931d19b81f54ec.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/article/index.html b/article/index.html
index 16c322d..93c57b4 100644
--- a/article/index.html
+++ b/article/index.html
@@ -48,6 +48,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.f070ac13877c06c6613f.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.c3962dfffcd1bf941ce3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2016/9/12/Unide-proposal-online/index.html b/blog/2016/9/12/Unide-proposal-online/index.html
index bb9637e..25a9660 100644
--- a/blog/2016/9/12/Unide-proposal-online/index.html
+++ b/blog/2016/9/12/Unide-proposal-online/index.html
@@ -64,6 +64,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Unide-proposal-online",content:'<p>We\'re happy to announce, that the proposal for our new Eclipse Project is online! You can find it at <a href="https://projects.eclipse.org/proposals/unide">https://projects.eclipse.org/proposals/unide</a>. For further discussions, there\'s the <a href="https://www.eclipse.org/forums/index.php/t/1080186/">forum post</a> as well.<br>\nNow, it\'s time to study all details about Eclipse processes and <a href="https://eclipse.org/legal/eplfaq.php#3RDPARTY">license regulations</a>.</p>\n<div class="card">\n\t<header class="card-header is-primary">\n\t\t<p class="card-header-title"><i class="fa fa-pencil">&nbsp;</i>Did you know?</p>\n\t</header>\n\t<div class="card-content">\n\t\t<div class="content">\n\t\t\tThe projects name is derived from <b>un</b>derstand <b>i</b>ndustry <b>de</b>vices. Other ideas like <b>co</b>nnect <b>i</b>ndustry <b>ma</b>chines turned out to have meanings in foreign languages or being trademarked already.\n\t\t</div>\n\t</div>\n</div>\n',url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z",tags:["project start"],next:{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.f070ac13877c06c6613f.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Unide-proposal-online",content:'<p>We\'re happy to announce, that the proposal for our new Eclipse Project is online! You can find it at <a href="https://projects.eclipse.org/proposals/unide">https://projects.eclipse.org/proposals/unide</a>. For further discussions, there\'s the <a href="https://www.eclipse.org/forums/index.php/t/1080186/">forum post</a> as well.<br>\nNow, it\'s time to study all details about Eclipse processes and <a href="https://eclipse.org/legal/eplfaq.php#3RDPARTY">license regulations</a>.</p>\n<div class="card">\n\t<header class="card-header is-primary">\n\t\t<p class="card-header-title"><i class="fa fa-pencil">&nbsp;</i>Did you know?</p>\n\t</header>\n\t<div class="card-content">\n\t\t<div class="content">\n\t\t\tThe projects name is derived from <b>un</b>derstand <b>i</b>ndustry <b>de</b>vices. Other ideas like <b>co</b>nnect <b>i</b>ndustry <b>ma</b>chines turned out to have meanings in foreign languages or being trademarked already.\n\t\t</div>\n\t</div>\n</div>\n',url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z",tags:["project start"],next:{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.c3962dfffcd1bf941ce3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2016/9/12/index.html b/blog/2016/9/12/index.html
index 1a67021..44d7b03 100644
--- a/blog/2016/9/12/index.html
+++ b/blog/2016/9/12/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2016/9/16/Project-approved/index.html b/blog/2016/9/16/Project-approved/index.html
index 28fd4bc..b5793f9 100644
--- a/blog/2016/9/16/Project-approved/index.html
+++ b/blog/2016/9/16/Project-approved/index.html
@@ -61,6 +61,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Project-approved",content:'<p>Unide proposal has been approved to be an Eclipse Project! You can now find all relevant information at <a href="https://projects.eclipse.org/projects/iot.unide">https://projects.eclipse.org/projects/iot.unide</a>.</p>\n<p>There\'s still some paperwork pending, but it looks promising! Next steps are</p>\n<ul>\n<li>creating a proper homepage with relevant information and the PPMP specification</li>\n<li>license checking of initial commitment code.</li>\n<li>getting in touch with Eclipse community</li>\n<li>making plans for the upcoming months</li>\n</ul>\n<p>If you are interested in industry 4.0, IoT stack in manufacturing or you are building industry machines and want to find out more about the possiblities with PPMP, let us know: <a href="mailto:unide-inbox@eclipse.org?subject=Interested%20in%20contributing">unide-inbox@eclipse.org</a></p>\n',url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z",tags:["project start"],prev:{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online"},next:{url:"/blog/2016/9/21/Official-launch",title:"Official launch"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.f070ac13877c06c6613f.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Project-approved",content:'<p>Unide proposal has been approved to be an Eclipse Project! You can now find all relevant information at <a href="https://projects.eclipse.org/projects/iot.unide">https://projects.eclipse.org/projects/iot.unide</a>.</p>\n<p>There\'s still some paperwork pending, but it looks promising! Next steps are</p>\n<ul>\n<li>creating a proper homepage with relevant information and the PPMP specification</li>\n<li>license checking of initial commitment code.</li>\n<li>getting in touch with Eclipse community</li>\n<li>making plans for the upcoming months</li>\n</ul>\n<p>If you are interested in industry 4.0, IoT stack in manufacturing or you are building industry machines and want to find out more about the possiblities with PPMP, let us know: <a href="mailto:unide-inbox@eclipse.org?subject=Interested%20in%20contributing">unide-inbox@eclipse.org</a></p>\n',url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z",tags:["project start"],prev:{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online"},next:{url:"/blog/2016/9/21/Official-launch",title:"Official launch"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.c3962dfffcd1bf941ce3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2016/9/16/index.html b/blog/2016/9/16/index.html
index 79485d8..a2590ad 100644
--- a/blog/2016/9/16/index.html
+++ b/blog/2016/9/16/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2016/9/21/Official-launch/index.html b/blog/2016/9/21/Official-launch/index.html
index 397f3ba..c37db08 100644
--- a/blog/2016/9/21/Official-launch/index.html
+++ b/blog/2016/9/21/Official-launch/index.html
@@ -60,6 +60,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Official-launch",content:'<p>Today, we officially launch Unide. In the last days, we have redesigned the logo, published Blog posts and started work on the initial (code) contributions.<br>\nIt even seems like good timing, since there was a <a href="http://m.heise.de/newsticker/meldung/Umfrage-Unternehmen-fordern-offene-Plattform-fuer-die-Industrie-4-0-3327135.html">survey in Germany about open platforms &amp; standards in industry 4.0</a>, basically asking for something like Unide/PPMP.</p>\n<h3>the logo</h3>\n<p>Unide and PPMP\'s goal is to enable you to connect machines and receive their measurements / alerts. The logo represents that. It has you (&quot;<em>U</em>&quot;) highlighted and connects to rings. As a side note, we found that the words almost look like <em>you-nice</em>.</p>\n<h3>blog entries</h3>\n<p>If you are interested in further readings, check out the post at <a href="http://blog.bosch-si.com">blog.bosch-si.com</a>.</p>\n<h3>initial contributions</h3>\n<p>We are working on creating the initial contributions for Unide. Since there are a few legal aspects we have to consider, stay tuned. The code will be published to our <a href="https://github.com/eclipse/unide">github repository</a>.</p>\n',url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z",tags:["project start"],prev:{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved"},next:{url:"/blog/2016/9/27/News-coverage",title:"News Coverage"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.f070ac13877c06c6613f.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Official-launch",content:'<p>Today, we officially launch Unide. In the last days, we have redesigned the logo, published Blog posts and started work on the initial (code) contributions.<br>\nIt even seems like good timing, since there was a <a href="http://m.heise.de/newsticker/meldung/Umfrage-Unternehmen-fordern-offene-Plattform-fuer-die-Industrie-4-0-3327135.html">survey in Germany about open platforms &amp; standards in industry 4.0</a>, basically asking for something like Unide/PPMP.</p>\n<h3>the logo</h3>\n<p>Unide and PPMP\'s goal is to enable you to connect machines and receive their measurements / alerts. The logo represents that. It has you (&quot;<em>U</em>&quot;) highlighted and connects to rings. As a side note, we found that the words almost look like <em>you-nice</em>.</p>\n<h3>blog entries</h3>\n<p>If you are interested in further readings, check out the post at <a href="http://blog.bosch-si.com">blog.bosch-si.com</a>.</p>\n<h3>initial contributions</h3>\n<p>We are working on creating the initial contributions for Unide. Since there are a few legal aspects we have to consider, stay tuned. The code will be published to our <a href="https://github.com/eclipse/unide">github repository</a>.</p>\n',url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z",tags:["project start"],prev:{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved"},next:{url:"/blog/2016/9/27/News-coverage",title:"News Coverage"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.c3962dfffcd1bf941ce3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2016/9/21/index.html b/blog/2016/9/21/index.html
index 88a729c..ca053c4 100644
--- a/blog/2016/9/21/index.html
+++ b/blog/2016/9/21/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2016/9/27/News-coverage/index.html b/blog/2016/9/27/News-coverage/index.html
index b4d5d66..ad08c81 100644
--- a/blog/2016/9/27/News-coverage/index.html
+++ b/blog/2016/9/27/News-coverage/index.html
@@ -59,6 +59,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"News-coverage",content:'<p>After the <a href="/unide/2016/09/21/Official%20launch/">Official launch</a> of unide and PPMP, there was some media coverage about the project.</p>\n<p>Triggered by a statement by <a href="http://www.bosch.com/en/com/bosch_group/board_management/dr_rer_nat_volkmar_denner/volkmar-denner.html">Bosch CEO Volkmar Denner</a> on <em><a href="http://www.bosch-presse.de/pressportal/en/bosch-initiates-new-machine-language-for-industry-4-0-65216.html">&quot;initiating new machine language for Industry 4.0&quot;</a></em>, twitter, blogs and magazines mention PPMP, e.g.:</p>\n<ul>\n<li><a href="https://www.elektormagazine.com/news/free-ppmp-from-bosch-makes-industry-4-0-open-for-all">electormagazine</a></li>\n<li><a href="http://www.computer-automation.de/feldebene/vernetzung/artikel/134233/">computer-automation</a> (de)</li>\n</ul>\n<p>Looking forward to spreading the word further.</p>\n',url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z",tags:["media"],prev:{url:"/blog/2016/9/21/Official-launch",title:"Official launch"},next:{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.f070ac13877c06c6613f.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"News-coverage",content:'<p>After the <a href="/unide/2016/09/21/Official%20launch/">Official launch</a> of unide and PPMP, there was some media coverage about the project.</p>\n<p>Triggered by a statement by <a href="http://www.bosch.com/en/com/bosch_group/board_management/dr_rer_nat_volkmar_denner/volkmar-denner.html">Bosch CEO Volkmar Denner</a> on <em><a href="http://www.bosch-presse.de/pressportal/en/bosch-initiates-new-machine-language-for-industry-4-0-65216.html">&quot;initiating new machine language for Industry 4.0&quot;</a></em>, twitter, blogs and magazines mention PPMP, e.g.:</p>\n<ul>\n<li><a href="https://www.elektormagazine.com/news/free-ppmp-from-bosch-makes-industry-4-0-open-for-all">electormagazine</a></li>\n<li><a href="http://www.computer-automation.de/feldebene/vernetzung/artikel/134233/">computer-automation</a> (de)</li>\n</ul>\n<p>Looking forward to spreading the word further.</p>\n',url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z",tags:["media"],prev:{url:"/blog/2016/9/21/Official-launch",title:"Official launch"},next:{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.c3962dfffcd1bf941ce3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2016/9/27/index.html b/blog/2016/9/27/index.html
index 7055669..f40a3d9 100644
--- a/blog/2016/9/27/index.html
+++ b/blog/2016/9/27/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2016/9/index.html b/blog/2016/9/index.html
index 358b486..be930ed 100644
--- a/blog/2016/9/index.html
+++ b/blog/2016/9/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z"},{url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z"},{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z"},{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z"},{url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z"},{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z"},{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2016/index.html b/blog/2016/index.html
index f1bae14..f54aebc 100644
--- a/blog/2016/index.html
+++ b/blog/2016/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z"},{url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z"},{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z"},{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z"},{url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z"},{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z"},{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/10/19/i40-testbed-started/index.html b/blog/2017/10/19/i40-testbed-started/index.html
index 1b24fb4..ba354a5 100644
--- a/blog/2017/10/19/i40-testbed-started/index.html
+++ b/blog/2017/10/19/i40-testbed-started/index.html
@@ -55,6 +55,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"i40-testbed-started",content:'<p>The Eclipse IoT Working group has started another testbed around Production Performance Management. Together with other Eclipse projects but also manufacturing companies, we aim to showcase and test the software in real life scenarios.<br>\n<a href="https://www.contact-software.com">Contact Software</a>, <a href="https://www.eurotech.com">Eurotech</a> and <a href="https://www.eclipse.org/4diac/">Eclipse 4diac</a> provide bindings to actual machines, Unide and PPMP will be used for structuring and normalizing the information, <a href="https://projects.eclipse.org/projects/iot.hono">Ecipse Hono</a> and other provide the advanced infrastructure and <a href="https://www.influxdata.com/">influx data</a> persists the data.<br>\nYou can find more information in the <a href="https://eclipse.org/org/press-release/20171019_industry40_testbed.php">Press Release</a> or the <a href="https://iot.eclipse.org/testbeds/production-performance-management/#">homepage of the testbed</a>.</p>\n',url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z",tags:["testbed"],prev:{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published"},next:{url:"/blog/2018/1/26/New-website",title:"Updated Website"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.f070ac13877c06c6613f.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"i40-testbed-started",content:'<p>The Eclipse IoT Working group has started another testbed around Production Performance Management. Together with other Eclipse projects but also manufacturing companies, we aim to showcase and test the software in real life scenarios.<br>\n<a href="https://www.contact-software.com">Contact Software</a>, <a href="https://www.eurotech.com">Eurotech</a> and <a href="https://www.eclipse.org/4diac/">Eclipse 4diac</a> provide bindings to actual machines, Unide and PPMP will be used for structuring and normalizing the information, <a href="https://projects.eclipse.org/projects/iot.hono">Ecipse Hono</a> and other provide the advanced infrastructure and <a href="https://www.influxdata.com/">influx data</a> persists the data.<br>\nYou can find more information in the <a href="https://eclipse.org/org/press-release/20171019_industry40_testbed.php">Press Release</a> or the <a href="https://iot.eclipse.org/testbeds/production-performance-management/#">homepage of the testbed</a>.</p>\n',url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z",tags:["testbed"],prev:{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published"},next:{url:"/blog/2018/1/26/New-website",title:"Updated Website"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.c3962dfffcd1bf941ce3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/10/19/index.html b/blog/2017/10/19/index.html
index 55931c1..7e02a6f 100644
--- a/blog/2017/10/19/index.html
+++ b/blog/2017/10/19/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/10/6/DZone-article-published/index.html b/blog/2017/10/6/DZone-article-published/index.html
index 7081bbb..968072c 100644
--- a/blog/2017/10/6/DZone-article-published/index.html
+++ b/blog/2017/10/6/DZone-article-published/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"DZone-article-published",content:'<p>A new article about PPMP and the Eclipse Unide project was published at <a href="https://dzone.com/articles/eclipse-unide-a-way-to-establish-an-open-industry">DZone</a>!<br>\nIt explains how to use the <a href="https://www.eclipse.org/unide/2017/06/29/Validator-Online/">PPMP validator</a>, gives an overview of the InfluxDB / Grafana visualisation and how this setup can be used in an Eclipse Testbed.</p>\n',url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z",tags:["media"],prev:{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online"},next:{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.f070ac13877c06c6613f.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"DZone-article-published",content:'<p>A new article about PPMP and the Eclipse Unide project was published at <a href="https://dzone.com/articles/eclipse-unide-a-way-to-establish-an-open-industry">DZone</a>!<br>\nIt explains how to use the <a href="https://www.eclipse.org/unide/2017/06/29/Validator-Online/">PPMP validator</a>, gives an overview of the InfluxDB / Grafana visualisation and how this setup can be used in an Eclipse Testbed.</p>\n',url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z",tags:["media"],prev:{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online"},next:{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.c3962dfffcd1bf941ce3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/10/6/index.html b/blog/2017/10/6/index.html
index 45a1c61..a5067ed 100644
--- a/blog/2017/10/6/index.html
+++ b/blog/2017/10/6/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/10/index.html b/blog/2017/10/index.html
index 6830eae..a8b109a 100644
--- a/blog/2017/10/index.html
+++ b/blog/2017/10/index.html
@@ -58,6 +58,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"},{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"},{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/3/23/Unide-at-BCX/index.html b/blog/2017/3/23/Unide-at-BCX/index.html
index 98ee8d4..f443676 100644
--- a/blog/2017/3/23/Unide-at-BCX/index.html
+++ b/blog/2017/3/23/Unide-at-BCX/index.html
@@ -62,6 +62,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Unide-at-BCX",content:'<p>Unide and PPMP were used in <a href="http://bcw.bosch-si.com/berlin/bcw-hackathon/?refresh=1">Bosch Connected Experience Hackaton</a> by students and developers to connect sensors to backend solutions in just two days!<br>\nThey even took a professional video:</p>\n<center>\n<iframe width="400" height="300" src="https://www.youtube.com/embed/Pq88mIx-lnQ?ecver=1" frameborder="0" allowfullscreen></iframe>\n</center>\n<p>Also in the same conference, Bosch CEO Dr. Volkmar Denner <a href="http://bcw.bosch-si.com/berlin/bcw-hackathon/?refresh=1">refered to PPMP again</a>:</p>\n<blockquote>\n\t<p>On a more practical level, the product performance management protocol, or PPMP, is being tried out at the Bosch plant in Homburg, Germany, as part of a joint Industrie 4.0 and IIC testbed. Bosch itself developed the PPMP, which is available to all at no cost. It allows small and medium-sized enterprises to transmit data from their sensors quickly, simply, and securely to the production systems of large companies. This helps remove some of the obstacles preventing entry into connected manufacturing. This first practical experience will be used to further refine the new protocol – work which will be done by Eclipse, an open-source community. Once again, we see that openness is our life blood.</p>\n\t<footer>Dr. Volkmar Denner, Bosch CEO</footer>\n</blockquote>\n',url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z",tags:["media"],prev:{url:"/blog/2016/9/27/News-coverage",title:"News Coverage"},next:{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.f070ac13877c06c6613f.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Unide-at-BCX",content:'<p>Unide and PPMP were used in <a href="http://bcw.bosch-si.com/berlin/bcw-hackathon/?refresh=1">Bosch Connected Experience Hackaton</a> by students and developers to connect sensors to backend solutions in just two days!<br>\nThey even took a professional video:</p>\n<center>\n<iframe width="400" height="300" src="https://www.youtube.com/embed/Pq88mIx-lnQ?ecver=1" frameborder="0" allowfullscreen></iframe>\n</center>\n<p>Also in the same conference, Bosch CEO Dr. Volkmar Denner <a href="http://bcw.bosch-si.com/berlin/bcw-hackathon/?refresh=1">refered to PPMP again</a>:</p>\n<blockquote>\n\t<p>On a more practical level, the product performance management protocol, or PPMP, is being tried out at the Bosch plant in Homburg, Germany, as part of a joint Industrie 4.0 and IIC testbed. Bosch itself developed the PPMP, which is available to all at no cost. It allows small and medium-sized enterprises to transmit data from their sensors quickly, simply, and securely to the production systems of large companies. This helps remove some of the obstacles preventing entry into connected manufacturing. This first practical experience will be used to further refine the new protocol – work which will be done by Eclipse, an open-source community. Once again, we see that openness is our life blood.</p>\n\t<footer>Dr. Volkmar Denner, Bosch CEO</footer>\n</blockquote>\n',url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z",tags:["media"],prev:{url:"/blog/2016/9/27/News-coverage",title:"News Coverage"},next:{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.c3962dfffcd1bf941ce3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/3/23/index.html b/blog/2017/3/23/index.html
index 4227ddf..b00719e 100644
--- a/blog/2017/3/23/index.html
+++ b/blog/2017/3/23/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/3/index.html b/blog/2017/3/index.html
index 98d5c3f..2c7e2f6 100644
--- a/blog/2017/3/index.html
+++ b/blog/2017/3/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/6/1/New-process-message-spec/index.html b/blog/2017/6/1/New-process-message-spec/index.html
index f8a2b0a..f8b3a7b 100644
--- a/blog/2017/6/1/New-process-message-spec/index.html
+++ b/blog/2017/6/1/New-process-message-spec/index.html
@@ -53,6 +53,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"New-process-message-spec",content:'<p>We’re happy to announce, that the process message specification is online! You can find it at <a href="http://www.eclipse.org/unide/specification">http://www.eclipse.org/unide/specification</a>. With this type of messages you have a standard format for sending data out of discrete and possibly complex processes. <img src="/unide/images/processDataPayload.png" alt="alt text"></p>\n',url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z",tags:["process message"],prev:{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton"},next:{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.f070ac13877c06c6613f.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"New-process-message-spec",content:'<p>We’re happy to announce, that the process message specification is online! You can find it at <a href="http://www.eclipse.org/unide/specification">http://www.eclipse.org/unide/specification</a>. With this type of messages you have a standard format for sending data out of discrete and possibly complex processes. <img src="/unide/images/processDataPayload.png" alt="alt text"></p>\n',url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z",tags:["process message"],prev:{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton"},next:{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.c3962dfffcd1bf941ce3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/6/1/index.html b/blog/2017/6/1/index.html
index 2f22fdf..41aca6b 100644
--- a/blog/2017/6/1/index.html
+++ b/blog/2017/6/1/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/6/29/Validator-Online/index.html b/blog/2017/6/29/Validator-Online/index.html
index 2519336..147a55d 100644
--- a/blog/2017/6/29/Validator-Online/index.html
+++ b/blog/2017/6/29/Validator-Online/index.html
@@ -61,6 +61,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Validator-Online",content:"<p>Our first PPMP-Validator as a HTTP-server is online!</p>\n<p>What we already contribtuted as sourcecode to the Unide-project we've also installed on an eclipse sandbox server. Now you are able to validate your PPMP-messages through the internet without running the server on your local machine. The intention is to make the latest specification validator accessible to everyone at anytime.</p>\n<p>You can reach the server by sending POST-requests to the following endpoints:</p>\n<pre>\n<a>http://unide.eclipse.org/rest/v2/message?validate=true</a>\n<a>http://unide.eclipse.org/rest/v2/measurement?validate=true</a>\n<a>http://unide.eclipse.org/rest/v2/process?validate=true</a>\n</pre>\n<p>Further functions of the sandbox server will be also visualization and storaging of incoming PPMP-messages.</p>\n",url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z",tags:["validator"],prev:{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes"},next:{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.f070ac13877c06c6613f.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Validator-Online",content:"<p>Our first PPMP-Validator as a HTTP-server is online!</p>\n<p>What we already contribtuted as sourcecode to the Unide-project we've also installed on an eclipse sandbox server. Now you are able to validate your PPMP-messages through the internet without running the server on your local machine. The intention is to make the latest specification validator accessible to everyone at anytime.</p>\n<p>You can reach the server by sending POST-requests to the following endpoints:</p>\n<pre>\n<a>http://unide.eclipse.org/rest/v2/message?validate=true</a>\n<a>http://unide.eclipse.org/rest/v2/measurement?validate=true</a>\n<a>http://unide.eclipse.org/rest/v2/process?validate=true</a>\n</pre>\n<p>Further functions of the sandbox server will be also visualization and storaging of incoming PPMP-messages.</p>\n",url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z",tags:["validator"],prev:{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes"},next:{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.c3962dfffcd1bf941ce3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/6/29/index.html b/blog/2017/6/29/index.html
index b78e72a..1cfe1a2 100644
--- a/blog/2017/6/29/index.html
+++ b/blog/2017/6/29/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/6/index.html b/blog/2017/6/index.html
index 722301a..d7a3ff4 100644
--- a/blog/2017/6/index.html
+++ b/blog/2017/6/index.html
@@ -58,6 +58,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"},{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"},{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2017/index.html b/blog/2017/index.html
index 8ee7f93..f023ec2 100644
--- a/blog/2017/index.html
+++ b/blog/2017/index.html
@@ -70,6 +70,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"},{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"},{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"},{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"},{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"},{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"},{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"},{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"},{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2018/1/26/New-website/index.html b/blog/2018/1/26/New-website/index.html
index 79406f4..2962c78 100644
--- a/blog/2018/1/26/New-website/index.html
+++ b/blog/2018/1/26/New-website/index.html
@@ -18,7 +18,7 @@
     Updated Website
   </h1><h2 class="subtitle is-6"><i class="fa fa-calendar"></i>  
     01/26/18
-  </h2><div class="content"><div><p>It turned out that even with multiple reviews, it is possible to have small mistakes in the PPMP documentation. In order to avoid such contraditions between diagrams, specification, json-schema and eventual implementation, we decided to rework the project structure and fixed <a href="https://github.com/eclipse/unide/issues/21">the JSON Schemas</a>. The corresponding uml diagrams are generated with <a href="http://plantuml.com/">plantuml</a>. For even better understandibility, the attributes are sorted lexicographically.</p>
+  </h2><div class="content"><div><p>It turned out that even with multiple reviews, it is possible to have small mistakes in the PPMP documentation. In order to avoid such contradictions between diagrams, specification, json-schema and eventual implementation, we decided to rework the project structure and fixed <a href="https://github.com/eclipse/unide/issues/21">the JSON Schemas</a>. The corresponding uml diagrams are generated with <a href="http://plantuml.com/">plantuml</a>. For even better understandibility, the attributes are sorted lexicographically.</p>
 <p>Although the website has the same look, it is completely reworked as a <a href="https://en.wikipedia.org/wiki/Single-page_application">single-page application</a> to generate the specification directly from the json-schema. Instead of using <a href="https://hexo.io/">hexo</a> it is now based on <a href="https://nuxtjs.org/">nuxt.js</a>. <a href="https://vuejs.org/">Vue.js</a> as a basis for nuxt is also used in the <a href="https://github.com/eclipse/unide/tree/master/clients/binsa">new PPMP client application called binsa</a>.</p>
 </div></div><div class="columns pageNav"><div class="column"><a href="/unide/blog/2017/10/19/i40-testbed-started" class="button is-fullwidth"><span class="icon"><i class="fa fa-chevron-left"></i></span><span>Unide is part of Industry 4.0 Testbed</span></a></div><!----></div></div><div class="sidebar column is-3 is-offset-1"><div class="recentPosts"><h4 class="subtitle is-5">
     Recent Posts
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"New-website",content:'<p>It turned out that even with multiple reviews, it is possible to have small mistakes in the PPMP documentation. In order to avoid such contraditions between diagrams, specification, json-schema and eventual implementation, we decided to rework the project structure and fixed <a href="https://github.com/eclipse/unide/issues/21">the JSON Schemas</a>. The corresponding uml diagrams are generated with <a href="http://plantuml.com/">plantuml</a>. For even better understandibility, the attributes are sorted lexicographically.</p>\n<p>Although the website has the same look, it is completely reworked as a <a href="https://en.wikipedia.org/wiki/Single-page_application">single-page application</a> to generate the specification directly from the json-schema. Instead of using <a href="https://hexo.io/">hexo</a> it is now based on <a href="https://nuxtjs.org/">nuxt.js</a>. <a href="https://vuejs.org/">Vue.js</a> as a basis for nuxt is also used in the <a href="https://github.com/eclipse/unide/tree/master/clients/binsa">new PPMP client application called binsa</a>.</p>\n',url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z",tags:["media"],prev:{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.f070ac13877c06c6613f.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"New-website",content:'<p>It turned out that even with multiple reviews, it is possible to have small mistakes in the PPMP documentation. In order to avoid such contradictions between diagrams, specification, json-schema and eventual implementation, we decided to rework the project structure and fixed <a href="https://github.com/eclipse/unide/issues/21">the JSON Schemas</a>. The corresponding uml diagrams are generated with <a href="http://plantuml.com/">plantuml</a>. For even better understandibility, the attributes are sorted lexicographically.</p>\n<p>Although the website has the same look, it is completely reworked as a <a href="https://en.wikipedia.org/wiki/Single-page_application">single-page application</a> to generate the specification directly from the json-schema. Instead of using <a href="https://hexo.io/">hexo</a> it is now based on <a href="https://nuxtjs.org/">nuxt.js</a>. <a href="https://vuejs.org/">Vue.js</a> as a basis for nuxt is also used in the <a href="https://github.com/eclipse/unide/tree/master/clients/binsa">new PPMP client application called binsa</a>.</p>\n',url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z",tags:["media"],prev:{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_article.c3962dfffcd1bf941ce3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2018/1/26/index.html b/blog/2018/1/26/index.html
index a2b1ec0..bd981c4 100644
--- a/blog/2018/1/26/index.html
+++ b/blog/2018/1/26/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2018/1/index.html b/blog/2018/1/index.html
index 5eda131..b6a0287 100644
--- a/blog/2018/1/index.html
+++ b/blog/2018/1/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/2018/index.html b/blog/2018/index.html
index a924549..80af036 100644
--- a/blog/2018/index.html
+++ b/blog/2018/index.html
@@ -54,6 +54,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/blog/index.html b/blog/index.html
index f60db2e..b7b55c4 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -70,6 +70,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"},{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"},{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"},{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"},{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"},{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"},{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"},{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"},{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_blog.ea5f0fe0be9d3e3a0b59.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/faq/index.html b/faq/index.html
index 201f281..e760535 100644
--- a/faq/index.html
+++ b/faq/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_faq.d758f63c3c8612b5c9b5.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_faq.d758f63c3c8612b5c9b5.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/files/15.5bfe6db5931840f01489.js b/files/15.5bfe6db5931840f01489.js
deleted file mode 100644
index 2982181..0000000
--- a/files/15.5bfe6db5931840f01489.js
+++ /dev/null
@@ -1 +0,0 @@
-webpackJsonp([15],{rRyJ:function(e,t){e.exports={definitions:{device:{type:"object",description:"Contains information about the device",properties:{deviceID:{type:"string",description:"The unique ID of the device. As this is used to identify a device independently from time or location the ID itself must be stable and unique. The recommendation is to use a universally unique identifier (UUID).",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},operationalStatus:{type:"string",description:"The operationalStatus describes the status of a device. It is a string matching a definition in the Production Performance Manager"}},additionalProperties:!1,required:["deviceID"]},limit:{description:"Provides information about limits for data provided in the series element. The limits is an JSON object where the key is the name of a Measurement Point (see also series element) and the value is a structure of upper/lower limits",type:"object",patternProperties:{"^[^$].+":{oneOf:[{type:"object",description:"A constant limit for all corresponding measurements",properties:{lowerError:{description:"Indicates an error if this limit is underrun",type:"number"},lowerWarn:{description:"Indicates a warning if this limit is underrun",type:"number"},target:{description:"Indicates the intented target value of the measurement",type:"number"},upperError:{description:"Indicates an error if this limit is exceeded",type:"number"},upperWarn:{description:"Indicates a warning if this limit is exceeded",type:"number"}},additionalProperties:!1},{type:"object",description:"An array of limit values. The items of the array correspond to the respective measurements at the same position.",properties:{lowerError:{description:"Indicates an error if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},lowerWarn:{description:"Indicates a warning if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},target:{description:"Indicates the intented target values. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperError:{description:"Indicates an error if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperWarn:{description:"Indicates a warning if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}}},additionalProperties:!1}]}}}},type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://bosch.com/ppm/process-message#v2",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{deviceID:{type:"string",description:"The unique ID of the device. As this is used to identify a device independently from time or location the ID itself must be stable and unique. The recommendation is to use a universally unique identifier (UUID).",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},operationalStatus:{type:"string",description:"The operationalStatus describes the status of a device. It is a string matching a definition in the Production Performance Manager"}},additionalProperties:!1,required:["deviceID"]},part:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},partID:{type:"string",description:"Identifies a part. This ID comes from a 3rd party system and thus we have no guarantees if this is unique or not.",maxLength:256},partTypeID:{type:"string",description:"Identifies a part type",maxLength:256},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},type:{type:"string",enum:["SINGLE","BATCH"],description:"Describes the type of the part. Type SINGLE means a single item is processed. Type BATCH means multiple items of the same type are processed.",default:"SINGLE"}},required:[],additionalProperties:!1},process:{type:"object",description:"Contains information about the process. If the process JSON object is set, then all information in measurements are process phases",properties:{externalProcessId:{type:"string",description:"The process Id identifies the process as part of long living process. The process Id can be used to connect multiple processes in a manufacturing chain. The Id has to be set and tracked by the different devices in the chain.",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},program:{type:"object",description:"Contains information about the program that was used in the process.",properties:{id:{type:"string",description:"The ID of the program",maxLength:36},lastChangedDate:{type:"string",format:"date-time",description:"The date when the program was last changed"},name:{type:"string",description:"The name of the program",maxLength:256}},additionalProperties:!1,required:["id"]},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},shutoffPhase:{type:"string",description:"The ID of the phase that led to stop the process. The shutOffPhase is the phase of the process in which either pre-defined parameters are met to successfully finish the process or an error that stopped the process. That is not necessarily the last phase. The shutOffPhase should be sent when the last process phase is sent."},shutoffValues:{type:"object",description:"The shutoff values contain the values of the process that stopped the process. The shutoffValues is a JSON object where the key is the name of a Measurement Point (see also series element) and the value is a structure of different upper/lower limits and the actual value as described below.",patternProperties:{"^[^$].+":{type:"object",properties:{lowerError:{type:"number",description:"Indicates an error if this limit is underrun"},lowerWarn:{type:"number",description:"Indicates a warning if this limit is underrun"},target:{type:"number",description:"Indicates the intented target value of the measurement"},ts:{type:"string",format:"date-time",description:"Time of the measured value"},upperWarn:{type:"number",description:"Indicates a warning if this limit is exceeded"},upperError:{type:"number",description:"Indicates an error if this limit is exceeded"},value:{type:"number",description:"The final value of the process"}},additionalProperties:!1,required:["value"]}}},ts:{type:"string",format:"date-time",description:"Start time of the process"}},additionalProperties:!1,required:["ts"]},measurements:{type:"array",items:{type:"object",description:"Contains the different phases of the process. Each phase represents an execution step in the process and contains information about that specific execution step. All phases should be sorted by the timestamp of the phase.",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:36},limits:{description:"Provides information about limits for data provided in the series element. The limits is an JSON object where the key is the name of a Measurement Point (see also series element) and the value is a structure of upper/lower limits",type:"object",patternProperties:{"^[^$].+":{oneOf:[{type:"object",description:"A constant limit for all corresponding measurements",properties:{lowerError:{description:"Indicates an error if this limit is underrun",type:"number"},lowerWarn:{description:"Indicates a warning if this limit is underrun",type:"number"},target:{description:"Indicates the intented target value of the measurement",type:"number"},upperError:{description:"Indicates an error if this limit is exceeded",type:"number"},upperWarn:{description:"Indicates a warning if this limit is exceeded",type:"number"}},additionalProperties:!1},{type:"object",description:"An array of limit values. The items of the array correspond to the respective measurements at the same position.",properties:{lowerError:{description:"Indicates an error if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},lowerWarn:{description:"Indicates a warning if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},target:{description:"Indicates the intented target values. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperError:{description:"Indicates an error if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperWarn:{description:"Indicates a warning if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}}},additionalProperties:!1}]}}},name:{type:"string",description:"The name of the process phase",maxLength:256},phase:{type:"string",description:"The id of the process phase",maxLength:256},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},specialValues:{type:"array",items:{type:"object",description:"Provides information about special or interesting values during the process phase.",properties:{$_time:{type:"integer",description:"The time offset in milliseconds to the 'ts' field of the measurement"},name:{type:"string",description:"indicates the type of the specialValue (e.g. 'endanzug', 'turningPoint' etc.)"},value:{type:"object",description:"Contains the actual (multidimensional) value of interest. Similarly to series, every entry matches a Measurement Point of the device",patternProperties:{"^[^$].+":{type:"number"}},minProperties:1}},additionalProperties:!1,required:["value"]}},series:{type:"object",description:"The series data collected for the measurements. Every entry matches a Measurement Point of the device. In the case of a time series, one column contains the time offset in milliseconds (positive values in ascending order starting with 0). In this case the value is the keyword $_time. The maximum size for the measurement value is 10 positions before the decimal point. The decimal places are truncated to 2 in the historical data.",properties:{$_time:{type:"array",description:"The time offset in milliseconds (positive values in ascending order starting with 0) to the 'ts' field of the measurement",items:{type:"integer"}}},patternProperties:{"^[^$].+":{type:"array",items:{type:"number"}}},additionalProperties:!1},ts:{type:"string",format:"date-time",description:"Start time of the the data measurment in  ISO 8601 format"}},additionalProperties:!1,required:["ts","series"]}}},required:["content-spec","device","process","measurements"]}}});
\ No newline at end of file
diff --git a/files/15.6a445f07c93f6b5108e0.js b/files/15.6a445f07c93f6b5108e0.js
new file mode 100644
index 0000000..0a5fa51
--- /dev/null
+++ b/files/15.6a445f07c93f6b5108e0.js
@@ -0,0 +1 @@
+webpackJsonp([15],{rRyJ:function(e,t){e.exports={definitions:{device:{type:"object",description:"Contains information about the device",properties:{deviceID:{type:"string",description:"The unique ID of the device. As this is used to identify a device independently from time or location the ID itself must be stable and unique. The recommendation is to use a universally unique identifier (UUID).",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},operationalStatus:{type:"string",description:"The operationalStatus describes the status of a device. It is a string matching a definition in the Production Performance Manager"}},additionalProperties:!1,required:["deviceID"]},limit:{description:"Provides information about limits for data provided in the series element. The limits is an JSON object where the key is the name of a Measurement Point (see also series element) and the value is a structure of upper/lower limits",type:"object",patternProperties:{"^[^$].+":{oneOf:[{type:"object",description:"A constant limit for all corresponding measurements",properties:{lowerError:{description:"Indicates an error if this limit is underrun",type:"number"},lowerWarn:{description:"Indicates a warning if this limit is underrun",type:"number"},target:{description:"Indicates the intented target value of the measurement",type:"number"},upperError:{description:"Indicates an error if this limit is exceeded",type:"number"},upperWarn:{description:"Indicates a warning if this limit is exceeded",type:"number"}},additionalProperties:!1},{type:"object",description:"An array of limit values. The items of the array correspond to the respective measurements at the same position.",properties:{lowerError:{description:"Indicates an error if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},lowerWarn:{description:"Indicates a warning if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},target:{description:"Indicates the intented target values. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperError:{description:"Indicates an error if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperWarn:{description:"Indicates a warning if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}}},additionalProperties:!1}]}}}},type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://eclipse.org/unide/process-message#v2",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{deviceID:{type:"string",description:"The unique ID of the device. As this is used to identify a device independently from time or location the ID itself must be stable and unique. The recommendation is to use a universally unique identifier (UUID).",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},operationalStatus:{type:"string",description:"The operationalStatus describes the status of a device. It is a string matching a definition in the Production Performance Manager"}},additionalProperties:!1,required:["deviceID"]},part:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},partID:{type:"string",description:"Identifies a part. This ID comes from a 3rd party system and thus we have no guarantees if this is unique or not.",maxLength:256},partTypeID:{type:"string",description:"Identifies a part type",maxLength:256},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},type:{type:"string",enum:["SINGLE","BATCH"],description:"Describes the type of the part. Type SINGLE means a single item is processed. Type BATCH means multiple items of the same type are processed.",default:"SINGLE"}},required:[],additionalProperties:!1},process:{type:"object",description:"Contains information about the process. If the process JSON object is set, then all information in measurements are process phases",properties:{externalProcessId:{type:"string",description:"The process Id identifies the process as part of long living process. The process Id can be used to connect multiple processes in a manufacturing chain. The Id has to be set and tracked by the different devices in the chain.",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},program:{type:"object",description:"Contains information about the program that was used in the process.",properties:{id:{type:"string",description:"The ID of the program",maxLength:36},lastChangedDate:{type:"string",format:"date-time",description:"The date when the program was last changed"},name:{type:"string",description:"The name of the program",maxLength:256}},additionalProperties:!1,required:["id"]},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},shutoffPhase:{type:"string",description:"The ID of the phase that led to stop the process. The shutOffPhase is the phase of the process in which either pre-defined parameters are met to successfully finish the process or an error that stopped the process. That is not necessarily the last phase. The shutOffPhase should be sent when the last process phase is sent."},shutoffValues:{type:"object",description:"The shutoff values contain the values of the process that stopped the process. The shutoffValues is a JSON object where the key is the name of a Measurement Point (see also series element) and the value is a structure of different upper/lower limits and the actual value as described below.",patternProperties:{"^[^$].+":{type:"object",properties:{lowerError:{type:"number",description:"Indicates an error if this limit is underrun"},lowerWarn:{type:"number",description:"Indicates a warning if this limit is underrun"},target:{type:"number",description:"Indicates the intented target value of the measurement"},ts:{type:"string",format:"date-time",description:"Time of the measured value"},upperWarn:{type:"number",description:"Indicates a warning if this limit is exceeded"},upperError:{type:"number",description:"Indicates an error if this limit is exceeded"},value:{type:"number",description:"The final value of the process"}},additionalProperties:!1,required:["value"]}}},ts:{type:"string",format:"date-time",description:"Start time of the process"}},additionalProperties:!1,required:["ts"]},measurements:{type:"array",items:{type:"object",description:"Contains the different phases of the process. Each phase represents an execution step in the process and contains information about that specific execution step. All phases should be sorted by the timestamp of the phase.",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:36},limits:{description:"Provides information about limits for data provided in the series element. The limits is an JSON object where the key is the name of a Measurement Point (see also series element) and the value is a structure of upper/lower limits",type:"object",patternProperties:{"^[^$].+":{oneOf:[{type:"object",description:"A constant limit for all corresponding measurements",properties:{lowerError:{description:"Indicates an error if this limit is underrun",type:"number"},lowerWarn:{description:"Indicates a warning if this limit is underrun",type:"number"},target:{description:"Indicates the intented target value of the measurement",type:"number"},upperError:{description:"Indicates an error if this limit is exceeded",type:"number"},upperWarn:{description:"Indicates a warning if this limit is exceeded",type:"number"}},additionalProperties:!1},{type:"object",description:"An array of limit values. The items of the array correspond to the respective measurements at the same position.",properties:{lowerError:{description:"Indicates an error if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},lowerWarn:{description:"Indicates a warning if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},target:{description:"Indicates the intented target values. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperError:{description:"Indicates an error if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperWarn:{description:"Indicates a warning if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}}},additionalProperties:!1}]}}},name:{type:"string",description:"The name of the process phase",maxLength:256},phase:{type:"string",description:"The id of the process phase",maxLength:256},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},specialValues:{type:"array",items:{type:"object",description:"Provides information about special or interesting values during the process phase.",properties:{$_time:{type:"integer",description:"The time offset in milliseconds to the 'ts' field of the measurement"},name:{type:"string",description:"indicates the type of the specialValue (e.g. 'endanzug', 'turningPoint' etc.)"},value:{type:"object",description:"Contains the actual (multidimensional) value of interest. Similarly to series, every entry matches a Measurement Point of the device",patternProperties:{"^[^$].+":{type:"number"}},minProperties:1}},additionalProperties:!1,required:["value"]}},series:{type:"object",description:"The series data collected for the measurements. Every entry matches a Measurement Point of the device. In the case of a time series, one column contains the time offset in milliseconds (positive values in ascending order starting with 0). In this case the value is the keyword $_time. The maximum size for the measurement value is 10 positions before the decimal point. The decimal places are truncated to 2 in the historical data.",properties:{$_time:{type:"array",description:"The time offset in milliseconds (positive values in ascending order starting with 0) to the 'ts' field of the measurement",items:{type:"integer"}}},patternProperties:{"^[^$].+":{type:"array",items:{type:"number"}}},additionalProperties:!1},ts:{type:"string",format:"date-time",description:"Start time of the the data measurment in  ISO 8601 format"}},additionalProperties:!1,required:["ts","series"]}}},required:["content-spec","device","process","measurements"]}}});
\ No newline at end of file
diff --git a/files/16.11f2dc8ba4d811532f0f.js b/files/16.11f2dc8ba4d811532f0f.js
new file mode 100644
index 0000000..fff4cad
--- /dev/null
+++ b/files/16.11f2dc8ba4d811532f0f.js
@@ -0,0 +1 @@
+webpackJsonp([16],{"2BTs":function(e,t){e.exports={type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://eclipse.org/unide/measurement-message#v2",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{deviceID:{type:"string",description:"The unique ID of the device. As this is used to identify a device independently from time or location the ID itself must be stable and unique. The recommendation is to use a universally unique identifier (UUID).",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},operationalStatus:{type:"string",description:"The operationalStatus describes the status of a device. It is a string matching a definition in the Production Performance Manager"}},additionalProperties:!1,required:["deviceID"]},messages:{minItems:1,type:"array",items:{type:"object",description:"Collection of messages",properties:{code:{type:"string",description:"Code identifying the problem described in the message. The value often stems from the machine e.g. a PLC code. Is similar to code in measurement interface.",maxLength:36},description:{type:"string",description:"The description is used to describe the purpose of the message, e.g. the problem",maxLength:2e3},hint:{type:"string",description:"In case a problem is reported, the hint can be used to point out a possible solution",maxLength:2e3},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},origin:{type:"string",description:"The origin of the message if not the device identified by deviceID in the header element. Could be used to identify a subsystem or a particular sensor/part of the device where the message actually relates to."},severity:{type:"string",description:"Severity of the message",enum:["HIGH","MEDIUM","LOW","UNKNOWN"],default:"UNKNOWN"},title:{type:"string",description:"Title of the message. If title not set the code will be stored as fallback",maxLength:1e3},ts:{format:"date-time",type:"string",description:"Start time of the the data measurment in  ISO 8601 format"},type:{type:"string",description:"The type of message. Default is DEVICE but can be set to TECHNICAL_INFO indicating a problem with the integration of the actual device. Allowed values: DEVICE, TECHNICAL_INFO",enum:["DEVICE","TECHNICAL_INFO"],default:"DEVICE"}},required:["ts","code"]}}},additionalProperties:!1,required:["content-spec","device","messages"]}}});
\ No newline at end of file
diff --git a/files/16.97bb50e3916ed8ae2283.js b/files/16.97bb50e3916ed8ae2283.js
deleted file mode 100644
index ecf58f2..0000000
--- a/files/16.97bb50e3916ed8ae2283.js
+++ /dev/null
@@ -1 +0,0 @@
-webpackJsonp([16],{"2BTs":function(e,t){e.exports={type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://bosch.com/ppm/measurement-message#v2",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{deviceID:{type:"string",description:"The unique ID of the device. As this is used to identify a device independently from time or location the ID itself must be stable and unique. The recommendation is to use a universally unique identifier (UUID).",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},operationalStatus:{type:"string",description:"The operationalStatus describes the status of a device. It is a string matching a definition in the Production Performance Manager"}},additionalProperties:!1,required:["deviceID"]},messages:{minItems:1,type:"array",items:{type:"object",description:"Collection of messages",properties:{code:{type:"string",description:"Code identifying the problem described in the message. The value often stems from the machine e.g. a PLC code. Is similar to code in measurement interface.",maxLength:36},description:{type:"string",description:"The description is used to describe the purpose of the message, e.g. the problem",maxLength:2e3},hint:{type:"string",description:"In case a problem is reported, the hint can be used to point out a possible solution",maxLength:2e3},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},origin:{type:"string",description:"The origin of the message if not the device identified by deviceID in the header element. Could be used to identify a subsystem or a particular sensor/part of the device where the message actually relates to."},severity:{type:"string",description:"Severity of the message",enum:["HIGH","MEDIUM","LOW","UNKNOWN"],default:"UNKNOWN"},title:{type:"string",description:"Title of the message. If title not set the code will be stored as fallback",maxLength:1e3},ts:{format:"date-time",type:"string",description:"Start time of the the data measurment in  ISO 8601 format"},type:{type:"string",description:"The type of message. Default is DEVICE but can be set to TECHNICAL_INFO indicating a problem with the integration of the actual device. Allowed values: DEVICE, TECHNICAL_INFO",enum:["DEVICE","TECHNICAL_INFO"],default:"DEVICE"}},required:["ts","code"]}}},additionalProperties:!1,required:["content-spec","device","messages"]}}});
\ No newline at end of file
diff --git a/files/17.3c5f27ac9691c6987800.js b/files/17.3c5f27ac9691c6987800.js
new file mode 100644
index 0000000..60a5d1e
--- /dev/null
+++ b/files/17.3c5f27ac9691c6987800.js
@@ -0,0 +1 @@
+webpackJsonp([17],{oGp6:function(e,t){e.exports={type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://eclipse.org/unide/measurement-message#v2",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{deviceID:{type:"string",description:"The unique ID of the device. As this is used to identify a device independently from time or location the ID itself must be stable and unique. The recommendation is to use a universally unique identifier (UUID).",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},operationalStatus:{type:"string",description:"The operationalStatus describes the status of a device. It is a string matching a definition in the Production Performance Manager"}},additionalProperties:!1,required:["deviceID"]},part:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},partID:{type:"string",description:"Identifies a part. This ID comes from a 3rd party system and thus we have no guarantees if this is unique or not.",maxLength:256},partTypeID:{type:"string",description:"Identifies a part type",maxLength:256},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"}},additionalProperties:!1,required:[]},measurements:{type:"array",minItems:1,items:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:36},limits:{type:"object",description:"Provides information about limits for data provided in the series element.",patternProperties:{"^[^$].+":{type:"object",description:"The key shall be the name of a measurement point (element of series element). The value is a structure of different upper/lower limits.",properties:{lowerError:{type:"number",description:"Indicates an error if this limit is underrun"},lowerWarn:{type:"number",description:"Indicates a warning if this limit is underrun"},target:{type:"number",description:"Indicates the intented target value of the measurement"},upperError:{type:"number",description:"Indicates an error if this limit is exceeded"},upperWarn:{type:"number",description:"Indicates a warning if this limit is exceeded"}}}},additionalProperties:!1,required:[]},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},series:{type:"object",description:"The series data collected for the measurements. Every entry matches a Measurement Point of the Device Type. In the case of a time series, one column contains the time offsets.",properties:{$_time:{type:"array",description:"The time offset in milliseconds (positive values in ascending order starting with 0) to the 'ts' field of the measurement",items:{type:"integer"}}},patternProperties:{"^[^$].+":{type:"array",items:{type:"number"}}},required:["$_time"],minProperties:2,additionalProperties:!1},ts:{format:"date-time",type:"string",description:"Start time of the the data measurment in  ISO 8601 format"}},required:["ts","series"]}}},additionalProperties:!1,required:["content-spec","device","measurements"]}}});
\ No newline at end of file
diff --git a/files/17.41d3b42c737ad3a29793.js b/files/17.41d3b42c737ad3a29793.js
deleted file mode 100644
index 03c1c91..0000000
--- a/files/17.41d3b42c737ad3a29793.js
+++ /dev/null
@@ -1 +0,0 @@
-webpackJsonp([17],{oGp6:function(e,t){e.exports={type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://bosch.com/ppm/measurement-message#v2",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{deviceID:{type:"string",description:"The unique ID of the device. As this is used to identify a device independently from time or location the ID itself must be stable and unique. The recommendation is to use a universally unique identifier (UUID).",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},operationalStatus:{type:"string",description:"The operationalStatus describes the status of a device. It is a string matching a definition in the Production Performance Manager"}},additionalProperties:!1,required:["deviceID"]},part:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:36},metaData:{type:"object",properties:{},additionalProperties:!0,description:"Additional key-value pairs in a JSON structure format. Key and value must be strings"},partID:{type:"string",description:"Identifies a part. This ID comes from a 3rd party system and thus we have no guarantees if this is unique or not.",maxLength:256},partTypeID:{type:"string",description:"Identifies a part type",maxLength:256},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"}},additionalProperties:!1,required:[]},measurements:{type:"array",minItems:1,items:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:36},limits:{type:"object",description:"Provides information about limits for data provided in the series element.",patternProperties:{"^[^$].+":{type:"object",description:"The key shall be the name of a measurement point (element of series element). The value is a structure of different upper/lower limits.",properties:{lowerError:{type:"number",description:"Indicates an error if this limit is underrun"},lowerWarn:{type:"number",description:"Indicates a warning if this limit is underrun"},target:{type:"number",description:"Indicates the intented target value of the measurement"},upperError:{type:"number",description:"Indicates an error if this limit is exceeded"},upperWarn:{type:"number",description:"Indicates a warning if this limit is exceeded"}}}},additionalProperties:!1,required:[]},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},series:{type:"object",description:"The series data collected for the measurements. Every entry matches a Measurement Point of the Device Type. In the case of a time series, one column contains the time offsets.",properties:{$_time:{type:"array",description:"The time offset in milliseconds (positive values in ascending order starting with 0) to the 'ts' field of the measurement",items:{type:"integer"}}},patternProperties:{"^[^$].+":{type:"array",items:{type:"number"}}},required:["$_time"],minProperties:2,additionalProperties:!1},ts:{format:"date-time",type:"string",description:"Start time of the the data measurment in  ISO 8601 format"}},required:["ts","series"]}}},additionalProperties:!1,required:["content-spec","device","measurements"]}}});
\ No newline at end of file
diff --git a/files/manifest.1723c812f9b65cb4ee7c.js b/files/manifest.e120b181bff2d27176e5.js
similarity index 70%
rename from files/manifest.1723c812f9b65cb4ee7c.js
rename to files/manifest.e120b181bff2d27176e5.js
index dd537d6..56aa55a 100644
--- a/files/manifest.1723c812f9b65cb4ee7c.js
+++ b/files/manifest.e120b181bff2d27176e5.js
@@ -1 +1 @@
-!function(e){var a=window.webpackJsonp;window.webpackJsonp=function(n,c,o){for(var i,f,s,p=0,d=[];p<n.length;p++)f=n[p],r[f]&&d.push(r[f][0]),r[f]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(a&&a(n,c,o);d.length;)d.shift()();if(o)for(p=0;p<o.length;p++)s=t(t.s=o[p]);return s};var n={},r={18:0};function t(a){if(n[a])return n[a].exports;var r=n[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.e=function(e){var a=r[e];if(0===a)return new Promise(function(e){e()});if(a)return a[2];var n=new Promise(function(n,t){a=r[e]=[n,t]});a[2]=n;var c=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.timeout=12e4,t.nc&&o.setAttribute("nonce",t.nc),o.src=t.p+""+({0:"pages_specification_process-message",1:"pages_specification_measurement-message",2:"pages_specification_machine-message",3:"pages_blog",4:"pages_article",5:"layouts_sidebar",6:"pages_faq",7:"layouts_default",8:"pages_specification",9:"pages_index",10:"pages_proposal",11:"pages_specification_index",12:"vendor",13:"app"}[e]||e)+"."+{0:"ba9a00391c5896c71775",1:"36a1c2bec6dcd2bf0fae",2:"075091d20faa5e52f9a2",3:"ea5f0fe0be9d3e3a0b59",4:"f070ac13877c06c6613f",5:"f3152ac54a5edef0c166",6:"d758f63c3c8612b5c9b5",7:"2114b4fdc743f1b2e00e",8:"cfba7cb7ef03067aa6be",9:"7d76ce931d19b81f54ec",10:"05a0b52aa840e2ad9ee2",11:"06dad5cb3f63c35339f3",12:"21b6003b92f8fb004a4d",13:"1a7766a710a6398bc906",14:"8d8937ce89703171d440",15:"5bfe6db5931840f01489",16:"97bb50e3916ed8ae2283",17:"41d3b42c737ad3a29793"}[e]+".js";var i=setTimeout(f,12e4);function f(){o.onerror=o.onload=null,clearTimeout(i);var a=r[e];0!==a&&(a&&a[1](new Error("Loading chunk "+e+" failed.")),r[e]=void 0)}return o.onerror=o.onload=f,c.appendChild(o),n},t.m=e,t.c=n,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="/unide/files/",t.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
+!function(e){var a=window.webpackJsonp;window.webpackJsonp=function(n,c,o){for(var f,i,s,p=0,u=[];p<n.length;p++)i=n[p],r[i]&&u.push(r[i][0]),r[i]=0;for(f in c)Object.prototype.hasOwnProperty.call(c,f)&&(e[f]=c[f]);for(a&&a(n,c,o);u.length;)u.shift()();if(o)for(p=0;p<o.length;p++)s=t(t.s=o[p]);return s};var n={},r={18:0};function t(a){if(n[a])return n[a].exports;var r=n[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.e=function(e){var a=r[e];if(0===a)return new Promise(function(e){e()});if(a)return a[2];var n=new Promise(function(n,t){a=r[e]=[n,t]});a[2]=n;var c=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.timeout=12e4,t.nc&&o.setAttribute("nonce",t.nc),o.src=t.p+""+({0:"pages_specification_process-message",1:"pages_specification_measurement-message",2:"pages_specification_machine-message",3:"pages_blog",4:"pages_article",5:"layouts_sidebar",6:"pages_faq",7:"layouts_default",8:"pages_specification",9:"pages_index",10:"pages_proposal",11:"pages_specification_index",12:"vendor",13:"app"}[e]||e)+"."+{0:"ba9a00391c5896c71775",1:"27d039e09f0f00aa71c5",2:"075091d20faa5e52f9a2",3:"ea5f0fe0be9d3e3a0b59",4:"c3962dfffcd1bf941ce3",5:"f3152ac54a5edef0c166",6:"d758f63c3c8612b5c9b5",7:"2114b4fdc743f1b2e00e",8:"cfba7cb7ef03067aa6be",9:"7d76ce931d19b81f54ec",10:"05a0b52aa840e2ad9ee2",11:"06dad5cb3f63c35339f3",12:"21b6003b92f8fb004a4d",13:"1a7766a710a6398bc906",14:"8d8937ce89703171d440",15:"6a445f07c93f6b5108e0",16:"11f2dc8ba4d811532f0f",17:"3c5f27ac9691c6987800"}[e]+".js";var f=setTimeout(i,12e4);function i(){o.onerror=o.onload=null,clearTimeout(f);var a=r[e];0!==a&&(a&&a[1](new Error("Loading chunk "+e+" failed.")),r[e]=void 0)}return o.onerror=o.onload=i,c.appendChild(o),n},t.m=e,t.c=n,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="/unide/files/",t.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
diff --git a/files/pages_article.f070ac13877c06c6613f.js b/files/pages_article.c3962dfffcd1bf941ce3.js
similarity index 74%
rename from files/pages_article.f070ac13877c06c6613f.js
rename to files/pages_article.c3962dfffcd1bf941ce3.js
index afe31d9..524e761 100644
--- a/files/pages_article.f070ac13877c06c6613f.js
+++ b/files/pages_article.c3962dfffcd1bf941ce3.js
@@ -1,2 +1,2 @@
 /*! For license information please see LICENSES */
-webpackJsonp([4],{"21It":function(t,e,r){"use strict";var n=r("FtD3");t.exports=function(t,e,r){var o=r.config.validateStatus;r.status&&o&&!o(r.status)?e(n("Request failed with status code "+r.status,r.config,null,r.request,r)):t(r)}},"5VQ+":function(t,e,r){"use strict";var n=r("cGG2");t.exports=function(t,e){n.forEach(t,function(r,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=r,delete t[n])})}},"7GwW":function(t,e,r){"use strict";var n=r("cGG2"),o=r("21It"),s=r("DQCr"),i=r("oJlt"),a=r("GHBc"),u=r("FtD3"),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||r("thJu");t.exports=function(t){return new Promise(function(e,f){var p=t.data,l=t.headers;n.isFormData(p)&&delete l["Content-Type"];var d=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in d||a(t.url)||(d=new window.XDomainRequest,h="onload",m=!0,d.onprogress=function(){},d.ontimeout=function(){}),t.auth){var v=t.auth.username||"",g=t.auth.password||"";l.Authorization="Basic "+c(v+":"+g)}if(d.open(t.method.toUpperCase(),s(t.url,t.params,t.paramsSerializer),!0),d.timeout=t.timeout,d[h]=function(){if(d&&(4===d.readyState||m)&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in d?i(d.getAllResponseHeaders()):null,n={data:t.responseType&&"text"!==t.responseType?d.response:d.responseText,status:1223===d.status?204:d.status,statusText:1223===d.status?"No Content":d.statusText,headers:r,config:t,request:d};o(e,f,n),d=null}},d.onerror=function(){f(u("Network Error",t,null,d)),d=null},d.ontimeout=function(){f(u("timeout of "+t.timeout+"ms exceeded",t,"ECONNABORTED",d)),d=null},n.isStandardBrowserEnv()){var y=r("p1b6"),w=(t.withCredentials||a(t.url))&&t.xsrfCookieName?y.read(t.xsrfCookieName):void 0;w&&(l[t.xsrfHeaderName]=w)}if("setRequestHeader"in d&&n.forEach(l,function(t,e){void 0===p&&"content-type"===e.toLowerCase()?delete l[e]:d.setRequestHeader(e,t)}),t.withCredentials&&(d.withCredentials=!0),t.responseType)try{d.responseType=t.responseType}catch(e){if("json"!==t.responseType)throw e}"function"==typeof t.onDownloadProgress&&d.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then(function(t){d&&(d.abort(),f(t),d=null)}),void 0===p&&(p=null),d.send(p)})}},DQCr:function(t,e,r){"use strict";var n=r("cGG2");function o(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,r){if(!e)return t;var s;if(r)s=r(e);else if(n.isURLSearchParams(e))s=e.toString();else{var i=[];n.forEach(e,function(t,e){null!==t&&void 0!==t&&(n.isArray(t)&&(e+="[]"),n.isArray(t)||(t=[t]),n.forEach(t,function(t){n.isDate(t)?t=t.toISOString():n.isObject(t)&&(t=JSON.stringify(t)),i.push(o(e)+"="+o(t))}))}),s=i.join("&")}return s&&(t+=(-1===t.indexOf("?")?"?":"&")+s),t}},FtD3:function(t,e,r){"use strict";var n=r("t8qj");t.exports=function(t,e,r,o,s){var i=new Error(t);return n(i,e,r,o,s)}},GHBc:function(t,e,r){"use strict";var n=r("cGG2");t.exports=n.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function o(t){var n=t;return e&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return t=o(window.location.href),function(e){var r=n.isString(e)?o(e):e;return r.protocol===t.protocol&&r.host===t.host}}():function(){return!0}},"JP+z":function(t,e,r){"use strict";t.exports=function(t,e){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return t.apply(e,r)}}},KCLY:function(t,e,r){"use strict";(function(e){var n=r("cGG2"),o=r("5VQ+"),s={"Content-Type":"application/x-www-form-urlencoded"};function i(t,e){!n.isUndefined(t)&&n.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var a,u={adapter:("undefined"!=typeof XMLHttpRequest?a=r("7GwW"):void 0!==e&&(a=r("7GwW")),a),transformRequest:[function(t,e){return o(e,"Content-Type"),n.isFormData(t)||n.isArrayBuffer(t)||n.isBuffer(t)||n.isStream(t)||n.isFile(t)||n.isBlob(t)?t:n.isArrayBufferView(t)?t.buffer:n.isURLSearchParams(t)?(i(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):n.isObject(t)?(i(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},n.forEach(["delete","get","head"],function(t){u.headers[t]={}}),n.forEach(["post","put","patch"],function(t){u.headers[t]=n.merge(s)}),t.exports=u}).call(e,r("W2nU"))},Kyln:function(t,e,r){var n=r("Lk02");"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);r("rjj0")("73fc20d4",n,!1)},Lk02:function(t,e,r){(t.exports=r("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2{color:#a7a7a7}.article .card{border-radius:5px}.article .card .card-header{border-radius:5px 5px 0 0}.article .card .card-header.is-primary{background-color:#50237f}.article .card .card-header.is-primary .card-header-title{color:#fff}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}",""])},QE0f:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r("gA5C"),o=r("a2ZL"),s=!1;var i=function(t){s||r("Kyln")},a=r("VU/8")(n.a,o.a,!1,i,null,null);a.options.__file="pages\\article.vue",e.default=a.exports},Re3r:function(t,e){function r(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}t.exports=function(t){return null!=t&&(r(t)||"function"==typeof(e=t).readFloatLE&&"function"==typeof e.slice&&r(e.slice(0,0))||!!t._isBuffer);var e}},TNV1:function(t,e,r){"use strict";var n=r("cGG2");t.exports=function(t,e,r){return n.forEach(r,function(r){t=r(t,e)}),t}},XmWM:function(t,e,r){"use strict";var n=r("KCLY"),o=r("cGG2"),s=r("fuGk"),i=r("xLtR");function a(t){this.defaults=t,this.interceptors={request:new s,response:new s}}a.prototype.request=function(t){"string"==typeof t&&(t=o.merge({url:arguments[0]},arguments[1])),(t=o.merge(n,this.defaults,{method:"get"},t)).method=t.method.toLowerCase();var e=[i,void 0],r=Promise.resolve(t);for(this.interceptors.request.forEach(function(t){e.unshift(t.fulfilled,t.rejected)}),this.interceptors.response.forEach(function(t){e.push(t.fulfilled,t.rejected)});e.length;)r=r.then(e.shift(),e.shift());return r},o.forEach(["delete","get","head","options"],function(t){a.prototype[t]=function(e,r){return this.request(o.merge(r||{},{method:t,url:e}))}}),o.forEach(["post","put","patch"],function(t){a.prototype[t]=function(e,r,n){return this.request(o.merge(n||{},{method:t,url:e,data:r}))}}),t.exports=a},a2ZL:function(t,e,r){"use strict";var n=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"article"},[this.post.title?e("h1",{staticClass:"title is-3"},[this._v("\n    "+this._s(this.post.title)+"\n  ")]):this._e(),this.post.title&&this.post.date?e("h2",{staticClass:"subtitle is-6"},[e("i",{staticClass:"fa fa-calendar"}),this._v("  \n    "+this._s(this._f("timeStamp")(this.post.date))+"\n  ")]):this._e(),e("div",{staticClass:"content"},[e("div",{domProps:{innerHTML:this._s(this.post.content)}})]),e("div",{staticClass:"columns pageNav"},[this.post.prev?e("div",{staticClass:"column"},[e("nuxt-link",{staticClass:"button is-fullwidth",attrs:{to:this.post.prev.url}},[e("span",{staticClass:"icon"},[e("i",{staticClass:"fa fa-chevron-left"})]),e("span",[this._v(this._s(this.post.prev.title))])])],1):this._e(),this.post.next?e("div",{staticClass:"column"},[e("nuxt-link",{staticClass:"button is-fullwidth",attrs:{to:this.post.next.url}},[e("span",[this._v(this._s(this.post.next.title))]),e("span",{staticClass:"icon"},[e("i",{staticClass:"fa fa-chevron-right"})])])],1):this._e()])])};n._withStripped=!0;var o={render:n,staticRenderFns:[]};e.a=o},cGG2:function(t,e,r){"use strict";var n=r("JP+z"),o=r("Re3r"),s=Object.prototype.toString;function i(t){return"[object Array]"===s.call(t)}function a(t){return null!==t&&"object"==typeof t}function u(t){return"[object Function]"===s.call(t)}function c(t,e){if(null!==t&&void 0!==t)if("object"!=typeof t&&(t=[t]),i(t))for(var r=0,n=t.length;r<n;r++)e.call(null,t[r],r,t);else for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.call(null,t[o],o,t)}t.exports={isArray:i,isArrayBuffer:function(t){return"[object ArrayBuffer]"===s.call(t)},isBuffer:o,isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},isArrayBufferView:function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer},isString:function(t){return"string"==typeof t},isNumber:function(t){return"number"==typeof t},isObject:a,isUndefined:function(t){return void 0===t},isDate:function(t){return"[object Date]"===s.call(t)},isFile:function(t){return"[object File]"===s.call(t)},isBlob:function(t){return"[object Blob]"===s.call(t)},isFunction:u,isStream:function(t){return a(t)&&u(t.pipe)},isURLSearchParams:function(t){return"undefined"!=typeof URLSearchParams&&t instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&"undefined"!=typeof window&&"undefined"!=typeof document},forEach:c,merge:function t(){var e={};function r(r,n){"object"==typeof e[n]&&"object"==typeof r?e[n]=t(e[n],r):e[n]=r}for(var n=0,o=arguments.length;n<o;n++)c(arguments[n],r);return e},extend:function(t,e,r){return c(e,function(e,o){t[o]=r&&"function"==typeof e?n(e,r):e}),t},trim:function(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}}},cWxy:function(t,e,r){"use strict";var n=r("dVOP");function o(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise(function(t){e=t});var r=this;t(function(t){r.reason||(r.reason=new n(t),e(r.reason))})}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var t;return{token:new o(function(e){t=e}),cancel:t}},t.exports=o},dIwP:function(t,e,r){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},dVOP:function(t,e,r){"use strict";function n(t){this.message=t}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,t.exports=n},fuGk:function(t,e,r){"use strict";var n=r("cGG2");function o(){this.handlers=[]}o.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){n.forEach(this.handlers,function(e){null!==e&&t(e)})},t.exports=o},gA5C:function(t,e,r){"use strict";var n=r("Xxa5"),o=r.n(n),s=r("exGp"),i=r.n(s),a=r("mtWM"),u=r.n(a),c=(navigator.languages&&navigator.languages[0]||navigator.language||navigator.userLanguage).toLowerCase().split(/[_-]+/)[0];e.a={layout:"sidebar",asyncData:function(){var t=i()(o.a.mark(function t(e){var r=e.params,n=e.payload,s=e.isServer;return o.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(console.log("isServer: ",s),t.t1=n,t.t1){t.next=9;break}if(t.t2=r.name,!t.t2){t.next=8;break}return t.next=7,u.a.get((s?"http://localhost:3000/":"/")+"unide/files/posts/"+r.name+".json");case 7:t.t2=t.sent.data;case 8:t.t1=t.t2;case 9:if(t.t0=t.t1,t.t0){t.next=12;break}t.t0={};case 12:return t.t3=t.t0,t.abrupt("return",{post:t.t3});case 14:case"end":return t.stop()}},t,this)}));return function(e){return t.apply(this,arguments)}}(),filters:{timeStamp:function(t){var e=(t=t instanceof Date?t:new Date(t)).getHours()&&t.getMinutes();return Intl.DateTimeFormat(c,{hour12:!1,year:"2-digit",month:"2-digit",day:"2-digit",hour:e?"numeric":void 0,minute:e?"2-digit":void 0}).format(t)}}}},mtWM:function(t,e,r){t.exports=r("tIFN")},oJlt:function(t,e,r){"use strict";var n=r("cGG2"),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,r,s,i={};return t?(n.forEach(t.split("\n"),function(t){if(s=t.indexOf(":"),e=n.trim(t.substr(0,s)).toLowerCase(),r=n.trim(t.substr(s+1)),e){if(i[e]&&o.indexOf(e)>=0)return;i[e]="set-cookie"===e?(i[e]?i[e]:[]).concat([r]):i[e]?i[e]+", "+r:r}}),i):i}},p1b6:function(t,e,r){"use strict";var n=r("cGG2");t.exports=n.isStandardBrowserEnv()?{write:function(t,e,r,o,s,i){var a=[];a.push(t+"="+encodeURIComponent(e)),n.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),n.isString(o)&&a.push("path="+o),n.isString(s)&&a.push("domain="+s),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},pBtG:function(t,e,r){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},pxG4:function(t,e,r){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},qRfI:function(t,e,r){"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},t8qj:function(t,e,r){"use strict";t.exports=function(t,e,r,n,o){return t.config=e,r&&(t.code=r),t.request=n,t.response=o,t}},tIFN:function(t,e,r){"use strict";var n=r("cGG2"),o=r("JP+z"),s=r("XmWM"),i=r("KCLY");function a(t){var e=new s(t),r=o(s.prototype.request,e);return n.extend(r,s.prototype,e),n.extend(r,e),r}var u=a(i);u.Axios=s,u.create=function(t){return a(n.merge(i,t))},u.Cancel=r("dVOP"),u.CancelToken=r("cWxy"),u.isCancel=r("pBtG"),u.all=function(t){return Promise.all(t)},u.spread=r("pxG4"),t.exports=u,t.exports.default=u},thJu:function(t,e,r){"use strict";var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function o(){this.message="String contains an invalid character"}o.prototype=new Error,o.prototype.code=5,o.prototype.name="InvalidCharacterError",t.exports=function(t){for(var e,r,s=String(t),i="",a=0,u=n;s.charAt(0|a)||(u="=",a%1);i+=u.charAt(63&e>>8-a%1*8)){if((r=s.charCodeAt(a+=.75))>255)throw new o;e=e<<8|r}return i}},xLtR:function(t,e,r){"use strict";var n=r("cGG2"),o=r("TNV1"),s=r("pBtG"),i=r("KCLY"),a=r("dIwP"),u=r("qRfI");function c(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){return c(t),t.baseURL&&!a(t.url)&&(t.url=u(t.baseURL,t.url)),t.headers=t.headers||{},t.data=o(t.data,t.headers,t.transformRequest),t.headers=n.merge(t.headers.common||{},t.headers[t.method]||{},t.headers||{}),n.forEach(["delete","get","head","post","put","patch","common"],function(e){delete t.headers[e]}),(t.adapter||i.adapter)(t).then(function(e){return c(t),e.data=o(e.data,e.headers,t.transformResponse),e},function(e){return s(e)||(c(t),e&&e.response&&(e.response.data=o(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)})}}});
\ No newline at end of file
+webpackJsonp([4],{"21It":function(t,e,r){"use strict";var n=r("FtD3");t.exports=function(t,e,r){var o=r.config.validateStatus;r.status&&o&&!o(r.status)?e(n("Request failed with status code "+r.status,r.config,null,r.request,r)):t(r)}},"5VQ+":function(t,e,r){"use strict";var n=r("cGG2");t.exports=function(t,e){n.forEach(t,function(r,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=r,delete t[n])})}},"7GwW":function(t,e,r){"use strict";var n=r("cGG2"),o=r("21It"),s=r("DQCr"),i=r("oJlt"),a=r("GHBc"),u=r("FtD3"),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||r("thJu");t.exports=function(t){return new Promise(function(e,f){var p=t.data,l=t.headers;n.isFormData(p)&&delete l["Content-Type"];var d=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in d||a(t.url)||(d=new window.XDomainRequest,h="onload",m=!0,d.onprogress=function(){},d.ontimeout=function(){}),t.auth){var v=t.auth.username||"",g=t.auth.password||"";l.Authorization="Basic "+c(v+":"+g)}if(d.open(t.method.toUpperCase(),s(t.url,t.params,t.paramsSerializer),!0),d.timeout=t.timeout,d[h]=function(){if(d&&(4===d.readyState||m)&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in d?i(d.getAllResponseHeaders()):null,n={data:t.responseType&&"text"!==t.responseType?d.response:d.responseText,status:1223===d.status?204:d.status,statusText:1223===d.status?"No Content":d.statusText,headers:r,config:t,request:d};o(e,f,n),d=null}},d.onerror=function(){f(u("Network Error",t,null,d)),d=null},d.ontimeout=function(){f(u("timeout of "+t.timeout+"ms exceeded",t,"ECONNABORTED",d)),d=null},n.isStandardBrowserEnv()){var y=r("p1b6"),w=(t.withCredentials||a(t.url))&&t.xsrfCookieName?y.read(t.xsrfCookieName):void 0;w&&(l[t.xsrfHeaderName]=w)}if("setRequestHeader"in d&&n.forEach(l,function(t,e){void 0===p&&"content-type"===e.toLowerCase()?delete l[e]:d.setRequestHeader(e,t)}),t.withCredentials&&(d.withCredentials=!0),t.responseType)try{d.responseType=t.responseType}catch(e){if("json"!==t.responseType)throw e}"function"==typeof t.onDownloadProgress&&d.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then(function(t){d&&(d.abort(),f(t),d=null)}),void 0===p&&(p=null),d.send(p)})}},DQCr:function(t,e,r){"use strict";var n=r("cGG2");function o(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,r){if(!e)return t;var s;if(r)s=r(e);else if(n.isURLSearchParams(e))s=e.toString();else{var i=[];n.forEach(e,function(t,e){null!==t&&void 0!==t&&(n.isArray(t)&&(e+="[]"),n.isArray(t)||(t=[t]),n.forEach(t,function(t){n.isDate(t)?t=t.toISOString():n.isObject(t)&&(t=JSON.stringify(t)),i.push(o(e)+"="+o(t))}))}),s=i.join("&")}return s&&(t+=(-1===t.indexOf("?")?"?":"&")+s),t}},FtD3:function(t,e,r){"use strict";var n=r("t8qj");t.exports=function(t,e,r,o,s){var i=new Error(t);return n(i,e,r,o,s)}},GHBc:function(t,e,r){"use strict";var n=r("cGG2");t.exports=n.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function o(t){var n=t;return e&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return t=o(window.location.href),function(e){var r=n.isString(e)?o(e):e;return r.protocol===t.protocol&&r.host===t.host}}():function(){return!0}},"JP+z":function(t,e,r){"use strict";t.exports=function(t,e){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return t.apply(e,r)}}},KCLY:function(t,e,r){"use strict";(function(e){var n=r("cGG2"),o=r("5VQ+"),s={"Content-Type":"application/x-www-form-urlencoded"};function i(t,e){!n.isUndefined(t)&&n.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var a,u={adapter:("undefined"!=typeof XMLHttpRequest?a=r("7GwW"):void 0!==e&&(a=r("7GwW")),a),transformRequest:[function(t,e){return o(e,"Content-Type"),n.isFormData(t)||n.isArrayBuffer(t)||n.isBuffer(t)||n.isStream(t)||n.isFile(t)||n.isBlob(t)?t:n.isArrayBufferView(t)?t.buffer:n.isURLSearchParams(t)?(i(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):n.isObject(t)?(i(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},n.forEach(["delete","get","head"],function(t){u.headers[t]={}}),n.forEach(["post","put","patch"],function(t){u.headers[t]=n.merge(s)}),t.exports=u}).call(e,r("W2nU"))},Kyln:function(t,e,r){var n=r("Lk02");"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);r("rjj0")("73fc20d4",n,!1)},Lk02:function(t,e,r){(t.exports=r("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2{color:#a7a7a7}.article .card{border-radius:5px}.article .card .card-header{border-radius:5px 5px 0 0}.article .card .card-header.is-primary{background-color:#50237f}.article .card .card-header.is-primary .card-header-title{color:#fff}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}",""])},QE0f:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r("gA5C"),o=r("a2ZL"),s=!1;var i=function(t){s||r("Kyln")},a=r("VU/8")(n.a,o.a,!1,i,null,null);a.options.__file="pages\\article.vue",e.default=a.exports},Re3r:function(t,e){function r(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}t.exports=function(t){return null!=t&&(r(t)||"function"==typeof(e=t).readFloatLE&&"function"==typeof e.slice&&r(e.slice(0,0))||!!t._isBuffer);var e}},TNV1:function(t,e,r){"use strict";var n=r("cGG2");t.exports=function(t,e,r){return n.forEach(r,function(r){t=r(t,e)}),t}},XmWM:function(t,e,r){"use strict";var n=r("KCLY"),o=r("cGG2"),s=r("fuGk"),i=r("xLtR");function a(t){this.defaults=t,this.interceptors={request:new s,response:new s}}a.prototype.request=function(t){"string"==typeof t&&(t=o.merge({url:arguments[0]},arguments[1])),(t=o.merge(n,this.defaults,{method:"get"},t)).method=t.method.toLowerCase();var e=[i,void 0],r=Promise.resolve(t);for(this.interceptors.request.forEach(function(t){e.unshift(t.fulfilled,t.rejected)}),this.interceptors.response.forEach(function(t){e.push(t.fulfilled,t.rejected)});e.length;)r=r.then(e.shift(),e.shift());return r},o.forEach(["delete","get","head","options"],function(t){a.prototype[t]=function(e,r){return this.request(o.merge(r||{},{method:t,url:e}))}}),o.forEach(["post","put","patch"],function(t){a.prototype[t]=function(e,r,n){return this.request(o.merge(n||{},{method:t,url:e,data:r}))}}),t.exports=a},a2ZL:function(t,e,r){"use strict";var n=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"article"},[this.post.title?e("h1",{staticClass:"title is-3"},[this._v("\n    "+this._s(this.post.title)+"\n  ")]):this._e(),this.post.title&&this.post.date?e("h2",{staticClass:"subtitle is-6"},[e("i",{staticClass:"fa fa-calendar"}),this._v("  \n    "+this._s(this._f("timeStamp")(this.post.date))+"\n  ")]):this._e(),e("div",{staticClass:"content"},[e("div",{domProps:{innerHTML:this._s(this.post.content)}})]),e("div",{staticClass:"columns pageNav"},[this.post.prev?e("div",{staticClass:"column"},[e("nuxt-link",{staticClass:"button is-fullwidth",attrs:{to:this.post.prev.url}},[e("span",{staticClass:"icon"},[e("i",{staticClass:"fa fa-chevron-left"})]),e("span",[this._v(this._s(this.post.prev.title))])])],1):this._e(),this.post.next?e("div",{staticClass:"column"},[e("nuxt-link",{staticClass:"button is-fullwidth",attrs:{to:this.post.next.url}},[e("span",[this._v(this._s(this.post.next.title))]),e("span",{staticClass:"icon"},[e("i",{staticClass:"fa fa-chevron-right"})])])],1):this._e()])])};n._withStripped=!0;var o={render:n,staticRenderFns:[]};e.a=o},cGG2:function(t,e,r){"use strict";var n=r("JP+z"),o=r("Re3r"),s=Object.prototype.toString;function i(t){return"[object Array]"===s.call(t)}function a(t){return null!==t&&"object"==typeof t}function u(t){return"[object Function]"===s.call(t)}function c(t,e){if(null!==t&&void 0!==t)if("object"!=typeof t&&(t=[t]),i(t))for(var r=0,n=t.length;r<n;r++)e.call(null,t[r],r,t);else for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.call(null,t[o],o,t)}t.exports={isArray:i,isArrayBuffer:function(t){return"[object ArrayBuffer]"===s.call(t)},isBuffer:o,isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},isArrayBufferView:function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer},isString:function(t){return"string"==typeof t},isNumber:function(t){return"number"==typeof t},isObject:a,isUndefined:function(t){return void 0===t},isDate:function(t){return"[object Date]"===s.call(t)},isFile:function(t){return"[object File]"===s.call(t)},isBlob:function(t){return"[object Blob]"===s.call(t)},isFunction:u,isStream:function(t){return a(t)&&u(t.pipe)},isURLSearchParams:function(t){return"undefined"!=typeof URLSearchParams&&t instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&"undefined"!=typeof window&&"undefined"!=typeof document},forEach:c,merge:function t(){var e={};function r(r,n){"object"==typeof e[n]&&"object"==typeof r?e[n]=t(e[n],r):e[n]=r}for(var n=0,o=arguments.length;n<o;n++)c(arguments[n],r);return e},extend:function(t,e,r){return c(e,function(e,o){t[o]=r&&"function"==typeof e?n(e,r):e}),t},trim:function(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}}},cWxy:function(t,e,r){"use strict";var n=r("dVOP");function o(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise(function(t){e=t});var r=this;t(function(t){r.reason||(r.reason=new n(t),e(r.reason))})}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var t;return{token:new o(function(e){t=e}),cancel:t}},t.exports=o},dIwP:function(t,e,r){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},dVOP:function(t,e,r){"use strict";function n(t){this.message=t}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,t.exports=n},fuGk:function(t,e,r){"use strict";var n=r("cGG2");function o(){this.handlers=[]}o.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){n.forEach(this.handlers,function(e){null!==e&&t(e)})},t.exports=o},gA5C:function(t,e,r){"use strict";var n=r("Xxa5"),o=r.n(n),s=r("exGp"),i=r.n(s),a=r("mtWM"),u=r.n(a),c=(navigator.languages&&navigator.languages[0]||navigator.language||navigator.userLanguage).toLowerCase().split(/[_-]+/)[0];e.a={layout:"sidebar",asyncData:function(){var t=i()(o.a.mark(function t(e){var r=e.params,n=e.payload,s=e.isServer;return o.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(t.t1=n,t.t1){t.next=8;break}if(t.t2=r.name,!t.t2){t.next=7;break}return t.next=6,u.a.get((s?"http://localhost:3000/":"/")+"unide/files/posts/"+r.name+".json");case 6:t.t2=t.sent.data;case 7:t.t1=t.t2;case 8:if(t.t0=t.t1,t.t0){t.next=11;break}t.t0={};case 11:return t.t3=t.t0,t.abrupt("return",{post:t.t3});case 13:case"end":return t.stop()}},t,this)}));return function(e){return t.apply(this,arguments)}}(),filters:{timeStamp:function(t){var e=(t=t instanceof Date?t:new Date(t)).getHours()&&t.getMinutes();return Intl.DateTimeFormat(c,{hour12:!1,year:"2-digit",month:"2-digit",day:"2-digit",hour:e?"numeric":void 0,minute:e?"2-digit":void 0}).format(t)}}}},mtWM:function(t,e,r){t.exports=r("tIFN")},oJlt:function(t,e,r){"use strict";var n=r("cGG2"),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,r,s,i={};return t?(n.forEach(t.split("\n"),function(t){if(s=t.indexOf(":"),e=n.trim(t.substr(0,s)).toLowerCase(),r=n.trim(t.substr(s+1)),e){if(i[e]&&o.indexOf(e)>=0)return;i[e]="set-cookie"===e?(i[e]?i[e]:[]).concat([r]):i[e]?i[e]+", "+r:r}}),i):i}},p1b6:function(t,e,r){"use strict";var n=r("cGG2");t.exports=n.isStandardBrowserEnv()?{write:function(t,e,r,o,s,i){var a=[];a.push(t+"="+encodeURIComponent(e)),n.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),n.isString(o)&&a.push("path="+o),n.isString(s)&&a.push("domain="+s),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},pBtG:function(t,e,r){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},pxG4:function(t,e,r){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},qRfI:function(t,e,r){"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},t8qj:function(t,e,r){"use strict";t.exports=function(t,e,r,n,o){return t.config=e,r&&(t.code=r),t.request=n,t.response=o,t}},tIFN:function(t,e,r){"use strict";var n=r("cGG2"),o=r("JP+z"),s=r("XmWM"),i=r("KCLY");function a(t){var e=new s(t),r=o(s.prototype.request,e);return n.extend(r,s.prototype,e),n.extend(r,e),r}var u=a(i);u.Axios=s,u.create=function(t){return a(n.merge(i,t))},u.Cancel=r("dVOP"),u.CancelToken=r("cWxy"),u.isCancel=r("pBtG"),u.all=function(t){return Promise.all(t)},u.spread=r("pxG4"),t.exports=u,t.exports.default=u},thJu:function(t,e,r){"use strict";var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function o(){this.message="String contains an invalid character"}o.prototype=new Error,o.prototype.code=5,o.prototype.name="InvalidCharacterError",t.exports=function(t){for(var e,r,s=String(t),i="",a=0,u=n;s.charAt(0|a)||(u="=",a%1);i+=u.charAt(63&e>>8-a%1*8)){if((r=s.charCodeAt(a+=.75))>255)throw new o;e=e<<8|r}return i}},xLtR:function(t,e,r){"use strict";var n=r("cGG2"),o=r("TNV1"),s=r("pBtG"),i=r("KCLY"),a=r("dIwP"),u=r("qRfI");function c(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){return c(t),t.baseURL&&!a(t.url)&&(t.url=u(t.baseURL,t.url)),t.headers=t.headers||{},t.data=o(t.data,t.headers,t.transformRequest),t.headers=n.merge(t.headers.common||{},t.headers[t.method]||{},t.headers||{}),n.forEach(["delete","get","head","post","put","patch","common"],function(e){delete t.headers[e]}),(t.adapter||i.adapter)(t).then(function(e){return c(t),e.data=o(e.data,e.headers,t.transformResponse),e},function(e){return s(e)||(c(t),e&&e.response&&(e.response.data=o(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)})}}});
\ No newline at end of file
diff --git a/files/pages_specification_measurement-message.36a1c2bec6dcd2bf0fae.js b/files/pages_specification_measurement-message.27d039e09f0f00aa71c5.js
similarity index 99%
rename from files/pages_specification_measurement-message.36a1c2bec6dcd2bf0fae.js
rename to files/pages_specification_measurement-message.27d039e09f0f00aa71c5.js
index cc90518..8541bb9 100644
--- a/files/pages_specification_measurement-message.36a1c2bec6dcd2bf0fae.js
+++ b/files/pages_specification_measurement-message.27d039e09f0f00aa71c5.js
@@ -1 +1 @@
-webpackJsonp([1],{"3IRH":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},"5PlU":function(e,t,s){var r=s("RY/4"),a=s("dSzd")("iterator"),n=s("/bQp");e.exports=s("FeBl").isIterable=function(e){var t=Object(e);return void 0!==t[a]||"@@iterator"in t||n.hasOwnProperty(r(t))}},"5pwE":function(e,t,s){(e.exports=s("YHym")(!1)).push([e.i,".schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}",""])},"77aO":function(e,t,s){"use strict";t.a={props:{collapsed:{type:Boolean,default:!1}},data:function(){return{expanded:!this.collapsed,transitioning:!1}},watch:{collapsed:function(e){this.expanded=!e}},methods:{beforeenter:function(e){this.transitioning=!0,e.style.height=0},enter:function(e){e.style.height=e.scrollHeight+"px"},afterenter:function(e){e.style.height="",this.transitioning=!1},beforeleave:function(e){this.transitioning=!0,e.style.height=e.offsetHeight+"px",e.offsetHeight},leave:function(e){e.style.height=0,e.offsetHeight},afterleave:function(e){this.transitioning=!1},toggle:function(){this.transitioning||(this.expanded=!this.expanded,this.$emit(this.expanded?"expanding":"collapsing",this.id))}}}},A51D:function(e,t,s){var r=s("5pwE");"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);s("rjj0")("188b52d2",r,!1)},AxiT:function(e,t,s){var r=s("Lw7C");"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);s("rjj0")("0868896c",r,!1)},D9sP:function(e,t,s){"use strict";var r=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"schemaDetail",class:{"is-loading":e.loading},attrs:{id:"schema-detail"}},[s("div",{staticClass:"accordion"},[null!==e.schemas?s("card",{attrs:{collapsed:!0}},[s("template",{slot:"header"},[e._v("\n          Structure of payload\n        ")]),s("schemaToc",{attrs:{schemas:e.schemas,tag:"div"}})],2):e._e(),e._t("default")],2),s("h1",[s("a",{attrs:{id:e.type+"-schema-detail",title:e.type+" Fields definition"}}),e._v("\n      Fields definition\n    ")]),e._l(e.schemas,function(t){return s("div",{key:t.$key,staticClass:"card property"},[s("header",{staticClass:"card-header"},[s("a",{attrs:{id:"p-"+t.$idx}}),s("p",{staticClass:"card-header-title"},[s("span",{domProps:{innerHTML:e._s(t.$path)}})]),s("nuxt-link",{staticClass:"card-header-icon",attrs:{to:"#schema-detail",title:"go up"}},[s("span",{staticClass:"icon"},[s("i",{staticClass:"fa fa-angle-up"})])])],1),s("div",{staticClass:"card-content"},[t.description||t.type?s("div",{staticClass:"field is-horizontal"},[e._m(0,!0),t.description?s("div",{staticClass:"field-body"},[e._v("\n            "+e._s(t.description)+"\n          ")]):t.type?s("div",{staticClass:"field-body"},[e._v("\n            A simple "+e._s(e._f("capitalize")(t.type))+"\n          ")]):e._e()]):e._e(),t.$parent?s("div",{staticClass:"field is-horizontal"},[e._m(1,!0),s("div",{staticClass:"field-body"},[s("nuxt-link",{attrs:{to:"#p-"+t.$parent[0].$idx}},[s("span",{domProps:{innerHTML:e._s(t.$parent[0].$path)}})])],1)]):e._e(),t.type?s("div",{staticClass:"field is-horizontal"},[e._m(2,!0),s("div",{staticClass:"field-body"},[e._v("\n            "+e._s(e._f("capitalize")(t.type,t))+"\n          ")])]):e._e(),t.format?s("div",{staticClass:"field is-horizontal"},[e._m(3,!0),s("div",{staticClass:"field-body"},[e._v("\n            "+e._s(t.format)+"\n            "),e.$static.formats[t.format]?s("a",{attrs:{href:e.$static.formats[t.format].link}},[e._v(" ("+e._s(e.$static.formats[t.format].name)+")")]):e._e()])]):e._e(),t.enum&&t.enum.length?s("div",{staticClass:"field is-horizontal"},[e._m(4,!0),s("div",{staticClass:"field-body"},[s("div",[e._v("\n              "+e._s(t.enum.join(", "))+"\n            ")])])]):e._e(),t.hasOwnProperty("default")?s("div",{staticClass:"field is-horizontal"},[e._m(5,!0),s("div",{staticClass:"field-body"},[s("div",[e._v("\n              "+e._s(t.default)+"\n            ")])])]):e._e(),t.maxLength?s("div",{staticClass:"field is-horizontal"},[e._m(6,!0),s("div",{staticClass:"field-body"},[s("div",[e._v("\n              "+e._s(t.maxLength)+"\n            ")])])]):e._e(),t.properties||t.patternProperties||t.items?s("div",{staticClass:"field is-horizontal"},[e._m(7,!0),s("div",{staticClass:"field-body"},[Object.keys(t.properties||{}).length>0?s("schemaLink",{attrs:{schemas:e.schemas,link:t.properties}}):e._e(),Object.keys(t.patternProperties||{}).length>0?s("schemaLink",{attrs:{schemas:e.schemas,link:t.patternProperties}},[s("div",[e._v("Matching regular expressions:")])]):e._e(),!t.items||t.items instanceof Array?t.items?s("schemaLink",{attrs:{schemas:e.schemas,link:t.items}},[s("div",[e._v("Ordered items of type:")])]):e._e():s("schemaLink",{attrs:{schemas:e.schemas,link:t.items}}),Object.keys(t.properties||{}).length+Object.keys(t.patternProperties||{}).length!==0||t.items?e._e():[e._v("none")]],2)]):e._e(),t.minProperties?s("div",{staticClass:"field is-horizontal"},[e._m(8,!0),s("div",{staticClass:"field-body"},[s("div",[e._v("\n              "+e._s(t.minProperties)+"\n            ")])])]):e._e(),t.minItems?s("div",{staticClass:"field is-horizontal"},[e._m(9,!0),s("div",{staticClass:"field-body"},[s("div",[e._v("\n              "+e._s(t.minItems)+"\n            ")])])]):e._e(),t.hasOwnProperty("additionalProperties")?s("div",{staticClass:"field is-horizontal"},[e._m(10,!0),"boolean"==typeof t.additionalProperties?s("schemaLink",{staticClass:"field-body",attrs:{schemas:e.schemas,link:t.additionalProperties}}):s("div",{staticClass:"field-body"},[e._v("\n            if fulfilling "),s("schemaLink",{staticClass:"field-body",attrs:{schemas:e.schemas,link:t.additionalProperties}})],1)],1):e._e(),t.not||t.oneOf||t.allOf||t.anyOf?s("div",{staticClass:"field is-horizontal"},[e._m(11,!0),s("div",{staticClass:"field-body"},[t.not?s("schemaLink",{attrs:{schemas:e.schemas,link:t.not}},[e._v("\n              Not fulfilling \n            ")]):e._e(),t.oneOf?s("schemaLink",{attrs:{schemas:e.schemas,link:t.oneOf}},[s("div",[e._v("Fulfilling exactly one of:")])]):e._e(),t.allOf?s("schemaLink",{attrs:{schemas:e.schemas,link:t.allOf}},[s("div",[e._v("Fulfilling all of:")])]):e._e(),t.anyOf?s("schemaLink",{attrs:{schemas:e.schemas,link:t.anyOf}},[s("div",[e._v("Fulfilling one of:")])]):e._e()],1)]):e._e(),t.required&&t.required.length?s("div",{staticClass:"field is-horizontal"},[e._m(12,!0),s("div",{staticClass:"field-body"},[e._v("\n            "+e._s(t.required.join(", "))+"\n          ")])]):e._e(),e.examples.hasOwnProperty(t.$key)?s("div",{staticClass:"field is-horizontal"},[e._m(13,!0),s("div",{staticClass:"field-body"},[s("prism",{attrs:{language:"json"}},[e._v('...\n"'+e._s(e.examples[t.$key][1])+'": '+e._s(e._f("stringify")(e.examples[t.$key][0][e.examples[t.$key][1]]))+"\n...")])],1)]):e._e()])])})],2)};r._withStripped=!0;var a={render:r,staticRenderFns:[function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Description:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Parent:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Type:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Format:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Possible values:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Defaults to:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Maximum length:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Restriction on subfields:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Minimum amount of subfields:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Minimum amount of items:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Allows additional fields:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Restriction with boolean logic:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Required fields:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Example:")])])}]};t.a=a},Gs0Q:function(e,t,s){"use strict";t.a={name:"schemaToc",props:{tag:{type:String,default:"li"},schemas:{type:Object},entryNode:{type:String,default:"$"}},computed:{schema:function(){return this.schemas[this.entryNode]}}}},LJry:function(e,t,s){"use strict";var r={functional:!0,props:{code:{type:String},language:{type:String,default:"markup"}},render:function(e,t){var s=t.props.code||t.children[0].text,r=t.props.language,a=Prism.languages[r],n="language-"+r;return e("pre",function(e){for(var t=arguments,s=1;s<arguments.length;s++)for(var r in arguments[s])e[r]=t[s][r];return e}({},t.data,{class:[t.data.class,n]}),[e("code",{class:n,domProps:{innerHTML:Prism.highlight(s,a)}})])}};e.exports=r},Lw7C:function(e,t,s){(e.exports=s("YHym")(!1)).push([e.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}",""])},NVTU:function(e,t,s){"use strict";var r=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"card collapsibleCard",class:{collapsed:!e.expanded}},[e.$slots.header?s("header",{staticClass:"card-header",on:{click:function(t){t.preventDefault(),e.toggle()}}},[s("p",{staticClass:"card-header-title"},[!e.$slots.headerCollapsed||e.expanded?e._t("header"):e._t("headerCollapsed")],2),s("a",{staticClass:"card-header-icon"},[s("span",{staticClass:"icon"},[s("i",{staticClass:"fa",class:{"fa-angle-down":e.expanded,"fa-angle-up":!e.expanded}})])])]):e._e(),s("transition",{attrs:{name:"rollup","leave-active-class":"collapsing","enter-active-class":"collapsing"},on:{"before-leave":e.beforeleave,leave:e.leave,"after-leave":e.afterleave,"before-enter":e.beforeenter,enter:e.enter,"after-enter":e.afterenter}},[s("div",{directives:[{name:"show",rawName:"v-show",value:e.expanded,expression:"expanded"}]},[s("div",{staticClass:"card-content"},[e._t("default")],2)])])],1)};r._withStripped=!0;var a={render:r,staticRenderFns:[]};t.a=a},PD5z:function(e,t,s){"use strict";var r=function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"measurement-message content"},[this._m(0),t("p",[this._v("The measurement message is the format to exchange simple (non-structured, non-complex ) measurement data. It also allows to transport multiple measurement data (eg. values over time), called 'series'.")]),t("img",{staticClass:"is-centered",attrs:{src:"images/measurementPayload.svg",alt:"Class diagram of the measurement payload",title:"Class diagram of the measurement payload"}}),t("schemaDetail",{attrs:{type:"measurement",examples:this.$static.examples}},[t("card",{attrs:{collapsed:!0}},[t("template",{slot:"header"},[this._v("\n        Minimal message example\n      ")]),t("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.message)))])],2),t("card",{attrs:{collapsed:!0}},[t("template",{slot:"header"},[this._v("\n        Multiple message example\n      ")]),t("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.complexMessage)))])],2)],1)],1)};r._withStripped=!0;var a={render:r,staticRenderFns:[function(){var e=this.$createElement,t=this._self._c||e;return t("h1",[t("a",{attrs:{id:"Measurement-Payload",title:"Measurement Payload"}}),this._v("\n    Measurement Payload\n  ")])}]};t.a=a},T9Hf:function(e,t,s){"use strict";var r=s("77aO"),a=s("NVTU"),n=!1;var i=function(e){n||s("WVEp")},o=s("VU/8")(r.a,a.a,!1,i,null,null);o.options.__file="components\\collapsibleCard.vue",t.a=o.exports},TmV0:function(e,t,s){s("fZOM"),e.exports=s("FeBl").Object.values},W3Iv:function(e,t,s){e.exports={default:s("wEtr"),__esModule:!0}},WVEp:function(e,t,s){var r=s("a3hs");"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);s("rjj0")("52cedc5e",r,!1)},Xd32:function(e,t,s){s("+tPU"),s("zQR9"),e.exports=s("5PlU")},a3hs:function(e,t,s){(e.exports=s("YHym")(!1)).push([e.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}",""])},bOdI:function(e,t,s){"use strict";t.__esModule=!0;var r,a=s("C4MV"),n=(r=a)&&r.__esModule?r:{default:r};t.default=function(e,t,s){return t in e?(0,n.default)(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}},"bXX+":function(e,t,s){"use strict";var r=s("jhkR"),a=s("fvMW"),n=s("VU/8")(r.a,a.a,!1,null,null,null);n.options.__file="components\\schemaLink.vue",t.a=n.exports},cER1:function(e,t,s){"use strict";var r=s("mvHQ"),a=s.n(r),n=s("gRE1"),i=s.n(n),o=s("fZjL"),c=s.n(o),l=s("d7EF"),u=s.n(l),p=s("W3Iv"),f=s.n(p),d=s("bOdI"),m=s.n(d),h=s("woOf"),v=s.n(h),_=s("LJry"),y=s.n(_),g=s("zM1N"),b=s.n(g),$=s("T9Hf"),x=s("mQxp"),C=s("bXX+");t.a={props:{type:{type:String,required:!0},examples:{type:Object,required:!1,default:function(){return{}}}},data:function(){return{schema:null,loading:!0}},created:function(){var e=this,t={date:{link:"https://tools.ietf.org/html/rfc3339#section-5.6",name:"RFC3339, 5.6"},email:{link:"https://tools.ietf.org/html/rfc5322#section-3.4.1",name:"RFC5322, 3.4.1"}};s("kGrr")("./"+this.type+"_schema.json").then(function(t){return e.schema=t,e.loading=!1,e.idx=0,t}).catch(function(e){throw e}),this.$static={formats:{"date-time":t.date,date:t.date,time:t.date,email:t.email}}},methods:{flattenSchema:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{$key:"$",$path:"$"};!0===t?t={}:!1===t&&(t={not:!0});var r=m()({},s.$key,v()(t,s,{$idx:++this.idx}));if(t.items)if(t.items instanceof Array)t.items.forEach(function(a,n){var i={$key:s.$key+"/"+n,$path:s.$path+"["+n+"]",$parent:[t,t.items,n]};v()(r,e.flattenSchema(a,i)),t.items[n]=i.$key});else{var a={$key:s.$key+"/",$path:s.$path+"[*]",$parent:[t,t,"items"]};v()(r,this.flattenSchema(t.items,a)),t.items=a.$key}return["properties","patternProperties"].filter(function(e){return t.hasOwnProperty(e)}).forEach(function(a){return f()(t[a]).forEach(function(n,i){var o=u()(n,2),c=o[0],l=o[1],p={$key:s.$key+"/"+a+"/"+encodeURIComponent(c),$path:s.$path+"&#8203;.",$parent:[t,t[a],c]};p.$path+="patternProperties"===a?"&lt;field&gt;":c,v()(r,e.flattenSchema(l,p)),t[a][c]=p.$key})}),["additionalItems","additionalProperties","contains","propertyNames","not"].filter(function(e){return t.hasOwnProperty(e)}).forEach(function(a){var n={$key:s.$key+"/"+a,$path:s.$path+"+",$parent:[t,t,a]};v()(r,e.flattenSchema(t[a],n)),t[a]=n.$key}),["allOf","anyOf","oneOf"].filter(function(e){return t.hasOwnProperty(e)}).forEach(function(a){return t[a].forEach(function(n,i){var o={$key:s.$key+"/"+a+"/"+i,$path:s.$path+"("+i+")?",$parent:[t,t[a],i]};v()(r,e.flattenSchema(n,o)),t[a][i]=o.$key})}),r},shrinkSchemas:function(e){var t=function(e){return e.anyOf&&e.anyOf.indexOf(!0)>=0?[e,!0]:e.allOf&&e.allOf.indexOf(!1)>=0?[e,!1]:!0===e.not?[e,!1]:0===c()(e).filter(function(e){return"$"!==e[0]}).length?[e,!0]:null};return i()(e).map(t).filter(function(e){return e}).forEach(function s(r){if(r){var a=u()(r,2),n=a[0],i=a[1];n.$parent[1][n.$parent[2]]=i,delete e[n.$key],s(t(n.$parent[0]))}}),e}},computed:{schemas:function(){return null===this.schema?null:this.shrinkSchemas(this.flattenSchema(b()(this.schema)))}},filters:{stringify:function(e){return a()(e," ",2)},capitalize:function(e,t){return e?(e instanceof Array||(e=[e]),e.map(function(e){return""+e[0].toUpperCase()+e.slice(1)}).join(", ")):""}},components:{card:$.a,prism:y.a,schemaToc:x.a,schemaLink:C.a}}},d7EF:function(e,t,s){"use strict";t.__esModule=!0;var r=n(s("us/S")),a=n(s("BO1k"));function n(e){return e&&e.__esModule?e:{default:e}}t.default=function(){return function(e,t){if(Array.isArray(e))return e;if((0,r.default)(Object(e)))return function(e,t){var s=[],r=!0,n=!1,i=void 0;try{for(var o,c=(0,a.default)(e);!(r=(o=c.next()).done)&&(s.push(o.value),!t||s.length!==t);r=!0);}catch(e){n=!0,i=e}finally{try{!r&&c.return&&c.return()}finally{if(n)throw i}}return s}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},fC1w:function(e,t,s){"use strict";var r=s("mvHQ"),a=s.n(r),n=s("LJry"),i=s.n(n),o=s("T9Hf"),c=s("s8mu");t.a={created:function(){var e=new Date,t="a4927dad-58d4-4580-b460-79cefd56775b";this.$static={message:{"content-spec":"urn:spec://eclipse.org/unide/measurement-message#v2",device:{deviceID:t},measurements:[{ts:e.toISOString(),series:{$_time:[0,23,24],temperature:[45.4231,46.4222,44.2432]}}]},complexMessage:{"content-spec":"urn:spec://eclipse.org/unide/measurement-message#v2",device:{deviceID:t,operationalStatus:"MM",metaData:{swVersion:"2.0.3.13",swBuildID:"41535"}},part:{partTypeID:"F00VH07328",partID:"420003844",result:"OK",code:"HUH289",metaData:{lotID:"845849",toolID:"32324-432143"}},measurements:[{ts:e.toISOString(),code:"190ABT",result:"OK",series:{$_time:[0,23,24],temperature:[45.4231,46.4222,44.2432]},limits:{temperature:{lowerError:40,lowerWork:45,upperError:50,upperWarn:47.5}}},{ts:new Date(e.valueOf()-5e3).toISOString(),series:{$_time:[0,130,2633],pressure:[52.4,46.32,44.2432]}}]}},this.$static.examples={"$/properties/content-spec":[this.$static.message,"content-spec"],"$/properties/device":[this.$static.complexMessage,"device"],"$/properties/device/properties/deviceID":[this.$static.message.device,"deviceID"],"$/properties/device/properties/metaData":[this.$static.complexMessage.device,"metaData"],"$/properties/device/properties/operationalStatus":[this.$static.complexMessage.device,"operationalStatus"],"$/properties/measurements":[this.$static.message,"measurements"],"$/properties/measurements//properties/code":[this.$static.complexMessage.measurements[0],"code"],"$/properties/measurements//properties/limits":[this.$static.complexMessage.measurements[0],"limits"],"$/properties/measurements//properties/limits/patternProperties/%5E%5B%5E%24%5D.%2B":[this.$static.complexMessage.measurements[0].limits,"temperature"],"$/properties/measurements//properties/limits/patternProperties/%5E%5B%5E%24%5D.%2B/properties/lowerError":[this.$static.complexMessage.measurements[0].limits.temperature,"lowerError"],"$/properties/measurements//properties/limits/patternProperties/%5E%5B%5E%24%5D.%2B/properties/lowerWarn":[this.$static.complexMessage.measurements[0].limits.temperature,"lowerWarn"],"$/properties/measurements//properties/limits/patternProperties/%5E%5B%5E%24%5D.%2B/properties/upperError":[this.$static.complexMessage.measurements[0].limits.temperature,"upperError"],"$/properties/measurements//properties/limits/patternProperties/%5E%5B%5E%24%5D.%2B/properties/upperWarn":[this.$static.complexMessage.measurements[0].limits.temperature,"upperWarn"],"$/properties/measurements//properties/result":[this.$static.complexMessage.measurements[0],"result"],"$/properties/measurements//properties/series":[this.$static.message.measurements[0],"series"],"$/properties/measurements//properties/series/patternProperties/%5E%5B%5E%24%5D.%2B":[this.$static.message.measurements[0].series,"temperature"],"$/properties/measurements//properties/series/properties/%24_time":[this.$static.message.measurements[0].series,"$_time"],"$/properties/measurements//properties/ts":[this.$static.message.measurements[0],"ts"],"$/properties/part":[this.$static.complexMessage,"part"],"$/properties/part/properties/code":[this.$static.complexMessage.part,"code"],"$/properties/part/properties/metaData":[this.$static.complexMessage.part,"metaData"],"$/properties/part/properties/partID":[this.$static.complexMessage.part,"partID"],"$/properties/part/properties/partTypeID":[this.$static.complexMessage.part,"partTypeID"],"$/properties/part/properties/result":[this.$static.complexMessage.part,"result"]}},filters:{stringify:function(e){return a()(e," ",2)}},components:{card:o.a,prism:i.a,schemaDetail:c.a}}},fZOM:function(e,t,s){var r=s("kM2E"),a=s("mbce")(!1);r(r.S,"Object",{values:function(e){return a(e)}})},fvMW:function(e,t,s){"use strict";var r=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",[e._t("default"),!0===e.link?[e._v("\n    yes \n  ")]:!1===e.link?[e._v("\n    no \n  ")]:"string"==typeof e.link?[s("nuxt-link",{attrs:{to:"#p-"+e.schemas[e.link].$idx}},[s("span",{domProps:{innerHTML:e._s(e.schemas[e.link].$path)}})])]:e.link instanceof Array?s("ul",e._l(e.link,function(t){return s("li",[s("nuxt-link",{attrs:{to:"#p-"+e.schemas[t].$idx}},[s("span",{domProps:{innerHTML:e._s(e.schemas[t].$path)}})])],1)})):e.link instanceof Object?s("ul",e._l(e.link,function(t,r){return s("li",[s("nuxt-link",{attrs:{to:"#p-"+e.schemas[t].$idx}},[e._v("\n        "+e._s(r)+"\n      ")])],1)})):e._e()],2)};r._withStripped=!0;var a={render:r,staticRenderFns:[]};t.a=a},gRE1:function(e,t,s){e.exports={default:s("TmV0"),__esModule:!0}},gSvA:function(e,t,s){var r=s("kM2E"),a=s("mbce")(!0);r(r.S,"Object",{entries:function(e){return a(e)}})},hvFG:function(e,t,s){"use strict";var r=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s(e.tag,{tag:"component"},[s("nuxt-link",{attrs:{to:"#p-"+e.schema.$idx}},[s("span",{domProps:{innerHTML:e._s(e.schema.$path)}})]),e.schema.properties||e.schema.patternProperties||e.schema.items?s("ul",[e._l(e.schema.properties,function(t,r){return s("schemaToc",{key:r,attrs:{schemas:e.schemas,entryNode:t}})}),e._l(e.schema.patternProperties,function(t,r){return s("schemaToc",{key:r,attrs:{schemas:e.schemas,entryNode:t}})}),e.schema.items?[e.schema.items instanceof Array?e._l(e.schema.items,function(t,r){return s("schemaToc",{key:r,attrs:{schemas:e.schemas,entryNode:t}})}):s("schemaToc",{attrs:{schemas:e.schemas,entryNode:e.schema.items}})]:e._e()],2):e._e()],1)};r._withStripped=!0;var a={render:r,staticRenderFns:[]};t.a=a},jhkR:function(e,t,s){"use strict";t.a={props:{schemas:{type:Object,required:!0},link:{required:!0}}}},kGrr:function(e,t,s){var r={"./measurement_schema.json":["oGp6",17],"./message_schema.json":["2BTs",16],"./process_schema.json":["rRyJ",15]};function a(e){var t=r[e];return t?s.e(t[1]).then(function(){return s(t[0])}):Promise.reject(new Error("Cannot find module '"+e+"'."))}a.keys=function(){return Object.keys(r)},a.id="kGrr",e.exports=a},lYS2:function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s("fC1w"),a=s("PD5z"),n=s("VU/8")(r.a,a.a,!1,null,null,null);n.options.__file="pages\\specification\\measurement-message.vue",t.default=n.exports},mQxp:function(e,t,s){"use strict";var r=s("Gs0Q"),a=s("hvFG"),n=!1;var i=function(e){n||s("AxiT")},o=s("VU/8")(r.a,a.a,!1,i,null,null);o.options.__file="components\\schemaToc.vue",t.a=o.exports},mbce:function(e,t,s){var r=s("lktj"),a=s("TcQ7"),n=s("NpIQ").f;e.exports=function(e){return function(t){for(var s,i=a(t),o=r(i),c=o.length,l=0,u=[];c>l;)n.call(i,s=o[l++])&&u.push(e?[s,i[s]]:i[s]);return u}}},s8mu:function(e,t,s){"use strict";var r=s("cER1"),a=s("D9sP"),n=!1;var i=function(e){n||s("A51D")},o=s("VU/8")(r.a,a.a,!1,i,null,null);o.options.__file="components\\schemaDetail.vue",t.a=o.exports},"us/S":function(e,t,s){e.exports={default:s("Xd32"),__esModule:!0}},wEtr:function(e,t,s){s("gSvA"),e.exports=s("FeBl").Object.entries},zM1N:function(e,t,s){(function(e,s){var r=200,a="__lodash_hash_undefined__",n=9007199254740991,i="[object Arguments]",o="[object Boolean]",c="[object Date]",l="[object Function]",u="[object GeneratorFunction]",p="[object Map]",f="[object Number]",d="[object Object]",m="[object Promise]",h="[object RegExp]",v="[object Set]",_="[object String]",y="[object Symbol]",g="[object WeakMap]",b="[object ArrayBuffer]",$="[object DataView]",x="[object Float32Array]",C="[object Float64Array]",k="[object Int8Array]",j="[object Int16Array]",O="[object Int32Array]",w="[object Uint8Array]",E="[object Uint8ClampedArray]",P="[object Uint16Array]",M="[object Uint32Array]",S=/\w*$/,D=/^\[object .+?Constructor\]$/,A=/^(?:0|[1-9]\d*)$/,I={};I[i]=I["[object Array]"]=I[b]=I[$]=I[o]=I[c]=I[x]=I[C]=I[k]=I[j]=I[O]=I[p]=I[f]=I[d]=I[h]=I[v]=I[_]=I[y]=I[w]=I[E]=I[P]=I[M]=!0,I["[object Error]"]=I[l]=I[g]=!1;var T="object"==typeof e&&e&&e.Object===Object&&e,L="object"==typeof self&&self&&self.Object===Object&&self,F=T||L||Function("return this")(),R="object"==typeof t&&t&&!t.nodeType&&t,z=R&&"object"==typeof s&&s&&!s.nodeType&&s,B=z&&z.exports===R;function H(e,t){return e.set(t[0],t[1]),e}function U(e,t){return e.add(t),e}function V(e,t,s,r){var a=-1,n=e?e.length:0;for(r&&n&&(s=e[++a]);++a<n;)s=t(s,e[a],a,e);return s}function N(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function W(e){var t=-1,s=Array(e.size);return e.forEach(function(e,r){s[++t]=[r,e]}),s}function Q(e,t){return function(s){return e(t(s))}}function G(e){var t=-1,s=Array(e.size);return e.forEach(function(e){s[++t]=e}),s}var q,X=Array.prototype,J=Function.prototype,Y=Object.prototype,Z=F["__core-js_shared__"],K=(q=/[^.]+$/.exec(Z&&Z.keys&&Z.keys.IE_PROTO||""))?"Symbol(src)_1."+q:"",ee=J.toString,te=Y.hasOwnProperty,se=Y.toString,re=RegExp("^"+ee.call(te).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ae=B?F.Buffer:void 0,ne=F.Symbol,ie=F.Uint8Array,oe=Q(Object.getPrototypeOf,Object),ce=Object.create,le=Y.propertyIsEnumerable,ue=X.splice,pe=Object.getOwnPropertySymbols,fe=ae?ae.isBuffer:void 0,de=Q(Object.keys,Object),me=ze(F,"DataView"),he=ze(F,"Map"),ve=ze(F,"Promise"),_e=ze(F,"Set"),ye=ze(F,"WeakMap"),ge=ze(Object,"create"),be=Ne(me),$e=Ne(he),xe=Ne(ve),Ce=Ne(_e),ke=Ne(ye),je=ne?ne.prototype:void 0,Oe=je?je.valueOf:void 0;function we(e){var t=-1,s=e?e.length:0;for(this.clear();++t<s;){var r=e[t];this.set(r[0],r[1])}}function Ee(e){var t=-1,s=e?e.length:0;for(this.clear();++t<s;){var r=e[t];this.set(r[0],r[1])}}function Pe(e){var t=-1,s=e?e.length:0;for(this.clear();++t<s;){var r=e[t];this.set(r[0],r[1])}}function Me(e){this.__data__=new Ee(e)}function Se(e,t){var s,r,a,n=Qe(e)||(a=r=s=e)&&"object"==typeof a&&Ge(r)&&te.call(s,"callee")&&(!le.call(s,"callee")||se.call(s)==i)?function(e,t){for(var s=-1,r=Array(e);++s<e;)r[s]=t(s);return r}(e.length,String):[],o=n.length,c=!!o;for(var l in e)!t&&!te.call(e,l)||c&&("length"==l||Ue(l,o))||n.push(l);return n}function De(e,t,s){var r=e[t];te.call(e,t)&&We(r,s)&&(void 0!==s||t in e)||(e[t]=s)}function Ae(e,t){for(var s=e.length;s--;)if(We(e[s][0],t))return s;return-1}function Ie(e,t,s,r,a,n,m){var g;if(r&&(g=n?r(e,a,n,m):r(e)),void 0!==g)return g;if(!Je(e))return e;var D,A,T,L,F,R,z=Qe(e);if(z){if(g=function(e){var t=e.length,s=e.constructor(t);t&&"string"==typeof e[0]&&te.call(e,"index")&&(s.index=e.index,s.input=e.input);return s}(e),!t)return function(e,t){var s=-1,r=e.length;t||(t=Array(r));for(;++s<r;)t[s]=e[s];return t}(e,g)}else{var B=He(e),Q=B==l||B==u;if(qe(e))return function(e,t){if(t)return e.slice();var s=new e.constructor(e.length);return e.copy(s),s}(e,t);if(B==d||B==i||Q&&!n){if(N(e))return n?e:{};if(g="function"!=typeof(F=Q?{}:e).constructor||Ve(F)?{}:Je(R=oe(F))?ce(R):{},!t)return D=e,L=e,A=(T=g)&&Fe(L,Ye(L),T),Fe(D,Be(D),A)}else{if(!I[B])return n?e:{};g=function(e,t,s,r){var a=e.constructor;switch(t){case b:return Le(e);case o:case c:return new a(+e);case $:return D=e,A=r?Le(D.buffer):D.buffer,new D.constructor(A,D.byteOffset,D.byteLength);case x:case C:case k:case j:case O:case w:case E:case P:case M:return m=e,g=r?Le(m.buffer):m.buffer,new m.constructor(g,m.byteOffset,m.length);case p:return d=e,V(r?s(W(d),!0):W(d),H,new d.constructor);case f:case _:return new a(e);case h:return(u=new(l=e).constructor(l.source,S.exec(l))).lastIndex=l.lastIndex,u;case v:return i=e,V(r?s(G(i),!0):G(i),U,new i.constructor);case y:return n=e,Oe?Object(Oe.call(n)):{}}var n;var i;var l,u;var d;var m,g;var D,A}(e,B,Ie,t)}}m||(m=new Me);var q,X,J,Y=m.get(e);if(Y)return Y;if(m.set(e,g),!z)var Z=s?(X=Be,J=Ye(q=e),Qe(q)?J:function(e,t){for(var s=-1,r=t.length,a=e.length;++s<r;)e[a+s]=t[s];return e}(J,X(q))):Ye(e);return function(e,t){for(var s=-1,r=e?e.length:0;++s<r&&!1!==t(e[s],s,e););}(Z||e,function(a,n){Z&&(a=e[n=a]),De(g,n,Ie(a,t,s,r,n,e,m))}),g}function Te(e){return!(!Je(e)||K&&K in e)&&(Xe(e)||N(e)?re:D).test(Ne(e))}function Le(e){var t=new e.constructor(e.byteLength);return new ie(t).set(new ie(e)),t}function Fe(e,t,s,r){s||(s={});for(var a=-1,n=t.length;++a<n;){var i=t[a],o=r?r(s[i],e[i],i,s,e):void 0;De(s,i,void 0===o?e[i]:o)}return s}function Re(e,t){var s,r,a=e.__data__;return("string"==(r=typeof(s=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==s:null===s)?a["string"==typeof t?"string":"hash"]:a.map}function ze(e,t){var s,r=null==(s=e)?void 0:s[t];return Te(r)?r:void 0}we.prototype.clear=function(){this.__data__=ge?ge(null):{}},we.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},we.prototype.get=function(e){var t=this.__data__;if(ge){var s=t[e];return s===a?void 0:s}return te.call(t,e)?t[e]:void 0},we.prototype.has=function(e){var t=this.__data__;return ge?void 0!==t[e]:te.call(t,e)},we.prototype.set=function(e,t){return this.__data__[e]=ge&&void 0===t?a:t,this},Ee.prototype.clear=function(){this.__data__=[]},Ee.prototype.delete=function(e){var t=this.__data__,s=Ae(t,e);return!(s<0||(s==t.length-1?t.pop():ue.call(t,s,1),0))},Ee.prototype.get=function(e){var t=this.__data__,s=Ae(t,e);return s<0?void 0:t[s][1]},Ee.prototype.has=function(e){return Ae(this.__data__,e)>-1},Ee.prototype.set=function(e,t){var s=this.__data__,r=Ae(s,e);return r<0?s.push([e,t]):s[r][1]=t,this},Pe.prototype.clear=function(){this.__data__={hash:new we,map:new(he||Ee),string:new we}},Pe.prototype.delete=function(e){return Re(this,e).delete(e)},Pe.prototype.get=function(e){return Re(this,e).get(e)},Pe.prototype.has=function(e){return Re(this,e).has(e)},Pe.prototype.set=function(e,t){return Re(this,e).set(e,t),this},Me.prototype.clear=function(){this.__data__=new Ee},Me.prototype.delete=function(e){return this.__data__.delete(e)},Me.prototype.get=function(e){return this.__data__.get(e)},Me.prototype.has=function(e){return this.__data__.has(e)},Me.prototype.set=function(e,t){var s=this.__data__;if(s instanceof Ee){var a=s.__data__;if(!he||a.length<r-1)return a.push([e,t]),this;s=this.__data__=new Pe(a)}return s.set(e,t),this};var Be=pe?Q(pe,Object):function(){return[]},He=function(e){return se.call(e)};function Ue(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||A.test(e))&&e>-1&&e%1==0&&e<t}function Ve(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Y)}function Ne(e){if(null!=e){try{return ee.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function We(e,t){return e===t||e!=e&&t!=t}(me&&He(new me(new ArrayBuffer(1)))!=$||he&&He(new he)!=p||ve&&He(ve.resolve())!=m||_e&&He(new _e)!=v||ye&&He(new ye)!=g)&&(He=function(e){var t=se.call(e),s=t==d?e.constructor:void 0,r=s?Ne(s):void 0;if(r)switch(r){case be:return $;case $e:return p;case xe:return m;case Ce:return v;case ke:return g}return t});var Qe=Array.isArray;function Ge(e){return null!=e&&("number"==typeof(t=e.length)&&t>-1&&t%1==0&&t<=n)&&!Xe(e);var t}var qe=fe||function(){return!1};function Xe(e){var t=Je(e)?se.call(e):"";return t==l||t==u}function Je(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Ye(e){return Ge(e)?Se(e):function(e){if(!Ve(e))return de(e);var t=[];for(var s in Object(e))te.call(e,s)&&"constructor"!=s&&t.push(s);return t}(e)}s.exports=function(e){return Ie(e,!0,!0)}}).call(t,s("DuR2"),s("3IRH")(e))}});
\ No newline at end of file
+webpackJsonp([1],{"3IRH":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},"5PlU":function(e,t,s){var r=s("RY/4"),a=s("dSzd")("iterator"),n=s("/bQp");e.exports=s("FeBl").isIterable=function(e){var t=Object(e);return void 0!==t[a]||"@@iterator"in t||n.hasOwnProperty(r(t))}},"5pwE":function(e,t,s){(e.exports=s("YHym")(!1)).push([e.i,".schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}",""])},"77aO":function(e,t,s){"use strict";t.a={props:{collapsed:{type:Boolean,default:!1}},data:function(){return{expanded:!this.collapsed,transitioning:!1}},watch:{collapsed:function(e){this.expanded=!e}},methods:{beforeenter:function(e){this.transitioning=!0,e.style.height=0},enter:function(e){e.style.height=e.scrollHeight+"px"},afterenter:function(e){e.style.height="",this.transitioning=!1},beforeleave:function(e){this.transitioning=!0,e.style.height=e.offsetHeight+"px",e.offsetHeight},leave:function(e){e.style.height=0,e.offsetHeight},afterleave:function(e){this.transitioning=!1},toggle:function(){this.transitioning||(this.expanded=!this.expanded,this.$emit(this.expanded?"expanding":"collapsing",this.id))}}}},A51D:function(e,t,s){var r=s("5pwE");"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);s("rjj0")("188b52d2",r,!1)},AxiT:function(e,t,s){var r=s("Lw7C");"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);s("rjj0")("0868896c",r,!1)},D9sP:function(e,t,s){"use strict";var r=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"schemaDetail",class:{"is-loading":e.loading},attrs:{id:"schema-detail"}},[s("div",{staticClass:"accordion"},[null!==e.schemas?s("card",{attrs:{collapsed:!0}},[s("template",{slot:"header"},[e._v("\n          Structure of payload\n        ")]),s("schemaToc",{attrs:{schemas:e.schemas,tag:"div"}})],2):e._e(),e._t("default")],2),s("h1",[s("a",{attrs:{id:e.type+"-schema-detail",title:e.type+" Fields definition"}}),e._v("\n      Fields definition\n    ")]),e._l(e.schemas,function(t){return s("div",{key:t.$key,staticClass:"card property"},[s("header",{staticClass:"card-header"},[s("a",{attrs:{id:"p-"+t.$idx}}),s("p",{staticClass:"card-header-title"},[s("span",{domProps:{innerHTML:e._s(t.$path)}})]),s("nuxt-link",{staticClass:"card-header-icon",attrs:{to:"#schema-detail",title:"go up"}},[s("span",{staticClass:"icon"},[s("i",{staticClass:"fa fa-angle-up"})])])],1),s("div",{staticClass:"card-content"},[t.description||t.type?s("div",{staticClass:"field is-horizontal"},[e._m(0,!0),t.description?s("div",{staticClass:"field-body"},[e._v("\n            "+e._s(t.description)+"\n          ")]):t.type?s("div",{staticClass:"field-body"},[e._v("\n            A simple "+e._s(e._f("capitalize")(t.type))+"\n          ")]):e._e()]):e._e(),t.$parent?s("div",{staticClass:"field is-horizontal"},[e._m(1,!0),s("div",{staticClass:"field-body"},[s("nuxt-link",{attrs:{to:"#p-"+t.$parent[0].$idx}},[s("span",{domProps:{innerHTML:e._s(t.$parent[0].$path)}})])],1)]):e._e(),t.type?s("div",{staticClass:"field is-horizontal"},[e._m(2,!0),s("div",{staticClass:"field-body"},[e._v("\n            "+e._s(e._f("capitalize")(t.type,t))+"\n          ")])]):e._e(),t.format?s("div",{staticClass:"field is-horizontal"},[e._m(3,!0),s("div",{staticClass:"field-body"},[e._v("\n            "+e._s(t.format)+"\n            "),e.$static.formats[t.format]?s("a",{attrs:{href:e.$static.formats[t.format].link}},[e._v(" ("+e._s(e.$static.formats[t.format].name)+")")]):e._e()])]):e._e(),t.enum&&t.enum.length?s("div",{staticClass:"field is-horizontal"},[e._m(4,!0),s("div",{staticClass:"field-body"},[s("div",[e._v("\n              "+e._s(t.enum.join(", "))+"\n            ")])])]):e._e(),t.hasOwnProperty("default")?s("div",{staticClass:"field is-horizontal"},[e._m(5,!0),s("div",{staticClass:"field-body"},[s("div",[e._v("\n              "+e._s(t.default)+"\n            ")])])]):e._e(),t.maxLength?s("div",{staticClass:"field is-horizontal"},[e._m(6,!0),s("div",{staticClass:"field-body"},[s("div",[e._v("\n              "+e._s(t.maxLength)+"\n            ")])])]):e._e(),t.properties||t.patternProperties||t.items?s("div",{staticClass:"field is-horizontal"},[e._m(7,!0),s("div",{staticClass:"field-body"},[Object.keys(t.properties||{}).length>0?s("schemaLink",{attrs:{schemas:e.schemas,link:t.properties}}):e._e(),Object.keys(t.patternProperties||{}).length>0?s("schemaLink",{attrs:{schemas:e.schemas,link:t.patternProperties}},[s("div",[e._v("Matching regular expressions:")])]):e._e(),!t.items||t.items instanceof Array?t.items?s("schemaLink",{attrs:{schemas:e.schemas,link:t.items}},[s("div",[e._v("Ordered items of type:")])]):e._e():s("schemaLink",{attrs:{schemas:e.schemas,link:t.items}}),Object.keys(t.properties||{}).length+Object.keys(t.patternProperties||{}).length!==0||t.items?e._e():[e._v("none")]],2)]):e._e(),t.minProperties?s("div",{staticClass:"field is-horizontal"},[e._m(8,!0),s("div",{staticClass:"field-body"},[s("div",[e._v("\n              "+e._s(t.minProperties)+"\n            ")])])]):e._e(),t.minItems?s("div",{staticClass:"field is-horizontal"},[e._m(9,!0),s("div",{staticClass:"field-body"},[s("div",[e._v("\n              "+e._s(t.minItems)+"\n            ")])])]):e._e(),t.hasOwnProperty("additionalProperties")?s("div",{staticClass:"field is-horizontal"},[e._m(10,!0),"boolean"==typeof t.additionalProperties?s("schemaLink",{staticClass:"field-body",attrs:{schemas:e.schemas,link:t.additionalProperties}}):s("div",{staticClass:"field-body"},[e._v("\n            if fulfilling "),s("schemaLink",{staticClass:"field-body",attrs:{schemas:e.schemas,link:t.additionalProperties}})],1)],1):e._e(),t.not||t.oneOf||t.allOf||t.anyOf?s("div",{staticClass:"field is-horizontal"},[e._m(11,!0),s("div",{staticClass:"field-body"},[t.not?s("schemaLink",{attrs:{schemas:e.schemas,link:t.not}},[e._v("\n              Not fulfilling \n            ")]):e._e(),t.oneOf?s("schemaLink",{attrs:{schemas:e.schemas,link:t.oneOf}},[s("div",[e._v("Fulfilling exactly one of:")])]):e._e(),t.allOf?s("schemaLink",{attrs:{schemas:e.schemas,link:t.allOf}},[s("div",[e._v("Fulfilling all of:")])]):e._e(),t.anyOf?s("schemaLink",{attrs:{schemas:e.schemas,link:t.anyOf}},[s("div",[e._v("Fulfilling one of:")])]):e._e()],1)]):e._e(),t.required&&t.required.length?s("div",{staticClass:"field is-horizontal"},[e._m(12,!0),s("div",{staticClass:"field-body"},[e._v("\n            "+e._s(t.required.join(", "))+"\n          ")])]):e._e(),e.examples.hasOwnProperty(t.$key)?s("div",{staticClass:"field is-horizontal"},[e._m(13,!0),s("div",{staticClass:"field-body"},[s("prism",{attrs:{language:"json"}},[e._v('...\n"'+e._s(e.examples[t.$key][1])+'": '+e._s(e._f("stringify")(e.examples[t.$key][0][e.examples[t.$key][1]]))+"\n...")])],1)]):e._e()])])})],2)};r._withStripped=!0;var a={render:r,staticRenderFns:[function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Description:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Parent:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Type:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Format:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Possible values:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Defaults to:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Maximum length:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Restriction on subfields:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Minimum amount of subfields:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Minimum amount of items:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Allows additional fields:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Restriction with boolean logic:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Required fields:")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"field-label"},[t("label",{staticClass:"label"},[this._v("Example:")])])}]};t.a=a},Gs0Q:function(e,t,s){"use strict";t.a={name:"schemaToc",props:{tag:{type:String,default:"li"},schemas:{type:Object},entryNode:{type:String,default:"$"}},computed:{schema:function(){return this.schemas[this.entryNode]}}}},LJry:function(e,t,s){"use strict";var r={functional:!0,props:{code:{type:String},language:{type:String,default:"markup"}},render:function(e,t){var s=t.props.code||t.children[0].text,r=t.props.language,a=Prism.languages[r],n="language-"+r;return e("pre",function(e){for(var t=arguments,s=1;s<arguments.length;s++)for(var r in arguments[s])e[r]=t[s][r];return e}({},t.data,{class:[t.data.class,n]}),[e("code",{class:n,domProps:{innerHTML:Prism.highlight(s,a)}})])}};e.exports=r},Lw7C:function(e,t,s){(e.exports=s("YHym")(!1)).push([e.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}",""])},NVTU:function(e,t,s){"use strict";var r=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"card collapsibleCard",class:{collapsed:!e.expanded}},[e.$slots.header?s("header",{staticClass:"card-header",on:{click:function(t){t.preventDefault(),e.toggle()}}},[s("p",{staticClass:"card-header-title"},[!e.$slots.headerCollapsed||e.expanded?e._t("header"):e._t("headerCollapsed")],2),s("a",{staticClass:"card-header-icon"},[s("span",{staticClass:"icon"},[s("i",{staticClass:"fa",class:{"fa-angle-down":e.expanded,"fa-angle-up":!e.expanded}})])])]):e._e(),s("transition",{attrs:{name:"rollup","leave-active-class":"collapsing","enter-active-class":"collapsing"},on:{"before-leave":e.beforeleave,leave:e.leave,"after-leave":e.afterleave,"before-enter":e.beforeenter,enter:e.enter,"after-enter":e.afterenter}},[s("div",{directives:[{name:"show",rawName:"v-show",value:e.expanded,expression:"expanded"}]},[s("div",{staticClass:"card-content"},[e._t("default")],2)])])],1)};r._withStripped=!0;var a={render:r,staticRenderFns:[]};t.a=a},PD5z:function(e,t,s){"use strict";var r=function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"measurement-message content"},[this._m(0),t("p",[this._v("The measurement message is the format to exchange simple (non-structured, non-complex ) measurement data. It also allows to transport multiple measurement data (eg. values over time), called 'series'.")]),t("img",{staticClass:"is-centered",attrs:{src:"images/measurementPayload.svg",alt:"Class diagram of the measurement payload",title:"Class diagram of the measurement payload"}}),t("schemaDetail",{attrs:{type:"measurement",examples:this.$static.examples}},[t("card",{attrs:{collapsed:!0}},[t("template",{slot:"header"},[this._v("\n        Minimal message example\n      ")]),t("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.message)))])],2),t("card",{attrs:{collapsed:!0}},[t("template",{slot:"header"},[this._v("\n        Multiple message example\n      ")]),t("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.complexMessage)))])],2)],1)],1)};r._withStripped=!0;var a={render:r,staticRenderFns:[function(){var e=this.$createElement,t=this._self._c||e;return t("h1",[t("a",{attrs:{id:"Measurement-Payload",title:"Measurement Payload"}}),this._v("\n    Measurement Payload\n  ")])}]};t.a=a},T9Hf:function(e,t,s){"use strict";var r=s("77aO"),a=s("NVTU"),n=!1;var i=function(e){n||s("WVEp")},o=s("VU/8")(r.a,a.a,!1,i,null,null);o.options.__file="components\\collapsibleCard.vue",t.a=o.exports},TmV0:function(e,t,s){s("fZOM"),e.exports=s("FeBl").Object.values},W3Iv:function(e,t,s){e.exports={default:s("wEtr"),__esModule:!0}},WVEp:function(e,t,s){var r=s("a3hs");"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);s("rjj0")("52cedc5e",r,!1)},Xd32:function(e,t,s){s("+tPU"),s("zQR9"),e.exports=s("5PlU")},a3hs:function(e,t,s){(e.exports=s("YHym")(!1)).push([e.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}",""])},bOdI:function(e,t,s){"use strict";t.__esModule=!0;var r,a=s("C4MV"),n=(r=a)&&r.__esModule?r:{default:r};t.default=function(e,t,s){return t in e?(0,n.default)(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}},"bXX+":function(e,t,s){"use strict";var r=s("jhkR"),a=s("fvMW"),n=s("VU/8")(r.a,a.a,!1,null,null,null);n.options.__file="components\\schemaLink.vue",t.a=n.exports},cER1:function(e,t,s){"use strict";var r=s("mvHQ"),a=s.n(r),n=s("gRE1"),i=s.n(n),o=s("fZjL"),c=s.n(o),l=s("d7EF"),u=s.n(l),p=s("W3Iv"),f=s.n(p),d=s("bOdI"),m=s.n(d),h=s("woOf"),v=s.n(h),_=s("LJry"),y=s.n(_),g=s("zM1N"),b=s.n(g),$=s("T9Hf"),x=s("mQxp"),C=s("bXX+");t.a={props:{type:{type:String,required:!0},examples:{type:Object,required:!1,default:function(){return{}}}},data:function(){return{schema:null,loading:!0}},created:function(){var e=this,t={date:{link:"https://tools.ietf.org/html/rfc3339#section-5.6",name:"RFC3339, 5.6"},email:{link:"https://tools.ietf.org/html/rfc5322#section-3.4.1",name:"RFC5322, 3.4.1"}};s("kGrr")("./"+this.type+"_schema.json").then(function(t){return e.schema=t,e.loading=!1,e.idx=0,t}).catch(function(e){throw e}),this.$static={formats:{"date-time":t.date,date:t.date,time:t.date,email:t.email}}},methods:{flattenSchema:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{$key:"$",$path:"$"};!0===t?t={}:!1===t&&(t={not:!0});var r=m()({},s.$key,v()(t,s,{$idx:++this.idx}));if(t.items)if(t.items instanceof Array)t.items.forEach(function(a,n){var i={$key:s.$key+"/"+n,$path:s.$path+"["+n+"]",$parent:[t,t.items,n]};v()(r,e.flattenSchema(a,i)),t.items[n]=i.$key});else{var a={$key:s.$key+"/",$path:s.$path+"[*]",$parent:[t,t,"items"]};v()(r,this.flattenSchema(t.items,a)),t.items=a.$key}return["properties","patternProperties"].filter(function(e){return t.hasOwnProperty(e)}).forEach(function(a){return f()(t[a]).forEach(function(n,i){var o=u()(n,2),c=o[0],l=o[1],p={$key:s.$key+"/"+a+"/"+encodeURIComponent(c),$path:s.$path+"&#8203;.",$parent:[t,t[a],c]};p.$path+="patternProperties"===a?"&lt;field&gt;":c,v()(r,e.flattenSchema(l,p)),t[a][c]=p.$key})}),["additionalItems","additionalProperties","contains","propertyNames","not"].filter(function(e){return t.hasOwnProperty(e)}).forEach(function(a){var n={$key:s.$key+"/"+a,$path:s.$path+"+",$parent:[t,t,a]};v()(r,e.flattenSchema(t[a],n)),t[a]=n.$key}),["allOf","anyOf","oneOf"].filter(function(e){return t.hasOwnProperty(e)}).forEach(function(a){return t[a].forEach(function(n,i){var o={$key:s.$key+"/"+a+"/"+i,$path:s.$path+"("+i+")?",$parent:[t,t[a],i]};v()(r,e.flattenSchema(n,o)),t[a][i]=o.$key})}),r},shrinkSchemas:function(e){var t=function(e){return e.anyOf&&e.anyOf.indexOf(!0)>=0?[e,!0]:e.allOf&&e.allOf.indexOf(!1)>=0?[e,!1]:!0===e.not?[e,!1]:0===c()(e).filter(function(e){return"$"!==e[0]}).length?[e,!0]:null};return i()(e).map(t).filter(function(e){return e}).forEach(function s(r){if(r){var a=u()(r,2),n=a[0],i=a[1];n.$parent[1][n.$parent[2]]=i,delete e[n.$key],s(t(n.$parent[0]))}}),e}},computed:{schemas:function(){return null===this.schema?null:this.shrinkSchemas(this.flattenSchema(b()(this.schema)))}},filters:{stringify:function(e){return a()(e," ",2)},capitalize:function(e,t){return e?(e instanceof Array||(e=[e]),e.map(function(e){return""+e[0].toUpperCase()+e.slice(1)}).join(", ")):""}},components:{card:$.a,prism:y.a,schemaToc:x.a,schemaLink:C.a}}},d7EF:function(e,t,s){"use strict";t.__esModule=!0;var r=n(s("us/S")),a=n(s("BO1k"));function n(e){return e&&e.__esModule?e:{default:e}}t.default=function(){return function(e,t){if(Array.isArray(e))return e;if((0,r.default)(Object(e)))return function(e,t){var s=[],r=!0,n=!1,i=void 0;try{for(var o,c=(0,a.default)(e);!(r=(o=c.next()).done)&&(s.push(o.value),!t||s.length!==t);r=!0);}catch(e){n=!0,i=e}finally{try{!r&&c.return&&c.return()}finally{if(n)throw i}}return s}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},fC1w:function(e,t,s){"use strict";var r=s("mvHQ"),a=s.n(r),n=s("LJry"),i=s.n(n),o=s("T9Hf"),c=s("s8mu");t.a={created:function(){var e=new Date,t="a4927dad-58d4-4580-b460-79cefd56775b";this.$static={message:{"content-spec":"urn:spec://eclipse.org/unide/measurement-message#v2",device:{deviceID:t},measurements:[{ts:e.toISOString(),series:{$_time:[0,23,24],temperature:[45.4231,46.4222,44.2432]}}]},complexMessage:{"content-spec":"urn:spec://eclipse.org/unide/measurement-message#v2",device:{deviceID:t,operationalStatus:"MM",metaData:{swVersion:"2.0.3.13",swBuildID:"41535"}},part:{partTypeID:"F00VH07328",partID:"420003844",result:"OK",code:"HUH289",metaData:{lotID:"845849",toolID:"32324-432143"}},measurements:[{ts:e.toISOString(),code:"190ABT",result:"OK",series:{$_time:[0,23,24],temperature:[45.4231,46.4222,44.2432]},limits:{temperature:{lowerError:40,lowerWarn:45,upperError:50,upperWarn:47.5}}},{ts:new Date(e.valueOf()-5e3).toISOString(),series:{$_time:[0,130,2633],pressure:[52.4,46.32,44.2432]}}]}},this.$static.examples={"$/properties/content-spec":[this.$static.message,"content-spec"],"$/properties/device":[this.$static.complexMessage,"device"],"$/properties/device/properties/deviceID":[this.$static.message.device,"deviceID"],"$/properties/device/properties/metaData":[this.$static.complexMessage.device,"metaData"],"$/properties/device/properties/operationalStatus":[this.$static.complexMessage.device,"operationalStatus"],"$/properties/measurements":[this.$static.message,"measurements"],"$/properties/measurements//properties/code":[this.$static.complexMessage.measurements[0],"code"],"$/properties/measurements//properties/limits":[this.$static.complexMessage.measurements[0],"limits"],"$/properties/measurements//properties/limits/patternProperties/%5E%5B%5E%24%5D.%2B":[this.$static.complexMessage.measurements[0].limits,"temperature"],"$/properties/measurements//properties/limits/patternProperties/%5E%5B%5E%24%5D.%2B/properties/lowerError":[this.$static.complexMessage.measurements[0].limits.temperature,"lowerError"],"$/properties/measurements//properties/limits/patternProperties/%5E%5B%5E%24%5D.%2B/properties/lowerWarn":[this.$static.complexMessage.measurements[0].limits.temperature,"lowerWarn"],"$/properties/measurements//properties/limits/patternProperties/%5E%5B%5E%24%5D.%2B/properties/upperError":[this.$static.complexMessage.measurements[0].limits.temperature,"upperError"],"$/properties/measurements//properties/limits/patternProperties/%5E%5B%5E%24%5D.%2B/properties/upperWarn":[this.$static.complexMessage.measurements[0].limits.temperature,"upperWarn"],"$/properties/measurements//properties/result":[this.$static.complexMessage.measurements[0],"result"],"$/properties/measurements//properties/series":[this.$static.message.measurements[0],"series"],"$/properties/measurements//properties/series/patternProperties/%5E%5B%5E%24%5D.%2B":[this.$static.message.measurements[0].series,"temperature"],"$/properties/measurements//properties/series/properties/%24_time":[this.$static.message.measurements[0].series,"$_time"],"$/properties/measurements//properties/ts":[this.$static.message.measurements[0],"ts"],"$/properties/part":[this.$static.complexMessage,"part"],"$/properties/part/properties/code":[this.$static.complexMessage.part,"code"],"$/properties/part/properties/metaData":[this.$static.complexMessage.part,"metaData"],"$/properties/part/properties/partID":[this.$static.complexMessage.part,"partID"],"$/properties/part/properties/partTypeID":[this.$static.complexMessage.part,"partTypeID"],"$/properties/part/properties/result":[this.$static.complexMessage.part,"result"]}},filters:{stringify:function(e){return a()(e," ",2)}},components:{card:o.a,prism:i.a,schemaDetail:c.a}}},fZOM:function(e,t,s){var r=s("kM2E"),a=s("mbce")(!1);r(r.S,"Object",{values:function(e){return a(e)}})},fvMW:function(e,t,s){"use strict";var r=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",[e._t("default"),!0===e.link?[e._v("\n    yes \n  ")]:!1===e.link?[e._v("\n    no \n  ")]:"string"==typeof e.link?[s("nuxt-link",{attrs:{to:"#p-"+e.schemas[e.link].$idx}},[s("span",{domProps:{innerHTML:e._s(e.schemas[e.link].$path)}})])]:e.link instanceof Array?s("ul",e._l(e.link,function(t){return s("li",[s("nuxt-link",{attrs:{to:"#p-"+e.schemas[t].$idx}},[s("span",{domProps:{innerHTML:e._s(e.schemas[t].$path)}})])],1)})):e.link instanceof Object?s("ul",e._l(e.link,function(t,r){return s("li",[s("nuxt-link",{attrs:{to:"#p-"+e.schemas[t].$idx}},[e._v("\n        "+e._s(r)+"\n      ")])],1)})):e._e()],2)};r._withStripped=!0;var a={render:r,staticRenderFns:[]};t.a=a},gRE1:function(e,t,s){e.exports={default:s("TmV0"),__esModule:!0}},gSvA:function(e,t,s){var r=s("kM2E"),a=s("mbce")(!0);r(r.S,"Object",{entries:function(e){return a(e)}})},hvFG:function(e,t,s){"use strict";var r=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s(e.tag,{tag:"component"},[s("nuxt-link",{attrs:{to:"#p-"+e.schema.$idx}},[s("span",{domProps:{innerHTML:e._s(e.schema.$path)}})]),e.schema.properties||e.schema.patternProperties||e.schema.items?s("ul",[e._l(e.schema.properties,function(t,r){return s("schemaToc",{key:r,attrs:{schemas:e.schemas,entryNode:t}})}),e._l(e.schema.patternProperties,function(t,r){return s("schemaToc",{key:r,attrs:{schemas:e.schemas,entryNode:t}})}),e.schema.items?[e.schema.items instanceof Array?e._l(e.schema.items,function(t,r){return s("schemaToc",{key:r,attrs:{schemas:e.schemas,entryNode:t}})}):s("schemaToc",{attrs:{schemas:e.schemas,entryNode:e.schema.items}})]:e._e()],2):e._e()],1)};r._withStripped=!0;var a={render:r,staticRenderFns:[]};t.a=a},jhkR:function(e,t,s){"use strict";t.a={props:{schemas:{type:Object,required:!0},link:{required:!0}}}},kGrr:function(e,t,s){var r={"./measurement_schema.json":["oGp6",17],"./message_schema.json":["2BTs",16],"./process_schema.json":["rRyJ",15]};function a(e){var t=r[e];return t?s.e(t[1]).then(function(){return s(t[0])}):Promise.reject(new Error("Cannot find module '"+e+"'."))}a.keys=function(){return Object.keys(r)},a.id="kGrr",e.exports=a},lYS2:function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s("fC1w"),a=s("PD5z"),n=s("VU/8")(r.a,a.a,!1,null,null,null);n.options.__file="pages\\specification\\measurement-message.vue",t.default=n.exports},mQxp:function(e,t,s){"use strict";var r=s("Gs0Q"),a=s("hvFG"),n=!1;var i=function(e){n||s("AxiT")},o=s("VU/8")(r.a,a.a,!1,i,null,null);o.options.__file="components\\schemaToc.vue",t.a=o.exports},mbce:function(e,t,s){var r=s("lktj"),a=s("TcQ7"),n=s("NpIQ").f;e.exports=function(e){return function(t){for(var s,i=a(t),o=r(i),c=o.length,l=0,u=[];c>l;)n.call(i,s=o[l++])&&u.push(e?[s,i[s]]:i[s]);return u}}},s8mu:function(e,t,s){"use strict";var r=s("cER1"),a=s("D9sP"),n=!1;var i=function(e){n||s("A51D")},o=s("VU/8")(r.a,a.a,!1,i,null,null);o.options.__file="components\\schemaDetail.vue",t.a=o.exports},"us/S":function(e,t,s){e.exports={default:s("Xd32"),__esModule:!0}},wEtr:function(e,t,s){s("gSvA"),e.exports=s("FeBl").Object.entries},zM1N:function(e,t,s){(function(e,s){var r=200,a="__lodash_hash_undefined__",n=9007199254740991,i="[object Arguments]",o="[object Boolean]",c="[object Date]",l="[object Function]",u="[object GeneratorFunction]",p="[object Map]",f="[object Number]",d="[object Object]",m="[object Promise]",h="[object RegExp]",v="[object Set]",_="[object String]",y="[object Symbol]",g="[object WeakMap]",b="[object ArrayBuffer]",$="[object DataView]",x="[object Float32Array]",C="[object Float64Array]",k="[object Int8Array]",j="[object Int16Array]",O="[object Int32Array]",w="[object Uint8Array]",E="[object Uint8ClampedArray]",P="[object Uint16Array]",M="[object Uint32Array]",S=/\w*$/,D=/^\[object .+?Constructor\]$/,A=/^(?:0|[1-9]\d*)$/,I={};I[i]=I["[object Array]"]=I[b]=I[$]=I[o]=I[c]=I[x]=I[C]=I[k]=I[j]=I[O]=I[p]=I[f]=I[d]=I[h]=I[v]=I[_]=I[y]=I[w]=I[E]=I[P]=I[M]=!0,I["[object Error]"]=I[l]=I[g]=!1;var T="object"==typeof e&&e&&e.Object===Object&&e,L="object"==typeof self&&self&&self.Object===Object&&self,F=T||L||Function("return this")(),R="object"==typeof t&&t&&!t.nodeType&&t,z=R&&"object"==typeof s&&s&&!s.nodeType&&s,B=z&&z.exports===R;function H(e,t){return e.set(t[0],t[1]),e}function U(e,t){return e.add(t),e}function V(e,t,s,r){var a=-1,n=e?e.length:0;for(r&&n&&(s=e[++a]);++a<n;)s=t(s,e[a],a,e);return s}function N(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function W(e){var t=-1,s=Array(e.size);return e.forEach(function(e,r){s[++t]=[r,e]}),s}function Q(e,t){return function(s){return e(t(s))}}function G(e){var t=-1,s=Array(e.size);return e.forEach(function(e){s[++t]=e}),s}var q,X=Array.prototype,J=Function.prototype,Y=Object.prototype,Z=F["__core-js_shared__"],K=(q=/[^.]+$/.exec(Z&&Z.keys&&Z.keys.IE_PROTO||""))?"Symbol(src)_1."+q:"",ee=J.toString,te=Y.hasOwnProperty,se=Y.toString,re=RegExp("^"+ee.call(te).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ae=B?F.Buffer:void 0,ne=F.Symbol,ie=F.Uint8Array,oe=Q(Object.getPrototypeOf,Object),ce=Object.create,le=Y.propertyIsEnumerable,ue=X.splice,pe=Object.getOwnPropertySymbols,fe=ae?ae.isBuffer:void 0,de=Q(Object.keys,Object),me=ze(F,"DataView"),he=ze(F,"Map"),ve=ze(F,"Promise"),_e=ze(F,"Set"),ye=ze(F,"WeakMap"),ge=ze(Object,"create"),be=Ne(me),$e=Ne(he),xe=Ne(ve),Ce=Ne(_e),ke=Ne(ye),je=ne?ne.prototype:void 0,Oe=je?je.valueOf:void 0;function we(e){var t=-1,s=e?e.length:0;for(this.clear();++t<s;){var r=e[t];this.set(r[0],r[1])}}function Ee(e){var t=-1,s=e?e.length:0;for(this.clear();++t<s;){var r=e[t];this.set(r[0],r[1])}}function Pe(e){var t=-1,s=e?e.length:0;for(this.clear();++t<s;){var r=e[t];this.set(r[0],r[1])}}function Me(e){this.__data__=new Ee(e)}function Se(e,t){var s,r,a,n=Qe(e)||(a=r=s=e)&&"object"==typeof a&&Ge(r)&&te.call(s,"callee")&&(!le.call(s,"callee")||se.call(s)==i)?function(e,t){for(var s=-1,r=Array(e);++s<e;)r[s]=t(s);return r}(e.length,String):[],o=n.length,c=!!o;for(var l in e)!t&&!te.call(e,l)||c&&("length"==l||Ue(l,o))||n.push(l);return n}function De(e,t,s){var r=e[t];te.call(e,t)&&We(r,s)&&(void 0!==s||t in e)||(e[t]=s)}function Ae(e,t){for(var s=e.length;s--;)if(We(e[s][0],t))return s;return-1}function Ie(e,t,s,r,a,n,m){var g;if(r&&(g=n?r(e,a,n,m):r(e)),void 0!==g)return g;if(!Je(e))return e;var D,A,T,L,F,R,z=Qe(e);if(z){if(g=function(e){var t=e.length,s=e.constructor(t);t&&"string"==typeof e[0]&&te.call(e,"index")&&(s.index=e.index,s.input=e.input);return s}(e),!t)return function(e,t){var s=-1,r=e.length;t||(t=Array(r));for(;++s<r;)t[s]=e[s];return t}(e,g)}else{var B=He(e),Q=B==l||B==u;if(qe(e))return function(e,t){if(t)return e.slice();var s=new e.constructor(e.length);return e.copy(s),s}(e,t);if(B==d||B==i||Q&&!n){if(N(e))return n?e:{};if(g="function"!=typeof(F=Q?{}:e).constructor||Ve(F)?{}:Je(R=oe(F))?ce(R):{},!t)return D=e,L=e,A=(T=g)&&Fe(L,Ye(L),T),Fe(D,Be(D),A)}else{if(!I[B])return n?e:{};g=function(e,t,s,r){var a=e.constructor;switch(t){case b:return Le(e);case o:case c:return new a(+e);case $:return D=e,A=r?Le(D.buffer):D.buffer,new D.constructor(A,D.byteOffset,D.byteLength);case x:case C:case k:case j:case O:case w:case E:case P:case M:return m=e,g=r?Le(m.buffer):m.buffer,new m.constructor(g,m.byteOffset,m.length);case p:return d=e,V(r?s(W(d),!0):W(d),H,new d.constructor);case f:case _:return new a(e);case h:return(u=new(l=e).constructor(l.source,S.exec(l))).lastIndex=l.lastIndex,u;case v:return i=e,V(r?s(G(i),!0):G(i),U,new i.constructor);case y:return n=e,Oe?Object(Oe.call(n)):{}}var n;var i;var l,u;var d;var m,g;var D,A}(e,B,Ie,t)}}m||(m=new Me);var q,X,J,Y=m.get(e);if(Y)return Y;if(m.set(e,g),!z)var Z=s?(X=Be,J=Ye(q=e),Qe(q)?J:function(e,t){for(var s=-1,r=t.length,a=e.length;++s<r;)e[a+s]=t[s];return e}(J,X(q))):Ye(e);return function(e,t){for(var s=-1,r=e?e.length:0;++s<r&&!1!==t(e[s],s,e););}(Z||e,function(a,n){Z&&(a=e[n=a]),De(g,n,Ie(a,t,s,r,n,e,m))}),g}function Te(e){return!(!Je(e)||K&&K in e)&&(Xe(e)||N(e)?re:D).test(Ne(e))}function Le(e){var t=new e.constructor(e.byteLength);return new ie(t).set(new ie(e)),t}function Fe(e,t,s,r){s||(s={});for(var a=-1,n=t.length;++a<n;){var i=t[a],o=r?r(s[i],e[i],i,s,e):void 0;De(s,i,void 0===o?e[i]:o)}return s}function Re(e,t){var s,r,a=e.__data__;return("string"==(r=typeof(s=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==s:null===s)?a["string"==typeof t?"string":"hash"]:a.map}function ze(e,t){var s,r=null==(s=e)?void 0:s[t];return Te(r)?r:void 0}we.prototype.clear=function(){this.__data__=ge?ge(null):{}},we.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},we.prototype.get=function(e){var t=this.__data__;if(ge){var s=t[e];return s===a?void 0:s}return te.call(t,e)?t[e]:void 0},we.prototype.has=function(e){var t=this.__data__;return ge?void 0!==t[e]:te.call(t,e)},we.prototype.set=function(e,t){return this.__data__[e]=ge&&void 0===t?a:t,this},Ee.prototype.clear=function(){this.__data__=[]},Ee.prototype.delete=function(e){var t=this.__data__,s=Ae(t,e);return!(s<0||(s==t.length-1?t.pop():ue.call(t,s,1),0))},Ee.prototype.get=function(e){var t=this.__data__,s=Ae(t,e);return s<0?void 0:t[s][1]},Ee.prototype.has=function(e){return Ae(this.__data__,e)>-1},Ee.prototype.set=function(e,t){var s=this.__data__,r=Ae(s,e);return r<0?s.push([e,t]):s[r][1]=t,this},Pe.prototype.clear=function(){this.__data__={hash:new we,map:new(he||Ee),string:new we}},Pe.prototype.delete=function(e){return Re(this,e).delete(e)},Pe.prototype.get=function(e){return Re(this,e).get(e)},Pe.prototype.has=function(e){return Re(this,e).has(e)},Pe.prototype.set=function(e,t){return Re(this,e).set(e,t),this},Me.prototype.clear=function(){this.__data__=new Ee},Me.prototype.delete=function(e){return this.__data__.delete(e)},Me.prototype.get=function(e){return this.__data__.get(e)},Me.prototype.has=function(e){return this.__data__.has(e)},Me.prototype.set=function(e,t){var s=this.__data__;if(s instanceof Ee){var a=s.__data__;if(!he||a.length<r-1)return a.push([e,t]),this;s=this.__data__=new Pe(a)}return s.set(e,t),this};var Be=pe?Q(pe,Object):function(){return[]},He=function(e){return se.call(e)};function Ue(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||A.test(e))&&e>-1&&e%1==0&&e<t}function Ve(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Y)}function Ne(e){if(null!=e){try{return ee.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function We(e,t){return e===t||e!=e&&t!=t}(me&&He(new me(new ArrayBuffer(1)))!=$||he&&He(new he)!=p||ve&&He(ve.resolve())!=m||_e&&He(new _e)!=v||ye&&He(new ye)!=g)&&(He=function(e){var t=se.call(e),s=t==d?e.constructor:void 0,r=s?Ne(s):void 0;if(r)switch(r){case be:return $;case $e:return p;case xe:return m;case Ce:return v;case ke:return g}return t});var Qe=Array.isArray;function Ge(e){return null!=e&&("number"==typeof(t=e.length)&&t>-1&&t%1==0&&t<=n)&&!Xe(e);var t}var qe=fe||function(){return!1};function Xe(e){var t=Je(e)?se.call(e):"";return t==l||t==u}function Je(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Ye(e){return Ge(e)?Se(e):function(e){if(!Ve(e))return de(e);var t=[];for(var s in Object(e))te.call(e,s)&&"constructor"!=s&&t.push(s);return t}(e)}s.exports=function(e){return Ie(e,!0,!0)}}).call(t,s("DuR2"),s("3IRH")(e))}});
\ No newline at end of file
diff --git a/files/posts/New-website.json b/files/posts/New-website.json
index f02b0bc..652512f 100644
--- a/files/posts/New-website.json
+++ b/files/posts/New-website.json
@@ -1 +1 @@
-{"name":"New-website","content":"<p>It turned out that even with multiple reviews, it is possible to have small mistakes in the PPMP documentation. In order to avoid such contraditions between diagrams, specification, json-schema and eventual implementation, we decided to rework the project structure and fixed <a href=\"https://github.com/eclipse/unide/issues/21\">the JSON Schemas</a>. The corresponding uml diagrams are generated with <a href=\"http://plantuml.com/\">plantuml</a>. For even better understandibility, the attributes are sorted lexicographically.</p>\n<p>Although the website has the same look, it is completely reworked as a <a href=\"https://en.wikipedia.org/wiki/Single-page_application\">single-page application</a> to generate the specification directly from the json-schema. Instead of using <a href=\"https://hexo.io/\">hexo</a> it is now based on <a href=\"https://nuxtjs.org/\">nuxt.js</a>. <a href=\"https://vuejs.org/\">Vue.js</a> as a basis for nuxt is also used in the <a href=\"https://github.com/eclipse/unide/tree/master/clients/binsa\">new PPMP client application called binsa</a>.</p>\n","url":"/blog/2018/1/26/New-website","title":"Updated Website","date":"2018-01-26T00:00:00.000Z","tags":["media"],"prev":{"url":"/blog/2017/10/19/i40-testbed-started","title":"Unide is part of Industry 4.0 Testbed"}}
\ No newline at end of file
+{"name":"New-website","content":"<p>It turned out that even with multiple reviews, it is possible to have small mistakes in the PPMP documentation. In order to avoid such contradictions between diagrams, specification, json-schema and eventual implementation, we decided to rework the project structure and fixed <a href=\"https://github.com/eclipse/unide/issues/21\">the JSON Schemas</a>. The corresponding uml diagrams are generated with <a href=\"http://plantuml.com/\">plantuml</a>. For even better understandibility, the attributes are sorted lexicographically.</p>\n<p>Although the website has the same look, it is completely reworked as a <a href=\"https://en.wikipedia.org/wiki/Single-page_application\">single-page application</a> to generate the specification directly from the json-schema. Instead of using <a href=\"https://hexo.io/\">hexo</a> it is now based on <a href=\"https://nuxtjs.org/\">nuxt.js</a>. <a href=\"https://vuejs.org/\">Vue.js</a> as a basis for nuxt is also used in the <a href=\"https://github.com/eclipse/unide/tree/master/clients/binsa\">new PPMP client application called binsa</a>.</p>\n","url":"/blog/2018/1/26/New-website","title":"Updated Website","date":"2018-01-26T00:00:00.000Z","tags":["media"],"prev":{"url":"/blog/2017/10/19/i40-testbed-started","title":"Unide is part of Industry 4.0 Testbed"}}
\ No newline at end of file
diff --git a/index.html b/index.html
index 079c258..e00a22f 100644
--- a/index.html
+++ b/index.html
@@ -26,6 +26,6 @@
     We started to capture this information in a simple payload specification and just like in the introducing language example where you can use phrases via phone, letter or in person, the payload is meant to be sent over different protocols (REST, MQTT, AMQP). This payload is the Production Performance Management Protocol (<i>PPMP</i>).
     <div class="card is-pulled-left"><div class="card-image"><figure class="image"><img src="images/eclipse-426x100.png" alt="Eclipse logo" title="Eclipse logo"></figure></div></div><p>
     In order to, first, leverage the Eclipse IoT stack in Industry 4.0 scenarios and, second, build a lively community around the specification, we consider the Eclipse iot working group as the premier place to host Unide. 
-    </div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_index.7d76ce931d19b81f54ec.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_index.7d76ce931d19b81f54ec.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/proposal/index.html b/proposal/index.html
index 4f8ec64..dcf8f5f 100644
--- a/proposal/index.html
+++ b/proposal/index.html
@@ -58,6 +58,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_proposal.05a0b52aa840e2ad9ee2.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_sidebar.f3152ac54a5edef0c166.js"></script><script defer src="/unide/files/pages_proposal.05a0b52aa840e2ad9ee2.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/specification/index.html b/specification/index.html
index 27e17f5..91420fc 100644
--- a/specification/index.html
+++ b/specification/index.html
@@ -36,6 +36,6 @@
   The receiver waits for messages. It offers a API that allows for sending either measurement payloads or message payloads.
   <p>
   The communication is unidirectional. Only the sender can contact the receiver and send messages. No feedback from receiver to sender is provided.
-  </p><img src="images/collaborators_v2.svg" alt="Overview PPMP" title="Overview PPMP" class="is-centered"></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_specification.cfba7cb7ef03067aa6be.js"></script><script defer src="/unide/files/pages_specification_index.06dad5cb3f63c35339f3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+  </p><img src="images/collaborators_v2.svg" alt="Overview PPMP" title="Overview PPMP" class="is-centered"></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_specification.cfba7cb7ef03067aa6be.js"></script><script defer src="/unide/files/pages_specification_index.06dad5cb3f63c35339f3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/specification/machine-message/index.html b/specification/machine-message/index.html
index 8d62f69..d92b595 100644
--- a/specification/machine-message/index.html
+++ b/specification/machine-message/index.html
@@ -39,7 +39,7 @@
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"messages"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-01-28T11:10:53.004Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-02-06T17:30:08.529Z"</span><span class="token punctuation">,</span>
       <span class="token property">"code"</span><span class="token operator">:</span> <span class="token string">"190ABT"</span>
     <span class="token punctuation">}</span>
   <span class="token punctuation">]</span>
@@ -58,7 +58,7 @@
   <span class="token property">"messages"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
       <span class="token property">"origin"</span><span class="token operator">:</span> <span class="token string">"sensor-id-992.2393.22"</span><span class="token punctuation">,</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-01-28T11:10:53.004Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-02-06T17:30:08.529Z"</span><span class="token punctuation">,</span>
       <span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"DEVICE"</span><span class="token punctuation">,</span>
       <span class="token property">"severity"</span><span class="token operator">:</span> <span class="token string">"HIGH"</span><span class="token punctuation">,</span>
       <span class="token property">"code"</span><span class="token operator">:</span> <span class="token string">"190ABT"</span><span class="token punctuation">,</span>
@@ -70,7 +70,7 @@
       <span class="token punctuation">}</span>
     <span class="token punctuation">}</span><span class="token punctuation">,</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-01-28T11:10:53.104Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-02-06T17:30:08.629Z"</span><span class="token punctuation">,</span>
       <span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"TECHNICAL_INFO"</span><span class="token punctuation">,</span>
       <span class="token property">"severity"</span><span class="token operator">:</span> <span class="token string">"HIGH"</span><span class="token punctuation">,</span>
       <span class="token property">"code"</span><span class="token operator">:</span> <span class="token string">"33-02"</span><span class="token punctuation">,</span>
@@ -80,6 +80,6 @@
   <span class="token punctuation">]</span>
 <span class="token punctuation">}</span></code></pre></div></div></div></div><h1><a id="message-schema-detail" title="message Fields definition"></a>
       Fields definition
-    </h1></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_specification.cfba7cb7ef03067aa6be.js"></script><script defer src="/unide/files/pages_specification_machine-message.075091d20faa5e52f9a2.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </h1></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_specification.cfba7cb7ef03067aa6be.js"></script><script defer src="/unide/files/pages_specification_machine-message.075091d20faa5e52f9a2.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/specification/measurement-message/index.html b/specification/measurement-message/index.html
index 8dc00d1..dc5448a 100644
--- a/specification/measurement-message/index.html
+++ b/specification/measurement-message/index.html
@@ -39,7 +39,7 @@
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"measurements"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-01-28T11:10:53.017Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-02-06T17:30:08.569Z"</span><span class="token punctuation">,</span>
       <span class="token property">"series"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
         <span class="token property">"$_time"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
           <span class="token number">0</span><span class="token punctuation">,</span>
@@ -78,7 +78,7 @@
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"measurements"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-01-28T11:10:53.017Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-02-06T17:30:08.569Z"</span><span class="token punctuation">,</span>
       <span class="token property">"code"</span><span class="token operator">:</span> <span class="token string">"190ABT"</span><span class="token punctuation">,</span>
       <span class="token property">"result"</span><span class="token operator">:</span> <span class="token string">"OK"</span><span class="token punctuation">,</span>
       <span class="token property">"series"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
@@ -96,14 +96,14 @@
       <span class="token property">"limits"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
         <span class="token property">"temperature"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
           <span class="token property">"lowerError"</span><span class="token operator">:</span> <span class="token number">40</span><span class="token punctuation">,</span>
-          <span class="token property">"lowerWork"</span><span class="token operator">:</span> <span class="token number">45</span><span class="token punctuation">,</span>
+          <span class="token property">"lowerWarn"</span><span class="token operator">:</span> <span class="token number">45</span><span class="token punctuation">,</span>
           <span class="token property">"upperError"</span><span class="token operator">:</span> <span class="token number">50</span><span class="token punctuation">,</span>
           <span class="token property">"upperWarn"</span><span class="token operator">:</span> <span class="token number">47.5</span>
         <span class="token punctuation">}</span>
       <span class="token punctuation">}</span>
     <span class="token punctuation">}</span><span class="token punctuation">,</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-01-28T11:10:48.017Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-02-06T17:30:03.569Z"</span><span class="token punctuation">,</span>
       <span class="token property">"series"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
         <span class="token property">"$_time"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
           <span class="token number">0</span><span class="token punctuation">,</span>
@@ -120,6 +120,6 @@
   <span class="token punctuation">]</span>
 <span class="token punctuation">}</span></code></pre></div></div></div></div><h1><a id="measurement-schema-detail" title="measurement Fields definition"></a>
       Fields definition
-    </h1></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_specification.cfba7cb7ef03067aa6be.js"></script><script defer src="/unide/files/pages_specification_measurement-message.36a1c2bec6dcd2bf0fae.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </h1></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_specification.cfba7cb7ef03067aa6be.js"></script><script defer src="/unide/files/pages_specification_measurement-message.27d039e09f0f00aa71c5.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
diff --git a/specification/process-message/index.html b/specification/process-message/index.html
index 93844b3..a22d74a 100644
--- a/specification/process-message/index.html
+++ b/specification/process-message/index.html
@@ -38,11 +38,11 @@
     <span class="token property">"deviceID"</span><span class="token operator">:</span> <span class="token string">"a4927dad-58d4-4580-b460-79cefd56775b"</span>
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"process"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
-    <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-01-28T11:10:52.984Z"</span>
+    <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-02-06T17:30:08.503Z"</span>
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"measurements"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-01-28T11:10:53.084Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-02-06T17:30:08.603Z"</span><span class="token punctuation">,</span>
       <span class="token property">"series"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
         <span class="token property">"force"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
           <span class="token number">26</span><span class="token punctuation">,</span>
@@ -81,7 +81,7 @@
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"process"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
     <span class="token property">"externalProcessId"</span><span class="token operator">:</span> <span class="token string">"b4927dad-58d4-4580-b460-79cefd56775b"</span><span class="token punctuation">,</span>
-    <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-01-28T11:10:52.984Z"</span><span class="token punctuation">,</span>
+    <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-02-06T17:30:08.503Z"</span><span class="token punctuation">,</span>
     <span class="token property">"result"</span><span class="token operator">:</span> <span class="token string">"NOK"</span><span class="token punctuation">,</span>
     <span class="token property">"shutoffPhase"</span><span class="token operator">:</span> <span class="token string">"phase 2"</span><span class="token punctuation">,</span>
     <span class="token property">"program"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
@@ -91,7 +91,7 @@
     <span class="token punctuation">}</span><span class="token punctuation">,</span>
     <span class="token property">"shutoffValues"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
       <span class="token property">"force"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
-        <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-01-28T11:11:02.984Z"</span><span class="token punctuation">,</span>
+        <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-02-06T17:30:18.503Z"</span><span class="token punctuation">,</span>
         <span class="token property">"value"</span><span class="token operator">:</span> <span class="token number">24</span><span class="token punctuation">,</span>
         <span class="token property">"upperError"</span><span class="token operator">:</span> <span class="token number">26</span><span class="token punctuation">,</span>
         <span class="token property">"lowerError"</span><span class="token operator">:</span> <span class="token number">22</span><span class="token punctuation">,</span>
@@ -112,7 +112,7 @@
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"measurements"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-01-28T11:10:53.084Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-02-06T17:30:08.603Z"</span><span class="token punctuation">,</span>
       <span class="token property">"phase"</span><span class="token operator">:</span> <span class="token string">"phase 1"</span><span class="token punctuation">,</span>
       <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"heating up"</span><span class="token punctuation">,</span>
       <span class="token property">"result"</span><span class="token operator">:</span> <span class="token string">"OK"</span><span class="token punctuation">,</span>
@@ -172,7 +172,7 @@
       <span class="token punctuation">}</span>
     <span class="token punctuation">}</span><span class="token punctuation">,</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-01-28T11:10:53.414Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-02-06T17:30:08.933Z"</span><span class="token punctuation">,</span>
       <span class="token property">"phase"</span><span class="token operator">:</span> <span class="token string">"phase 2"</span><span class="token punctuation">,</span>
       <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"processing"</span><span class="token punctuation">,</span>
       <span class="token property">"result"</span><span class="token operator">:</span> <span class="token string">"OK"</span><span class="token punctuation">,</span>
@@ -192,6 +192,6 @@
   <span class="token punctuation">]</span>
 <span class="token punctuation">}</span></code></pre></div></div></div></div><h1><a id="process-schema-detail" title="process Fields definition"></a>
       Fields definition
-    </h1></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.1723c812f9b65cb4ee7c.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_specification.cfba7cb7ef03067aa6be.js"></script><script defer src="/unide/files/pages_specification_process-message.ba9a00391c5896c71775.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
+    </h1></div></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.e120b181bff2d27176e5.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_specification.cfba7cb7ef03067aa6be.js"></script><script defer src="/unide/files/pages_specification_process-message.ba9a00391c5896c71775.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>
   
 
