fix(ga): fixed google analytics and added title

Signed-off-by: Axel Meinhardt <axel.meinhardt@bosch-si.com>
diff --git a/200.html b/200.html
index 321e179..e9708e9 100644
--- a/200.html
+++ b/200.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="24fa40f9:0">.home h2{margin-top:1rem}.home .card{max-width:33%;margin:0 1rem 1rem}.home .card .card-content{padding:.5rem;font-size:.75rem}.home .card.is-pulled-left{margin-left:0}.home .card.is-pulled-right{margin-right:0}.home .card.is-pulled-right .card-content{text-align:right}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Welcome</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="24fa40f9:0">.home h2{margin-top:1rem}.home .card{max-width:33%;margin:0 1rem 1rem}.home .card .card-content{padding:.5rem;font-size:.75rem}.home .card.is-pulled-left{margin-left:0}.home .card.is-pulled-right{margin-right:0}.home .card.is-pulled-right .card-content{text-align:right}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item nuxt-link-exact-active is-active">
@@ -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.d751c57943ee407a2f53.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.2822695135bb29fc86bc.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.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/article/index.html b/article/index.html
index 07de4a3..18f9a43 100644
--- a/article/index.html
+++ b/article/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - undefined</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -52,6 +52,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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.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 b7ff3c7..9cfa8b3 100644
--- a/blog/2016/9/12/Unide-proposal-online/index.html
+++ b/blog/2016/9/12/Unide-proposal-online/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Unide proposal online</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -68,6 +68,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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2016/9/12/index.html b/blog/2016/9/12/index.html
index 22c965e..16f45ed 100644
--- a/blog/2016/9/12/index.html
+++ b/blog/2016/9/12/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - October 12, 2016</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2016/9/16/Project-approved/index.html b/blog/2016/9/16/Project-approved/index.html
index 9780f16..0821136 100644
--- a/blog/2016/9/16/Project-approved/index.html
+++ b/blog/2016/9/16/Project-approved/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Eclipse Project approved</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -65,6 +65,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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2016/9/16/index.html b/blog/2016/9/16/index.html
index e69dc7e..f238114 100644
--- a/blog/2016/9/16/index.html
+++ b/blog/2016/9/16/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - October 16, 2016</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2016/9/21/Official-launch/index.html b/blog/2016/9/21/Official-launch/index.html
index 3eb5363..ac71800 100644
--- a/blog/2016/9/21/Official-launch/index.html
+++ b/blog/2016/9/21/Official-launch/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Official launch</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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:"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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2016/9/21/index.html b/blog/2016/9/21/index.html
index 723b29a..4d9978c 100644
--- a/blog/2016/9/21/index.html
+++ b/blog/2016/9/21/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - October 21, 2016</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2016/9/27/News-coverage/index.html b/blog/2016/9/27/News-coverage/index.html
index 9709793..d3625a8 100644
--- a/blog/2016/9/27/News-coverage/index.html
+++ b/blog/2016/9/27/News-coverage/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - News Coverage</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -63,6 +63,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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2016/9/27/index.html b/blog/2016/9/27/index.html
index 04b118e..af07a4f 100644
--- a/blog/2016/9/27/index.html
+++ b/blog/2016/9/27/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - October 27, 2016</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2016/9/index.html b/blog/2016/9/index.html
index 5a2494c..5676f2a 100644
--- a/blog/2016/9/index.html
+++ b/blog/2016/9/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - October 2016</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2016/index.html b/blog/2016/index.html
index 7930672..2b017b7 100644
--- a/blog/2016/index.html
+++ b/blog/2016/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - 2016</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.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 8c8fff6..981c9cc 100644
--- a/blog/2017/10/19/i40-testbed-started/index.html
+++ b/blog/2017/10/19/i40-testbed-started/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Unide is part of Industry 4.0 Testbed</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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:"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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2017/10/19/index.html b/blog/2017/10/19/index.html
index 5b63f04..dce9539 100644
--- a/blog/2017/10/19/index.html
+++ b/blog/2017/10/19/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - November 19, 2017</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.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 8945c9c..6a4fb1e 100644
--- a/blog/2017/10/6/DZone-article-published/index.html
+++ b/blog/2017/10/6/DZone-article-published/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - DZone article published</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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:[{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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2017/10/6/index.html b/blog/2017/10/6/index.html
index 640ef49..dd40776 100644
--- a/blog/2017/10/6/index.html
+++ b/blog/2017/10/6/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - November 06, 2017</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2017/10/index.html b/blog/2017/10/index.html
index ee406bd..935daac 100644
--- a/blog/2017/10/index.html
+++ b/blog/2017/10/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - November 2017</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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:[{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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.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 fbc7fcd..540a1b9 100644
--- a/blog/2017/3/23/Unide-at-BCX/index.html
+++ b/blog/2017/3/23/Unide-at-BCX/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Unide at Bosch Hackaton</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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:[{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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2017/3/23/index.html b/blog/2017/3/23/index.html
index d409999..35b9cc8 100644
--- a/blog/2017/3/23/index.html
+++ b/blog/2017/3/23/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - April 23, 2017</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2017/3/index.html b/blog/2017/3/index.html
index 7058a84..b70ccc5 100644
--- a/blog/2017/3/index.html
+++ b/blog/2017/3/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - April 2017</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.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 3612ea1..e611f47 100644
--- a/blog/2017/6/1/New-process-message-spec/index.html
+++ b/blog/2017/6/1/New-process-message-spec/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - New PPMP-Specification for processes</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -57,6 +57,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/processPayload.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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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/processPayload.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2017/6/1/index.html b/blog/2017/6/1/index.html
index 73642f5..9919824 100644
--- a/blog/2017/6/1/index.html
+++ b/blog/2017/6/1/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - July 01, 2017</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2017/6/29/Validator-Online/index.html b/blog/2017/6/29/Validator-Online/index.html
index 1920a97..03a778d 100644
--- a/blog/2017/6/29/Validator-Online/index.html
+++ b/blog/2017/6/29/Validator-Online/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - First PPMP-Validator Online</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -65,6 +65,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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2017/6/29/index.html b/blog/2017/6/29/index.html
index fdbf760..61cc067 100644
--- a/blog/2017/6/29/index.html
+++ b/blog/2017/6/29/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - July 29, 2017</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2017/6/index.html b/blog/2017/6/index.html
index bb6edb6..0be0caa 100644
--- a/blog/2017/6/index.html
+++ b/blog/2017/6/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - July 2017</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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:[{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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2017/index.html b/blog/2017/index.html
index 3f31a20..5ceaaae 100644
--- a/blog/2017/index.html
+++ b/blog/2017/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - 2017</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -74,6 +74,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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2018/1/26/New-website/index.html b/blog/2018/1/26/New-website/index.html
index b6855d2..bb4001b 100644
--- a/blog/2018/1/26/New-website/index.html
+++ b/blog/2018/1/26/New-website/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Updated Website</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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:[{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"},next:{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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"},next:{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2018/1/26/index.html b/blog/2018/1/26/index.html
index 6584707..bff0518 100644
--- a/blog/2018/1/26/index.html
+++ b/blog/2018/1/26/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - February 26, 2018</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2018/1/index.html b/blog/2018/1/index.html
index 599062d..3040325 100644
--- a/blog/2018/1/index.html
+++ b/blog/2018/1/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - February 2018</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2018/2/11/Transform-PPMP-with-camel/index.html b/blog/2018/2/11/Transform-PPMP-with-camel/index.html
index f6a84a9..83e7722 100644
--- a/blog/2018/2/11/Transform-PPMP-with-camel/index.html
+++ b/blog/2018/2/11/Transform-PPMP-with-camel/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - PPMP Use Cases: Simple Transformation with Apache Camel</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -694,6 +694,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:"Transform-PPMP-with-camel",content:'<p>The Production Performance Management Protocol (PPMP) is a simple structure to send out machine data. Unide, as its hosting project, is supposed to provide exemplary implementations.</p>\n<p>We have already published <a href="https://github.com/eclipse/unide/tree/master/servers/rest">a REST server</a>, <a href="https://github.com/eclipse/unide.java">java-</a> and <a href="https://github.com/eclipse/unide.python">python-</a> bindings and an <a href="https://github.com/eclipse/unide/tree/master/clients/binsa">html5-client</a>. But how are these implementations used in real life?</p>\n<h1>The Challenge</h1>\n<div class="card figure">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="Welding robots" title="BMW plant, spot welding" src="/unide/images/blog/Transform-PPMP-with-camel-welding.jpg"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tBMW plant in Leipzig, Germany: Spot welding <a href="https://creativecommons.org/licenses/by-sa/2.0/de/deed.en">(CC BY-SA 2.0 DE)</a>\n\t</div>\n</div>\n<p>In the automotive industry, <a href="https://en.wikipedia.org/wiki/Spot_welding">welding spots</a> are crucial for the quality of a car and the security of the passenger. In modern production lines, hundreds of welding spots have to be precisely set in a single shift. In order to reduce product rework, scrap, destructible tests and machine downtime, the quality should be monitored consistently. That\'s what special welding controller in machines do. Unfortunately, this data is often only used locally, for a short period of time and in proprietary formats. Just enough to determine the immediate process outcome. In that case, further opportunities of analysing the information are not taken. With the continuous increase in complexity, price and time pressure, the demand for further processing and optimization grows. The data could be used to prevent or even predict maintenance or just store the data in long time archives in case of legal disputes.</p>\n<p>One prerequisite for such connectivity is the hardware and its connectivity. Older generations of welding controllers can only be accessed with proprietary stacks (like the <a href="https://www.boschrexroth.com/en/xc/products/product-groups/welding-technology/controllers-with-power-section/mf-system-psi6000/index">PSI 6000</a>) whereas newer generations (like the <a href="https://www.boschrexroth.com/en/xc/company/press/index2-29696">PRC 7000</a>) are much more flexible in terms of networking and communication. In general, there are two aspects that make up the communication: the transport protocol and the structure of the payload. This is similar to our daily life: if you want to chat with your friends, you need to use the same messenger or communication technology (phone, email) and you need speak the same language (English, German etc.).</p>\n<p>In the following sections, let\'s assume we need to transform the transport protocol as well as the payload. The data is generated by a welding controller and should be passed to <a href="https://unide.eclipse.org">the unide REST server</a> for persisting it in a dedicated timeseries database.</p>\n<h1>The Approach</h1>\n<p>We want to find a way to receive the data, transform it into PPMP and store it into a database in our <a href="https://unide.eclipse.org">REST Server</a>.</p>\n<p>First, we need to understand which interfaces the controller has, which communication protocol is used, and how the payload would be interpreted. In the case of the PSI 6000, it was configured to publish the quality data to a <a href="https://de.wikipedia.org/wiki/MQTT">mqtt</a> message broker (here: <a href="https://mosquitto.org/">Eclipse mosquitto</a>). We don\'t have an extensive documentation of the payload, but we can look at samples of it (some Curve data shortened at the end):</p>\n<pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>\n  <span class="token property">"Name"</span><span class="token operator">:</span> <span class="token string">"WeldLog/UIR Testrack 24/"</span><span class="token punctuation">,</span>\n  <span class="token property">"WeldTimer"</span><span class="token operator">:</span> <span class="token string">"UIR Testrack 24"</span><span class="token punctuation">,</span>\n  <span class="token property">"TimeStamp"</span><span class="token operator">:</span> <span class="token string">"2018-01-17T10:41:00.0008436+01:00"</span><span class="token punctuation">,</span>\n  <span class="token property">"OutputFormat"</span><span class="token operator">:</span> <span class="token string">"JSON"</span><span class="token punctuation">,</span>\n  <span class="token property">"Message"</span><span class="token operator">:</span> <span class="token punctuation">{</span>\n    <span class="token property">"WeldLog"</span><span class="token operator">:</span> <span class="token punctuation">{</span>\n      <span class="token property">"protRecord_ID"</span><span class="token operator">:</span> <span class="token number">734827</span><span class="token punctuation">,</span>\n      <span class="token property">"dateTime"</span><span class="token operator">:</span> <span class="token string">"2018-01-15T16:52:32.09"</span><span class="token punctuation">,</span>\n      <span class="token property">"timerName"</span><span class="token operator">:</span> <span class="token string">"UIR Testrack 24"</span><span class="token punctuation">,</span>\n      <span class="token property">"progNo"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"spotName"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>\n      <span class="token property">"wear"</span><span class="token operator">:</span> <span class="token number">8312480</span><span class="token punctuation">,</span>\n      <span class="token property">"wearPerCent"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"monitorState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulationState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"measureState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"powerState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sequenceState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sequenceStateAdd"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sequenceRepeat"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"monitorMode"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemandStd"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"ilsts"</span><span class="token operator">:</span> <span class="token number">13.14</span><span class="token punctuation">,</span>\n      <span class="token property">"regulationStd"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemand1"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"iActual1"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulation1"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemand2"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"iActual2"</span><span class="token operator">:</span> <span class="token number">13.16</span><span class="token punctuation">,</span>\n      <span class="token property">"regulation2"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemand3"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"iActual3"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulation3"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>\n      <span class="token property">"phaStd"</span><span class="token operator">:</span> <span class="token number">24.96</span><span class="token punctuation">,</span>\n      <span class="token property">"pha1"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"pha2"</span><span class="token operator">:</span> <span class="token number">24.64</span><span class="token punctuation">,</span>\n      <span class="token property">"pha3"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"t_iDemandStd"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"tActualStd"</span><span class="token operator">:</span> <span class="token number">878</span><span class="token punctuation">,</span>\n      <span class="token property">"partIdentString"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>\n      <span class="token property">"tipDressCounter"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"electrodeNo"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sgForceSetPoint"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSheetThicknessSetPoint"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSagGpSetPoint"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSpotWithSg"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgMotorCurrent"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgMotorTemp"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgForce"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSheetThickness"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSagGp"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSagGc"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"regUsrUspJunction"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regUsrUspMax"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regSpotDiaActual"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regSpotDiaMinDemand"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regSplashTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"nuggetDiameter"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"usp"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"normingTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulationStartTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"returnToConstantCurrent"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"declineUsp"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"offsetUsp"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"currentFactor"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"triggerTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrMeasuringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrRegulationActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrMonitoringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrWeldTimeProlongationActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"voltageActualValue"</span><span class="token operator">:</span> <span class="token number">0.03</span><span class="token punctuation">,</span>\n      <span class="token property">"voltageRefValue"</span><span class="token operator">:</span> <span class="token number">0.03</span><span class="token punctuation">,</span>\n      <span class="token property">"currentActualValue"</span><span class="token operator">:</span> <span class="token number">13.17</span><span class="token punctuation">,</span>\n      <span class="token property">"currentReferenceValue"</span><span class="token operator">:</span> <span class="token number">13.95</span><span class="token punctuation">,</span>\n      <span class="token property">"weldTimeActualValue"</span><span class="token operator">:</span> <span class="token number">876</span><span class="token punctuation">,</span>\n      <span class="token property">"weldTimeRefValue"</span><span class="token operator">:</span> <span class="token number">760</span><span class="token punctuation">,</span>\n      <span class="token property">"energyActualValue"</span><span class="token operator">:</span> <span class="token number">395.1261</span><span class="token punctuation">,</span>\n      <span class="token property">"energyRefValue"</span><span class="token operator">:</span> <span class="token number">342</span><span class="token punctuation">,</span>\n      <span class="token property">"powerActualValue"</span><span class="token operator">:</span> <span class="token number">395.133</span><span class="token punctuation">,</span>\n      <span class="token property">"powerRefValue"</span><span class="token operator">:</span> <span class="token number">449.35</span><span class="token punctuation">,</span>\n      <span class="token property">"resistanceActualValue"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>\n      <span class="token property">"resistanceRefValue"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>\n      <span class="token property">"pulseWidthActualValue"</span><span class="token operator">:</span> <span class="token number">25.02</span><span class="token punctuation">,</span>\n      <span class="token property">"pulseWidthRefValue"</span><span class="token operator">:</span> <span class="token number">26.19</span><span class="token punctuation">,</span>\n      <span class="token property">"stabilisationFactorActValue"</span><span class="token operator">:</span> <span class="token number">55</span><span class="token punctuation">,</span>\n      <span class="token property">"stabilisationFactorRefValue"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"thresholdStabilisationFactor"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"wldEffectStabilisationFactor"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uipActualValue"</span><span class="token operator">:</span> <span class="token number">126</span><span class="token punctuation">,</span>\n      <span class="token property">"uipRefValue"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirExpulsionTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"uirMeasuringActive"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"uirRegulationActive"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"uirMonitoringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"uirWeldTimeProlongationActive"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"uirQStoppRefCntValue"</span><span class="token operator">:</span> <span class="token number">9</span><span class="token punctuation">,</span>\n      <span class="token property">"uirQStoppActCntValue"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"uirUipUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirUipLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirUipCondTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirPsfLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirPsfCondTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_1"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_2"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_3"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_4"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_5"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP32_6"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_7"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_8"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_9"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_10"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_11"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP32_12"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_13"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_14"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_15"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_16"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_17"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP32_18"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"uipMonCondUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfActualValue"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfRefValue"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonCondUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonCondLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMeasuringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrModeOff"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"reweldActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"weldspotRefIdent"</span><span class="token operator">:</span> <span class="token string">"UIR_PART"</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Torque_Gp"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Force_Corr"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Weldspot_Geo_Wear"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Wear_Length"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Beam_UpArching"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"CurrentCurve"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n        <span class="token number">11621</span><span class="token punctuation">,</span>\n        <span class="token number">15434</span><span class="token punctuation">,</span>\n        ...\n      <span class="token punctuation">]</span><span class="token punctuation">,</span>\n      <span class="token property">"VoltageCurve"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n        <span class="token number">39</span><span class="token punctuation">,</span>\n        <span class="token number">29</span><span class="token punctuation">,</span>\n        ...\n      <span class="token punctuation">]</span><span class="token punctuation">,</span>\n      <span class="token property">"ForceCurve"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n        <span class="token number">49</span><span class="token punctuation">,</span>\n        <span class="token number">49</span><span class="token punctuation">,</span>\n        ...\n      <span class="token punctuation">]</span>\n    <span class="token punctuation">}</span>\n  <span class="token punctuation">}</span>\n<span class="token punctuation">}</span>\n</code></pre>\n<p>That\'s already very detailed, but it\'s unclear which device / welding spot the data comes from and what the timing of the curves was. Let\'s get some more structure in with PPMP!</p>\n<p>In PPMP, we have the option to differentiate between discrete manufacturing data (MES - part produced) by using the <a href="/unide/specification/measurement-message">measurement-message</a> and detailed process data by using the <a href="https://www.eclipse.org/unide/specification/process-message">process-message</a>. In the welding payload, that\'s all combined in one message. So we also want to split this payload into two.</p>\n<h2>Introducing Apache Camel</h2>\n<div class="card figure is-pulled-left">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="Apache Camel" title="Apache Camel" src="/unide/images/blog/Transform-PPMP-with-camel-camel.png"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tApache Camel, <a href="https://www.apache.org/licenses/LICENSE-2.0">(Apache&nbsp;License&nbsp;2.0)</a>\n\t</div>\n</div>\n<p><a href="https://en.wikipedia.org/wiki/Apache_Camel">Apache Camel</a> is a java-based Open Source framework, that can transform and route data. It supports most of the <a href="https://en.wikipedia.org/wiki/Enterprise_Integration_Patterns">Enterprise Integration Patterns</a> and hundreds(!) of <a href="http://camel.apache.org/components.html">connectors / components</a>. Think of it as an extensive transformation and workflow automation engine. In fact, it\'s so powerful and versatile, that it unfortunately doesn\'t come with a visual user interface or a plug-and-play installer. Luckily, for everyone who doesn\'t happen to be a java expert, there\'s also an xml configuration (via <a href="https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/xsd-configuration.html">spring xml</a>). And that\'s mostly all we need!</p>\n<h2>Transforming the Communication Protocol</h2>\n<p>We will use Spring XML to configure Apache Camel. The workflow in Camel are called <code>&lt;routes&gt;</code>. So let\'s create a route that transforms our mqtt to REST protocol:</p>\n<pre class="language-xml"><code class="language-xml"><span class="token prolog">&lt;?xml version="1.0" encoding="UTF-8"?></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>beans</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/beans<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>xsi</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.w3.org/2001/XMLSchema-instance<span class="token punctuation">"</span></span> <span class="token attr-name"><span class="token namespace">xmlns:</span>camel</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>util</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xsi:</span>schemaLocation</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util\n\thttp://www.springframework.org/schema/util/spring-util.xsd \n\thttp://www.springframework.org/schema/beans\n    http://www.springframework.org/schema/beans/spring-beans.xsd\n    http://camel.apache.org/schema/spring\n    http://camel.apache.org/schema/spring/camel-spring.xsd<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>mqtt://psi6000?host=tcp://192.168.123.135:1883<span class="token entity" title="&amp;">&amp;amp;</span>subscribeTopicName=PSI6000//PROCESS/PPMP/PROCESS<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://unide.eclipse.org:8080/rest/v2/measurement?bridgeEndpoint=true<span class="token entity" title="&amp;">&amp;amp;</span>throwExceptionOnFailure=true<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>beans</span><span class="token punctuation">></span></span>\n</code></pre>\n<p>That\'s it! A <code>&lt;route&gt;</code> that reads<code>&lt;from&gt;</code> mqtt and forwards <code>&lt;to&gt;</code> http. Not so difficult, is it? We could use many of the other <a href="http://camel.apache.org/components.html">connectors / components</a> in the example above as well to transform from/to different protocols.</p>\n<p>But wait! The welding payload above was not PPMP. So we also need to normalize the payload.</p>\n<h2>Normalizing the Payload</h2>\n<p>Now that we can easily convert protocols, let\'s address the structure of the payload. Overall, we want to have a workflow that looks as described in the diagram below:</p>\n<div class="card figure">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="data workflow" title="data workflow" src="/unide/images/blog/Transform-PPMP-with-camel-1.svg"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tBMW plant in Leipzig, Germany: Spot welding <a href="https://creativecommons.org/licenses/by-sa/2.0/de/deed.en">(CC BY-SA 2.0 DE)</a>\n\t</div>\n</div>\n<p>The extra steps here are:</p>\n<ol>\n<li>transform the PSI 6000 JSON String payload to a java object</li>\n<li>transform the PSI 6000 java object to two PPMP-java objects (<a href="/unide/specification/measurement-message">measurement-message</a> and <a href="https://www.eclipse.org/unide/specification/process-message">process-message</a>)</li>\n<li>split up the two PPMP objects</li>\n<li>route the objects individually</li>\n<li>transform each PPMP object back to a String</li>\n</ol>\n<h3>Create the PSI 6000 Java Object</h3>\n<p>Luckily, there are helpers for transforming json (or xml) to plain old java objects (POJOs). We are using <a href="http://www.jsonschema2pojo.org/">jsonschema2pojo</a> to convert the above json sample to POJOs with Jackson 2.x annotation. I name the resulting data type class <code>PSI6000DataType</code> and organize it in the package <code>org.eclipse.iot.unide.integrators</code>. Based on the given testdata, jsonschema2pojo cannot fully deduct all attribute types correctly. In order to allow floating point values, we would rename all <code>Integer</code> and <code>Object</code> types to <code>Number</code> in the WeldLog.java file. Also in the same file, we would change the type of the <code>dateTime</code> field from String to <code>LocalDateTime</code> to be more accurate:</p>\n<pre class="language-java"><code class="language-java"><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n<span class="token annotation punctuation">@JsonProperty</span><span class="token punctuation">(</span><span class="token string">"dateTime"</span><span class="token punctuation">)</span>\n<span class="token annotation punctuation">@JsonSerialize</span><span class="token punctuation">(</span>using <span class="token operator">=</span> LocalDateTimeSerializer<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span>\n<span class="token annotation punctuation">@JsonDeserialize</span><span class="token punctuation">(</span>using <span class="token operator">=</span> LocalDateTimeDeserializer<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span>\n<span class="token keyword">private</span> LocalDateTime dateTime<span class="token punctuation">;</span>\n<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n</code></pre>\n<p>For that, we also need to include the respective imports:</p>\n<pre class="language-java"><code class="language-java"><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>databind<span class="token punctuation">.</span>annotation<span class="token punctuation">.</span>JsonDeserialize<span class="token punctuation">;</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>databind<span class="token punctuation">.</span>annotation<span class="token punctuation">.</span>JsonSerialize<span class="token punctuation">;</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>datatype<span class="token punctuation">.</span>jsr310<span class="token punctuation">.</span>deser<span class="token punctuation">.</span>LocalDateTimeDeserializer<span class="token punctuation">;</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>datatype<span class="token punctuation">.</span>jsr310<span class="token punctuation">.</span>ser<span class="token punctuation">.</span>LocalDateTimeSerializer<span class="token punctuation">;</span>\n<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n</code></pre>\n<p>and adjust the getter (<code>getDateTime()</code>), setter (<code>setDateTime()</code>) and the type in the constructor (<code>public WeldLog(...)</code>) accordingly.</p>\n<p>Camel will be able to transform (&quot;<em>unmarshal</em>&quot;) this datatype from a string to a POJO after adding the definition to the above Spring XML:</p>\n<pre class="language-xml"><code class="language-xml">...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dataFormats</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000DataType<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dataFormats</span><span class="token punctuation">></span></span>\n\t...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n</code></pre>\n<h3>Use unide.java binding for PPMP Java Objects</h3>\n<p>For eventually transforming the PPMP objects back to String (&quot;<em>marshal</em>&quot;), we can make use of the <a href="https://github.com/eclipse/unide.java">unide PPMP java binding</a>. Just adjust the dataFormats section of the Spring XML so that it reads:</p>\n<pre class="language-xml"><code class="language-xml">...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dataFormats</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000DataType<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpMeasurementMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.measurements.MeasurementsWrapper<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span> \n\t\t\t<span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpProcessMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.process.ProcessWrapper<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dataFormats</span><span class="token punctuation">></span></span>\n\t...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n</code></pre>\n<h3>Create the Workflow</h3>\n<p>In order to better structure data flow, we use multiple <code>&lt;route&gt;</code>-s: one for retrieving the data and two more after the split of the payload. They are connected via the virtual camel protocol &quot;<em>direct</em>&quot;. In the following Spring XML, you can also find some <code>&lt;log&gt;</code> points and additional steps to set http header (<code>&lt;setHeader&gt;</code>) for posting to the unide server:</p>\n<pre class="language-xml"><code class="language-xml"><span class="token prolog">&lt;?xml version="1.0" encoding="UTF-8"?></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>beans</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/beans<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>xsi</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.w3.org/2001/XMLSchema-instance<span class="token punctuation">"</span></span> <span class="token attr-name"><span class="token namespace">xmlns:</span>camel</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>util</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xsi:</span>schemaLocation</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util\n\thttp://www.springframework.org/schema/util/spring-util.xsd \n\thttp://www.springframework.org/schema/beans\n    http://www.springframework.org/schema/beans/spring-beans.xsd\n    http://camel.apache.org/schema/spring\n    http://camel.apache.org/schema/spring/camel-spring.xsd<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>bean</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000-to-ppmp<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>bean</span><span class="token punctuation">></span></span>\n\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dataFormats</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000DataType<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpMeasurementMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.measurements.MeasurementsWrapper<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span> <span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpProcessMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.process.ProcessWrapper<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span> <span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dataFormats</span><span class="token punctuation">></span></span>\n\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span> <span class="token attr-name">autoStartup</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>true<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>mqtt://psi6000?host=tcp://192.168.123.135:1883<span class="token entity" title="&amp;">&amp;amp;</span>subscribeTopicName=PSI6000//PROCESS/PPMP/PROCESS<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>unmarshal</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>bean</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000-to-ppmp<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Content-Type<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>constant</span><span class="token punctuation">></span></span>application/json; charset=utf-8<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>constant</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>CamelHttpMethod<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>constant</span><span class="token punctuation">></span></span>POST<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>constant</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>multicast</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:measurement<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:process<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>multicast</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>done<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>{"result": true }<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:measurement<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>${body[0]}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>deviceId measurement: ${body.device.deviceID}<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>marshal</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpMeasurementMessage<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>sending measurement<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Content-Length<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>body.length<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://unide.eclipse.org:8080/rest/v2/measurement?bridgeEndpoint=true<span class="token entity" title="&amp;">&amp;amp;</span>throwExceptionOnFailure=true<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>measurement sent<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:process<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>${body[1]}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>deviceId process: ${body.device.deviceID}<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>marshal</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpProcessMessage<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>sending process<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Content-Length<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>body.length<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://unide.eclipse.org:8080/rest/v2/process?bridgeEndpoint=true<span class="token entity" title="&amp;">&amp;amp;</span>throwExceptionOnFailure=true<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>process sent<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>beans</span><span class="token punctuation">></span></span>\n</code></pre>\n<p>You might have noticed that we have not yet discussed one important item in this workflow: how do we actually transform the payload from one format to another?</p>\n<h3>Transforming from PSI 6000 POJO to PPMP POJOs</h3>\n<p>One thing that we\'ll hardwire as java code is the transformation from the source to the target structure. The same functionality could be achieved with scripting components (e.g. <a href="http://camel.apache.org/groovy.html">groovy</a>, but that would be less powerful and worse performance. Since we don\'t expect the format to change but mostly the workflow or endpoints, implementing a java bean is not too much effort. Here\'s how:<br>\nApache Camel offers a <code>Processor</code> interface that can be used to override the <code>process()</code> function. This function receives the complete message (<code>exchange</code>) and can modify it in any way. Since we have created the PSI 6000 Java Object already and want to produce PPMP java objects, the logic is mostly about creating the child objects and wiring the suitable getter to corresponding setter.</p>\n<pre class="language-java"><code class="language-java"><span class="token keyword">package</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>integrators<span class="token punctuation">;</span>\n\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>time<span class="token punctuation">.</span>OffsetDateTime<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>time<span class="token punctuation">.</span>ZoneOffset<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>util<span class="token punctuation">.</span>Arrays<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>util<span class="token punctuation">.</span>LinkedList<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>util<span class="token punctuation">.</span>List<span class="token punctuation">;</span>\n\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>camel<span class="token punctuation">.</span>Exchange<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>camel<span class="token punctuation">.</span>Message<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>camel<span class="token punctuation">.</span>Processor<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>commons<span class="token punctuation">.</span>Device<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>commons<span class="token punctuation">.</span>MetaData<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>MeasurementsWrapper<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Process<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>ProcessWrapper<span class="token punctuation">;</span>\n\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>core<span class="token punctuation">.</span>JsonProcessingException<span class="token punctuation">;</span>\n\n<span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">PSI6000</span> <span class="token keyword">implements</span> <span class="token class-name">Processor</span> <span class="token punctuation">{</span>\n\n\t<span class="token keyword">public</span> <span class="token function">PSI6000</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap <span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>\n\t\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap map<span class="token punctuation">,</span> String name<span class="token punctuation">,</span> Number value<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>value <span class="token operator">!=</span> null<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\tmap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span>name<span class="token punctuation">,</span> Arrays<span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\t\t<span class="token keyword">return</span> map<span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token annotation punctuation">@Override</span>\n\t<span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">process</span><span class="token punctuation">(</span>Exchange exchange<span class="token punctuation">)</span> <span class="token keyword">throws</span> JsonProcessingException<span class="token punctuation">,</span> Exception <span class="token punctuation">{</span>\n\t\tMessage msg <span class="token operator">=</span> exchange<span class="token punctuation">.</span><span class="token function">getIn</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tPSI6000DataType doc <span class="token operator">=</span> msg<span class="token punctuation">.</span><span class="token function">getBody</span><span class="token punctuation">(</span>PSI6000DataType<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\tObject <span class="token punctuation">[</span><span class="token punctuation">]</span>bundle <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Object</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">;</span>\n\t\tbundle<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>       <span class="token operator">=</span> <span class="token function">transformMeasurement</span><span class="token punctuation">(</span>doc<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tbundle<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>       <span class="token operator">=</span> <span class="token function">transformProcess</span><span class="token punctuation">(</span>doc<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tmsg<span class="token punctuation">.</span><span class="token function">setBody</span><span class="token punctuation">(</span>bundle<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\texchange<span class="token punctuation">.</span><span class="token function">setOut</span><span class="token punctuation">(</span>msg<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> <span class="token keyword">void</span> <span class="token function">setSpotName</span><span class="token punctuation">(</span>Device device<span class="token punctuation">,</span> WeldLog wl<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\tString spotName <span class="token operator">=</span> wl<span class="token punctuation">.</span><span class="token function">getSpotName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>spotName <span class="token operator">!=</span> null <span class="token operator">&amp;&amp;</span> spotName<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\tMetaData md <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">MetaData</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tmd<span class="token punctuation">.</span><span class="token function">setMetaDataValue</span><span class="token punctuation">(</span><span class="token string">"spotName"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSpotName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tdevice<span class="token punctuation">.</span><span class="token function">setMetaData</span><span class="token punctuation">(</span>md<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> ProcessWrapper <span class="token function">transformProcess</span><span class="token punctuation">(</span>PSI6000DataType doc<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\tProcessWrapper wrapper <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ProcessWrapper</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tWeldLog wl <span class="token operator">=</span> doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tOffsetDateTime odt <span class="token operator">=</span> OffsetDateTime<span class="token punctuation">.</span><span class="token function">of</span><span class="token punctuation">(</span>wl<span class="token punctuation">.</span><span class="token function">getDateTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span> ZoneOffset<span class="token punctuation">.</span>UTC<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// device</span>\n\t\tDevice device <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Device</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tdevice<span class="token punctuation">.</span><span class="token function">setDeviceID</span><span class="token punctuation">(</span>doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getTimerName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">setSpotName</span><span class="token punctuation">(</span>device<span class="token punctuation">,</span> wl<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setDevice</span><span class="token punctuation">(</span>device<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// part</span>\n\t\tString partId <span class="token operator">=</span> wl<span class="token punctuation">.</span><span class="token function">getPartIdentString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>partId <span class="token operator">!=</span> null <span class="token operator">&amp;&amp;</span> partId<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Part part <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Part</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tpart<span class="token punctuation">.</span><span class="token function">setPartID</span><span class="token punctuation">(</span>partId<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\twrapper<span class="token punctuation">.</span><span class="token function">setPart</span><span class="token punctuation">(</span>part<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\n\t\t<span class="token comment">// process</span>\n\t\tProcess process <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Process</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tprocess<span class="token punctuation">.</span><span class="token function">setTimestamp</span><span class="token punctuation">(</span>odt<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tprocess<span class="token punctuation">.</span><span class="token function">setExternalProcessId</span><span class="token punctuation">(</span>String<span class="token punctuation">.</span><span class="token function">valueOf</span><span class="token punctuation">(</span>wl<span class="token punctuation">.</span><span class="token function">getProtRecordID</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>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setProcess</span><span class="token punctuation">(</span>process<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// measurements</span>\n\t\tList<span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements<span class="token operator">></span> measurements <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">LinkedList</span><span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements<span class="token operator">></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements measurement <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setTimestamp</span><span class="token punctuation">(</span>odt<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">//values</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>SeriesMap seriesMap <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>SeriesMap</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"curentCurve"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentCurve</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"voltageCurve"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getVoltageCurve</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"forceCurve"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getForceCurve</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setSeriesMap</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tmeasurements<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>measurement<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setMeasurements</span><span class="token punctuation">(</span>measurements<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\n\t\t<span class="token keyword">return</span> wrapper<span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> MeasurementsWrapper <span class="token function">transformMeasurement</span><span class="token punctuation">(</span>PSI6000DataType doc<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\tMeasurementsWrapper wrapper <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">MeasurementsWrapper</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tWeldLog wl <span class="token operator">=</span> doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// device</span>\n\t\tDevice device <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Device</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tdevice<span class="token punctuation">.</span><span class="token function">setDeviceID</span><span class="token punctuation">(</span>doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getTimerName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">setSpotName</span><span class="token punctuation">(</span>device<span class="token punctuation">,</span> wl<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setDevice</span><span class="token punctuation">(</span>device<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// part</span>\n\t\tString partId <span class="token operator">=</span> wl<span class="token punctuation">.</span><span class="token function">getPartIdentString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>partId <span class="token operator">!=</span> null <span class="token operator">&amp;&amp;</span> partId<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Part part <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Part</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tpart<span class="token punctuation">.</span><span class="token function">setPartID</span><span class="token punctuation">(</span>partId<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\twrapper<span class="token punctuation">.</span><span class="token function">setPart</span><span class="token punctuation">(</span>part<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\n\t\t<span class="token comment">// measurements</span>\n\t\tList<span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements<span class="token operator">></span> measurements <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">LinkedList</span><span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements<span class="token operator">></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements measurement <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setTimestamp</span><span class="token punctuation">(</span>OffsetDateTime<span class="token punctuation">.</span><span class="token function">of</span><span class="token punctuation">(</span>wl<span class="token punctuation">.</span><span class="token function">getDateTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span> ZoneOffset<span class="token punctuation">.</span>UTC<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// values</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap seriesMap <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"$_time"</span><span class="token punctuation">,</span> Arrays<span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"wear"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWear</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"wearPerCent"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWearPerCent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"monitorState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getMonitorState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulationState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulationState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"measureState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getMeasureState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"powerState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPowerState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sequenceState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSequenceState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sequenceStateAdd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSequenceStateAdd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sequenceRepeat"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSequenceRepeat</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"monitorMode"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getMonitorMode</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemandStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemandStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"ilsts"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIlsts</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulationStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulationStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemand1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemand1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iActual1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIActual1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulation1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulation1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemand2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemand2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iActual2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIActual2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulation2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulation2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemand3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemand3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iActual3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIActual3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulation3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulation3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"phaStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPhaStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pha1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPha1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pha2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPha2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pha3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPha3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"t_iDemandStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemandStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"tActualStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getTActualStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token comment">// addMeasurementPoint(seriesMap, "partIdentString",</span>\n\t\t<span class="token comment">// wl.getPartIdentString());</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"tipDressCounter"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getTipDressCounter</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"electrodeNo"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getElectrodeNo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgForceSetPoint"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgForceSetPoint</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSheetThicknessSetPoint"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSheetThicknessSetPoint</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSagGpSetPoint"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSagGpSetPoint</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSpotWithSg"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSpotWithSg</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgMotorCurrent"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgMotorCurrent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgMotorTemp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgMotorTemp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgForce"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgForce</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSheetThickness"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSheetThickness</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSagGp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSagGp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSagGc"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSagGc</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regUsrUspJunction"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegUsrUspJunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regUsrUspMax"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegUsrUspMax</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regSpotDiaActual"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegSpotDiaActual</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regSpotDiaMinDemand"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegSpotDiaMinDemand</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regSplashTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegSplashTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"nuggetDiameter"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getNuggetDiameter</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"usp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUsp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"normingTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getNormingTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulationStartTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulationStartTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"returnToConstantCurrent"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getReturnToConstantCurrent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"declineUsp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getDeclineUsp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"offsetUsp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getOffsetUsp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"currentFactor"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentFactor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"triggerTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getTriggerTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrMeasuringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrMeasuringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrRegulationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrRegulationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrMonitoringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrMonitoringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrWeldTimeProlongationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrWeldTimeProlongationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"voltageActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getVoltageActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"voltageRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getVoltageRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"currentActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"currentReferenceValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentReferenceValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldTimeActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldTimeActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldTimeRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldTimeRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"energyActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getEnergyActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"energyRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getEnergyRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"powerActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPowerActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"powerRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPowerRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"resistanceActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getResistanceActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"resistanceRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getResistanceRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pulseWidthActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPulseWidthActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pulseWidthRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPulseWidthRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"stabilisationFactorActValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getStabilisationFactorActValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"stabilisationFactorRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getStabilisationFactorRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"thresholdStabilisationFactor"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getThresholdStabilisationFactor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"wldEffectStabilisationFactor"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWldEffectStabilisationFactor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uipActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUipActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uipRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUipRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirExpulsionTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirExpulsionTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirMeasuringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirMeasuringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirRegulationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirRegulationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirMonitoringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirMonitoringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirWeldTimeProlongationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirWeldTimeProlongationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirQStoppRefCntValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirQStoppRefCntValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirQStoppActCntValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirQStoppActCntValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirUipUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirUipUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirUipLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirUipLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirUipCondTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirUipCondTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirPsfLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirPsfLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirPsfCondTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirPsfCondTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP161</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP162</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP163</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_4"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP164</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_5"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP165</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP32_6"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP326</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_7"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP167</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_8"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP168</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_9"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP169</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_10"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1610</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_11"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1611</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP32_12"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP3212</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_13"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1613</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_14"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1614</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_15"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1615</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_16"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1616</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_17"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1617</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP32_18"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP3218</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uipMonCondUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUipMonCondUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonCondUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonCondUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonCondLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonCondLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMeasuringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMeasuringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrModeOff"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrModeOff</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"reweldActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getReweldActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token comment">// addMeasurementPoint(seriesMap, "weldspotRefIdent",</span>\n\t\t<span class="token comment">// wl.getWeldspotRefIdent());</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Torque_Gp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgTorqueGp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Force_Corr"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgForceCorr</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Weldspot_Geo_Wear"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgWeldspotGeoWear</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Wear_Length"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgWearLength</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Beam_UpArching"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgBeamUpArching</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setSeriesMap</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tmeasurements<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>measurement<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setMeasurements</span><span class="token punctuation">(</span>measurements<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token keyword">return</span> wrapper<span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n<span class="token punctuation">}</span>\n</code></pre>\n<h1>Summary</h1>\n<p>It takes a while to understand the involved software components. Yet, once the set up is running, it gets much easier to adapt it to another Use Case. And another. The pattern of wiring protocols and transforming the payload is very similar. The involved frameworks are powerful enough to support many Use Cases. This article is supposed to show that there are simple possibilities to transform transport protocols and payloads, so that you can focus on addressing functional challenges.</p>\n',url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z",tags:["use cases"],prev:{url:"/blog/2018/1/26/New-website",title:"Updated Website"},next:{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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:"Transform-PPMP-with-camel",content:'<p>The Production Performance Management Protocol (PPMP) is a simple structure to send out machine data. Unide, as its hosting project, is supposed to provide exemplary implementations.</p>\n<p>We have already published <a href="https://github.com/eclipse/unide/tree/master/servers/rest">a REST server</a>, <a href="https://github.com/eclipse/unide.java">java-</a> and <a href="https://github.com/eclipse/unide.python">python-</a> bindings and an <a href="https://github.com/eclipse/unide/tree/master/clients/binsa">html5-client</a>. But how are these implementations used in real life?</p>\n<h1>The Challenge</h1>\n<div class="card figure">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="Welding robots" title="BMW plant, spot welding" src="/unide/images/blog/Transform-PPMP-with-camel-welding.jpg"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tBMW plant in Leipzig, Germany: Spot welding <a href="https://creativecommons.org/licenses/by-sa/2.0/de/deed.en">(CC BY-SA 2.0 DE)</a>\n\t</div>\n</div>\n<p>In the automotive industry, <a href="https://en.wikipedia.org/wiki/Spot_welding">welding spots</a> are crucial for the quality of a car and the security of the passenger. In modern production lines, hundreds of welding spots have to be precisely set in a single shift. In order to reduce product rework, scrap, destructible tests and machine downtime, the quality should be monitored consistently. That\'s what special welding controller in machines do. Unfortunately, this data is often only used locally, for a short period of time and in proprietary formats. Just enough to determine the immediate process outcome. In that case, further opportunities of analysing the information are not taken. With the continuous increase in complexity, price and time pressure, the demand for further processing and optimization grows. The data could be used to prevent or even predict maintenance or just store the data in long time archives in case of legal disputes.</p>\n<p>One prerequisite for such connectivity is the hardware and its connectivity. Older generations of welding controllers can only be accessed with proprietary stacks (like the <a href="https://www.boschrexroth.com/en/xc/products/product-groups/welding-technology/controllers-with-power-section/mf-system-psi6000/index">PSI 6000</a>) whereas newer generations (like the <a href="https://www.boschrexroth.com/en/xc/company/press/index2-29696">PRC 7000</a>) are much more flexible in terms of networking and communication. In general, there are two aspects that make up the communication: the transport protocol and the structure of the payload. This is similar to our daily life: if you want to chat with your friends, you need to use the same messenger or communication technology (phone, email) and you need speak the same language (English, German etc.).</p>\n<p>In the following sections, let\'s assume we need to transform the transport protocol as well as the payload. The data is generated by a welding controller and should be passed to <a href="https://unide.eclipse.org">the unide REST server</a> for persisting it in a dedicated timeseries database.</p>\n<h1>The Approach</h1>\n<p>We want to find a way to receive the data, transform it into PPMP and store it into a database in our <a href="https://unide.eclipse.org">REST Server</a>.</p>\n<p>First, we need to understand which interfaces the controller has, which communication protocol is used, and how the payload would be interpreted. In the case of the PSI 6000, it was configured to publish the quality data to a <a href="https://de.wikipedia.org/wiki/MQTT">mqtt</a> message broker (here: <a href="https://mosquitto.org/">Eclipse mosquitto</a>). We don\'t have an extensive documentation of the payload, but we can look at samples of it (some Curve data shortened at the end):</p>\n<pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>\n  <span class="token property">"Name"</span><span class="token operator">:</span> <span class="token string">"WeldLog/UIR Testrack 24/"</span><span class="token punctuation">,</span>\n  <span class="token property">"WeldTimer"</span><span class="token operator">:</span> <span class="token string">"UIR Testrack 24"</span><span class="token punctuation">,</span>\n  <span class="token property">"TimeStamp"</span><span class="token operator">:</span> <span class="token string">"2018-01-17T10:41:00.0008436+01:00"</span><span class="token punctuation">,</span>\n  <span class="token property">"OutputFormat"</span><span class="token operator">:</span> <span class="token string">"JSON"</span><span class="token punctuation">,</span>\n  <span class="token property">"Message"</span><span class="token operator">:</span> <span class="token punctuation">{</span>\n    <span class="token property">"WeldLog"</span><span class="token operator">:</span> <span class="token punctuation">{</span>\n      <span class="token property">"protRecord_ID"</span><span class="token operator">:</span> <span class="token number">734827</span><span class="token punctuation">,</span>\n      <span class="token property">"dateTime"</span><span class="token operator">:</span> <span class="token string">"2018-01-15T16:52:32.09"</span><span class="token punctuation">,</span>\n      <span class="token property">"timerName"</span><span class="token operator">:</span> <span class="token string">"UIR Testrack 24"</span><span class="token punctuation">,</span>\n      <span class="token property">"progNo"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"spotName"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>\n      <span class="token property">"wear"</span><span class="token operator">:</span> <span class="token number">8312480</span><span class="token punctuation">,</span>\n      <span class="token property">"wearPerCent"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"monitorState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulationState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"measureState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"powerState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sequenceState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sequenceStateAdd"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sequenceRepeat"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"monitorMode"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemandStd"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"ilsts"</span><span class="token operator">:</span> <span class="token number">13.14</span><span class="token punctuation">,</span>\n      <span class="token property">"regulationStd"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemand1"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"iActual1"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulation1"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemand2"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"iActual2"</span><span class="token operator">:</span> <span class="token number">13.16</span><span class="token punctuation">,</span>\n      <span class="token property">"regulation2"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemand3"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"iActual3"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulation3"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>\n      <span class="token property">"phaStd"</span><span class="token operator">:</span> <span class="token number">24.96</span><span class="token punctuation">,</span>\n      <span class="token property">"pha1"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"pha2"</span><span class="token operator">:</span> <span class="token number">24.64</span><span class="token punctuation">,</span>\n      <span class="token property">"pha3"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"t_iDemandStd"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"tActualStd"</span><span class="token operator">:</span> <span class="token number">878</span><span class="token punctuation">,</span>\n      <span class="token property">"partIdentString"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>\n      <span class="token property">"tipDressCounter"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"electrodeNo"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sgForceSetPoint"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSheetThicknessSetPoint"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSagGpSetPoint"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSpotWithSg"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgMotorCurrent"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgMotorTemp"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgForce"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSheetThickness"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSagGp"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSagGc"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"regUsrUspJunction"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regUsrUspMax"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regSpotDiaActual"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regSpotDiaMinDemand"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regSplashTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"nuggetDiameter"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"usp"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"normingTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulationStartTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"returnToConstantCurrent"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"declineUsp"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"offsetUsp"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"currentFactor"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"triggerTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrMeasuringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrRegulationActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrMonitoringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrWeldTimeProlongationActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"voltageActualValue"</span><span class="token operator">:</span> <span class="token number">0.03</span><span class="token punctuation">,</span>\n      <span class="token property">"voltageRefValue"</span><span class="token operator">:</span> <span class="token number">0.03</span><span class="token punctuation">,</span>\n      <span class="token property">"currentActualValue"</span><span class="token operator">:</span> <span class="token number">13.17</span><span class="token punctuation">,</span>\n      <span class="token property">"currentReferenceValue"</span><span class="token operator">:</span> <span class="token number">13.95</span><span class="token punctuation">,</span>\n      <span class="token property">"weldTimeActualValue"</span><span class="token operator">:</span> <span class="token number">876</span><span class="token punctuation">,</span>\n      <span class="token property">"weldTimeRefValue"</span><span class="token operator">:</span> <span class="token number">760</span><span class="token punctuation">,</span>\n      <span class="token property">"energyActualValue"</span><span class="token operator">:</span> <span class="token number">395.1261</span><span class="token punctuation">,</span>\n      <span class="token property">"energyRefValue"</span><span class="token operator">:</span> <span class="token number">342</span><span class="token punctuation">,</span>\n      <span class="token property">"powerActualValue"</span><span class="token operator">:</span> <span class="token number">395.133</span><span class="token punctuation">,</span>\n      <span class="token property">"powerRefValue"</span><span class="token operator">:</span> <span class="token number">449.35</span><span class="token punctuation">,</span>\n      <span class="token property">"resistanceActualValue"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>\n      <span class="token property">"resistanceRefValue"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>\n      <span class="token property">"pulseWidthActualValue"</span><span class="token operator">:</span> <span class="token number">25.02</span><span class="token punctuation">,</span>\n      <span class="token property">"pulseWidthRefValue"</span><span class="token operator">:</span> <span class="token number">26.19</span><span class="token punctuation">,</span>\n      <span class="token property">"stabilisationFactorActValue"</span><span class="token operator">:</span> <span class="token number">55</span><span class="token punctuation">,</span>\n      <span class="token property">"stabilisationFactorRefValue"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"thresholdStabilisationFactor"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"wldEffectStabilisationFactor"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uipActualValue"</span><span class="token operator">:</span> <span class="token number">126</span><span class="token punctuation">,</span>\n      <span class="token property">"uipRefValue"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirExpulsionTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"uirMeasuringActive"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"uirRegulationActive"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"uirMonitoringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"uirWeldTimeProlongationActive"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"uirQStoppRefCntValue"</span><span class="token operator">:</span> <span class="token number">9</span><span class="token punctuation">,</span>\n      <span class="token property">"uirQStoppActCntValue"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"uirUipUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirUipLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirUipCondTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirPsfLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirPsfCondTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_1"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_2"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_3"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_4"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_5"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP32_6"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_7"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_8"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_9"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_10"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_11"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP32_12"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_13"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_14"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_15"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_16"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_17"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP32_18"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"uipMonCondUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfActualValue"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfRefValue"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonCondUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonCondLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMeasuringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrModeOff"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"reweldActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"weldspotRefIdent"</span><span class="token operator">:</span> <span class="token string">"UIR_PART"</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Torque_Gp"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Force_Corr"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Weldspot_Geo_Wear"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Wear_Length"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Beam_UpArching"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"CurrentCurve"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n        <span class="token number">11621</span><span class="token punctuation">,</span>\n        <span class="token number">15434</span><span class="token punctuation">,</span>\n        ...\n      <span class="token punctuation">]</span><span class="token punctuation">,</span>\n      <span class="token property">"VoltageCurve"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n        <span class="token number">39</span><span class="token punctuation">,</span>\n        <span class="token number">29</span><span class="token punctuation">,</span>\n        ...\n      <span class="token punctuation">]</span><span class="token punctuation">,</span>\n      <span class="token property">"ForceCurve"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n        <span class="token number">49</span><span class="token punctuation">,</span>\n        <span class="token number">49</span><span class="token punctuation">,</span>\n        ...\n      <span class="token punctuation">]</span>\n    <span class="token punctuation">}</span>\n  <span class="token punctuation">}</span>\n<span class="token punctuation">}</span>\n</code></pre>\n<p>That\'s already very detailed, but it\'s unclear which device / welding spot the data comes from and what the timing of the curves was. Let\'s get some more structure in with PPMP!</p>\n<p>In PPMP, we have the option to differentiate between discrete manufacturing data (MES - part produced) by using the <a href="/unide/specification/measurement-message">measurement-message</a> and detailed process data by using the <a href="https://www.eclipse.org/unide/specification/process-message">process-message</a>. In the welding payload, that\'s all combined in one message. So we also want to split this payload into two.</p>\n<h2>Introducing Apache Camel</h2>\n<div class="card figure is-pulled-left">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="Apache Camel" title="Apache Camel" src="/unide/images/blog/Transform-PPMP-with-camel-camel.png"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tApache Camel, <a href="https://www.apache.org/licenses/LICENSE-2.0">(Apache&nbsp;License&nbsp;2.0)</a>\n\t</div>\n</div>\n<p><a href="https://en.wikipedia.org/wiki/Apache_Camel">Apache Camel</a> is a java-based Open Source framework, that can transform and route data. It supports most of the <a href="https://en.wikipedia.org/wiki/Enterprise_Integration_Patterns">Enterprise Integration Patterns</a> and hundreds(!) of <a href="http://camel.apache.org/components.html">connectors / components</a>. Think of it as an extensive transformation and workflow automation engine. In fact, it\'s so powerful and versatile, that it unfortunately doesn\'t come with a visual user interface or a plug-and-play installer. Luckily, for everyone who doesn\'t happen to be a java expert, there\'s also an xml configuration (via <a href="https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/xsd-configuration.html">spring xml</a>). And that\'s mostly all we need!</p>\n<h2>Transforming the Communication Protocol</h2>\n<p>We will use Spring XML to configure Apache Camel. The workflow in Camel are called <code>&lt;routes&gt;</code>. So let\'s create a route that transforms our mqtt to REST protocol:</p>\n<pre class="language-xml"><code class="language-xml"><span class="token prolog">&lt;?xml version="1.0" encoding="UTF-8"?></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>beans</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/beans<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>xsi</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.w3.org/2001/XMLSchema-instance<span class="token punctuation">"</span></span> <span class="token attr-name"><span class="token namespace">xmlns:</span>camel</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>util</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xsi:</span>schemaLocation</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util\n\thttp://www.springframework.org/schema/util/spring-util.xsd \n\thttp://www.springframework.org/schema/beans\n    http://www.springframework.org/schema/beans/spring-beans.xsd\n    http://camel.apache.org/schema/spring\n    http://camel.apache.org/schema/spring/camel-spring.xsd<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>mqtt://psi6000?host=tcp://192.168.123.135:1883<span class="token entity" title="&amp;">&amp;amp;</span>subscribeTopicName=PSI6000//PROCESS/PPMP/PROCESS<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://unide.eclipse.org:8080/rest/v2/measurement?bridgeEndpoint=true<span class="token entity" title="&amp;">&amp;amp;</span>throwExceptionOnFailure=true<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>beans</span><span class="token punctuation">></span></span>\n</code></pre>\n<p>That\'s it! A <code>&lt;route&gt;</code> that reads<code>&lt;from&gt;</code> mqtt and forwards <code>&lt;to&gt;</code> http. Not so difficult, is it? We could use many of the other <a href="http://camel.apache.org/components.html">connectors / components</a> in the example above as well to transform from/to different protocols.</p>\n<p>But wait! The welding payload above was not PPMP. So we also need to normalize the payload.</p>\n<h2>Normalizing the Payload</h2>\n<p>Now that we can easily convert protocols, let\'s address the structure of the payload. Overall, we want to have a workflow that looks as described in the diagram below:</p>\n<div class="card figure">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="data workflow" title="data workflow" src="/unide/images/blog/Transform-PPMP-with-camel-1.svg"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tBMW plant in Leipzig, Germany: Spot welding <a href="https://creativecommons.org/licenses/by-sa/2.0/de/deed.en">(CC BY-SA 2.0 DE)</a>\n\t</div>\n</div>\n<p>The extra steps here are:</p>\n<ol>\n<li>transform the PSI 6000 JSON String payload to a java object</li>\n<li>transform the PSI 6000 java object to two PPMP-java objects (<a href="/unide/specification/measurement-message">measurement-message</a> and <a href="https://www.eclipse.org/unide/specification/process-message">process-message</a>)</li>\n<li>split up the two PPMP objects</li>\n<li>route the objects individually</li>\n<li>transform each PPMP object back to a String</li>\n</ol>\n<h3>Create the PSI 6000 Java Object</h3>\n<p>Luckily, there are helpers for transforming json (or xml) to plain old java objects (POJOs). We are using <a href="http://www.jsonschema2pojo.org/">jsonschema2pojo</a> to convert the above json sample to POJOs with Jackson 2.x annotation. I name the resulting data type class <code>PSI6000DataType</code> and organize it in the package <code>org.eclipse.iot.unide.integrators</code>. Based on the given testdata, jsonschema2pojo cannot fully deduct all attribute types correctly. In order to allow floating point values, we would rename all <code>Integer</code> and <code>Object</code> types to <code>Number</code> in the WeldLog.java file. Also in the same file, we would change the type of the <code>dateTime</code> field from String to <code>LocalDateTime</code> to be more accurate:</p>\n<pre class="language-java"><code class="language-java"><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n<span class="token annotation punctuation">@JsonProperty</span><span class="token punctuation">(</span><span class="token string">"dateTime"</span><span class="token punctuation">)</span>\n<span class="token annotation punctuation">@JsonSerialize</span><span class="token punctuation">(</span>using <span class="token operator">=</span> LocalDateTimeSerializer<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span>\n<span class="token annotation punctuation">@JsonDeserialize</span><span class="token punctuation">(</span>using <span class="token operator">=</span> LocalDateTimeDeserializer<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span>\n<span class="token keyword">private</span> LocalDateTime dateTime<span class="token punctuation">;</span>\n<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n</code></pre>\n<p>For that, we also need to include the respective imports:</p>\n<pre class="language-java"><code class="language-java"><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>databind<span class="token punctuation">.</span>annotation<span class="token punctuation">.</span>JsonDeserialize<span class="token punctuation">;</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>databind<span class="token punctuation">.</span>annotation<span class="token punctuation">.</span>JsonSerialize<span class="token punctuation">;</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>datatype<span class="token punctuation">.</span>jsr310<span class="token punctuation">.</span>deser<span class="token punctuation">.</span>LocalDateTimeDeserializer<span class="token punctuation">;</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>datatype<span class="token punctuation">.</span>jsr310<span class="token punctuation">.</span>ser<span class="token punctuation">.</span>LocalDateTimeSerializer<span class="token punctuation">;</span>\n<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n</code></pre>\n<p>and adjust the getter (<code>getDateTime()</code>), setter (<code>setDateTime()</code>) and the type in the constructor (<code>public WeldLog(...)</code>) accordingly.</p>\n<p>Camel will be able to transform (&quot;<em>unmarshal</em>&quot;) this datatype from a string to a POJO after adding the definition to the above Spring XML:</p>\n<pre class="language-xml"><code class="language-xml">...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dataFormats</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000DataType<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dataFormats</span><span class="token punctuation">></span></span>\n\t...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n</code></pre>\n<h3>Use unide.java binding for PPMP Java Objects</h3>\n<p>For eventually transforming the PPMP objects back to String (&quot;<em>marshal</em>&quot;), we can make use of the <a href="https://github.com/eclipse/unide.java">unide PPMP java binding</a>. Just adjust the dataFormats section of the Spring XML so that it reads:</p>\n<pre class="language-xml"><code class="language-xml">...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dataFormats</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000DataType<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpMeasurementMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.measurements.MeasurementsWrapper<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span> \n\t\t\t<span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpProcessMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.process.ProcessWrapper<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dataFormats</span><span class="token punctuation">></span></span>\n\t...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n</code></pre>\n<h3>Create the Workflow</h3>\n<p>In order to better structure data flow, we use multiple <code>&lt;route&gt;</code>-s: one for retrieving the data and two more after the split of the payload. They are connected via the virtual camel protocol &quot;<em>direct</em>&quot;. In the following Spring XML, you can also find some <code>&lt;log&gt;</code> points and additional steps to set http header (<code>&lt;setHeader&gt;</code>) for posting to the unide server:</p>\n<pre class="language-xml"><code class="language-xml"><span class="token prolog">&lt;?xml version="1.0" encoding="UTF-8"?></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>beans</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/beans<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>xsi</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.w3.org/2001/XMLSchema-instance<span class="token punctuation">"</span></span> <span class="token attr-name"><span class="token namespace">xmlns:</span>camel</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>util</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xsi:</span>schemaLocation</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util\n\thttp://www.springframework.org/schema/util/spring-util.xsd \n\thttp://www.springframework.org/schema/beans\n    http://www.springframework.org/schema/beans/spring-beans.xsd\n    http://camel.apache.org/schema/spring\n    http://camel.apache.org/schema/spring/camel-spring.xsd<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>bean</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000-to-ppmp<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>bean</span><span class="token punctuation">></span></span>\n\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dataFormats</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000DataType<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpMeasurementMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.measurements.MeasurementsWrapper<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span> <span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpProcessMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.process.ProcessWrapper<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span> <span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dataFormats</span><span class="token punctuation">></span></span>\n\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span> <span class="token attr-name">autoStartup</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>true<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>mqtt://psi6000?host=tcp://192.168.123.135:1883<span class="token entity" title="&amp;">&amp;amp;</span>subscribeTopicName=PSI6000//PROCESS/PPMP/PROCESS<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>unmarshal</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>bean</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000-to-ppmp<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Content-Type<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>constant</span><span class="token punctuation">></span></span>application/json; charset=utf-8<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>constant</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>CamelHttpMethod<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>constant</span><span class="token punctuation">></span></span>POST<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>constant</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>multicast</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:measurement<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:process<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>multicast</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>done<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>{"result": true }<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:measurement<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>${body[0]}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>deviceId measurement: ${body.device.deviceID}<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>marshal</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpMeasurementMessage<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>sending measurement<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Content-Length<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>body.length<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://unide.eclipse.org:8080/rest/v2/measurement?bridgeEndpoint=true<span class="token entity" title="&amp;">&amp;amp;</span>throwExceptionOnFailure=true<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>measurement sent<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:process<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>${body[1]}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>deviceId process: ${body.device.deviceID}<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>marshal</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpProcessMessage<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>sending process<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Content-Length<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>body.length<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://unide.eclipse.org:8080/rest/v2/process?bridgeEndpoint=true<span class="token entity" title="&amp;">&amp;amp;</span>throwExceptionOnFailure=true<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>process sent<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>beans</span><span class="token punctuation">></span></span>\n</code></pre>\n<p>You might have noticed that we have not yet discussed one important item in this workflow: how do we actually transform the payload from one format to another?</p>\n<h3>Transforming from PSI 6000 POJO to PPMP POJOs</h3>\n<p>One thing that we\'ll hardwire as java code is the transformation from the source to the target structure. The same functionality could be achieved with scripting components (e.g. <a href="http://camel.apache.org/groovy.html">groovy</a>, but that would be less powerful and worse performance. Since we don\'t expect the format to change but mostly the workflow or endpoints, implementing a java bean is not too much effort. Here\'s how:<br>\nApache Camel offers a <code>Processor</code> interface that can be used to override the <code>process()</code> function. This function receives the complete message (<code>exchange</code>) and can modify it in any way. Since we have created the PSI 6000 Java Object already and want to produce PPMP java objects, the logic is mostly about creating the child objects and wiring the suitable getter to corresponding setter.</p>\n<pre class="language-java"><code class="language-java"><span class="token keyword">package</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>integrators<span class="token punctuation">;</span>\n\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>time<span class="token punctuation">.</span>OffsetDateTime<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>time<span class="token punctuation">.</span>ZoneOffset<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>util<span class="token punctuation">.</span>Arrays<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>util<span class="token punctuation">.</span>LinkedList<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>util<span class="token punctuation">.</span>List<span class="token punctuation">;</span>\n\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>camel<span class="token punctuation">.</span>Exchange<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>camel<span class="token punctuation">.</span>Message<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>camel<span class="token punctuation">.</span>Processor<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>commons<span class="token punctuation">.</span>Device<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>commons<span class="token punctuation">.</span>MetaData<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>MeasurementsWrapper<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Process<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>ProcessWrapper<span class="token punctuation">;</span>\n\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>core<span class="token punctuation">.</span>JsonProcessingException<span class="token punctuation">;</span>\n\n<span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">PSI6000</span> <span class="token keyword">implements</span> <span class="token class-name">Processor</span> <span class="token punctuation">{</span>\n\n\t<span class="token keyword">public</span> <span class="token function">PSI6000</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap <span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>\n\t\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap map<span class="token punctuation">,</span> String name<span class="token punctuation">,</span> Number value<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>value <span class="token operator">!=</span> null<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\tmap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span>name<span class="token punctuation">,</span> Arrays<span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\t\t<span class="token keyword">return</span> map<span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token annotation punctuation">@Override</span>\n\t<span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">process</span><span class="token punctuation">(</span>Exchange exchange<span class="token punctuation">)</span> <span class="token keyword">throws</span> JsonProcessingException<span class="token punctuation">,</span> Exception <span class="token punctuation">{</span>\n\t\tMessage msg <span class="token operator">=</span> exchange<span class="token punctuation">.</span><span class="token function">getIn</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tPSI6000DataType doc <span class="token operator">=</span> msg<span class="token punctuation">.</span><span class="token function">getBody</span><span class="token punctuation">(</span>PSI6000DataType<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\tObject <span class="token punctuation">[</span><span class="token punctuation">]</span>bundle <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Object</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">;</span>\n\t\tbundle<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>       <span class="token operator">=</span> <span class="token function">transformMeasurement</span><span class="token punctuation">(</span>doc<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tbundle<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>       <span class="token operator">=</span> <span class="token function">transformProcess</span><span class="token punctuation">(</span>doc<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tmsg<span class="token punctuation">.</span><span class="token function">setBody</span><span class="token punctuation">(</span>bundle<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\texchange<span class="token punctuation">.</span><span class="token function">setOut</span><span class="token punctuation">(</span>msg<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> <span class="token keyword">void</span> <span class="token function">setSpotName</span><span class="token punctuation">(</span>Device device<span class="token punctuation">,</span> WeldLog wl<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\tString spotName <span class="token operator">=</span> wl<span class="token punctuation">.</span><span class="token function">getSpotName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>spotName <span class="token operator">!=</span> null <span class="token operator">&amp;&amp;</span> spotName<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\tMetaData md <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">MetaData</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tmd<span class="token punctuation">.</span><span class="token function">setMetaDataValue</span><span class="token punctuation">(</span><span class="token string">"spotName"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSpotName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tdevice<span class="token punctuation">.</span><span class="token function">setMetaData</span><span class="token punctuation">(</span>md<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> ProcessWrapper <span class="token function">transformProcess</span><span class="token punctuation">(</span>PSI6000DataType doc<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\tProcessWrapper wrapper <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ProcessWrapper</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tWeldLog wl <span class="token operator">=</span> doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tOffsetDateTime odt <span class="token operator">=</span> OffsetDateTime<span class="token punctuation">.</span><span class="token function">of</span><span class="token punctuation">(</span>wl<span class="token punctuation">.</span><span class="token function">getDateTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span> ZoneOffset<span class="token punctuation">.</span>UTC<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// device</span>\n\t\tDevice device <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Device</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tdevice<span class="token punctuation">.</span><span class="token function">setDeviceID</span><span class="token punctuation">(</span>doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getTimerName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">setSpotName</span><span class="token punctuation">(</span>device<span class="token punctuation">,</span> wl<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setDevice</span><span class="token punctuation">(</span>device<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// part</span>\n\t\tString partId <span class="token operator">=</span> wl<span class="token punctuation">.</span><span class="token function">getPartIdentString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>partId <span class="token operator">!=</span> null <span class="token operator">&amp;&amp;</span> partId<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Part part <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Part</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tpart<span class="token punctuation">.</span><span class="token function">setPartID</span><span class="token punctuation">(</span>partId<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\twrapper<span class="token punctuation">.</span><span class="token function">setPart</span><span class="token punctuation">(</span>part<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\n\t\t<span class="token comment">// process</span>\n\t\tProcess process <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Process</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tprocess<span class="token punctuation">.</span><span class="token function">setTimestamp</span><span class="token punctuation">(</span>odt<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tprocess<span class="token punctuation">.</span><span class="token function">setExternalProcessId</span><span class="token punctuation">(</span>String<span class="token punctuation">.</span><span class="token function">valueOf</span><span class="token punctuation">(</span>wl<span class="token punctuation">.</span><span class="token function">getProtRecordID</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>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setProcess</span><span class="token punctuation">(</span>process<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// measurements</span>\n\t\tList<span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements<span class="token operator">></span> measurements <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">LinkedList</span><span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements<span class="token operator">></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements measurement <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setTimestamp</span><span class="token punctuation">(</span>odt<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">//values</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>SeriesMap seriesMap <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>SeriesMap</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"curentCurve"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentCurve</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"voltageCurve"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getVoltageCurve</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"forceCurve"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getForceCurve</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setSeriesMap</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tmeasurements<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>measurement<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setMeasurements</span><span class="token punctuation">(</span>measurements<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\n\t\t<span class="token keyword">return</span> wrapper<span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> MeasurementsWrapper <span class="token function">transformMeasurement</span><span class="token punctuation">(</span>PSI6000DataType doc<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\tMeasurementsWrapper wrapper <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">MeasurementsWrapper</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tWeldLog wl <span class="token operator">=</span> doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// device</span>\n\t\tDevice device <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Device</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tdevice<span class="token punctuation">.</span><span class="token function">setDeviceID</span><span class="token punctuation">(</span>doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getTimerName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">setSpotName</span><span class="token punctuation">(</span>device<span class="token punctuation">,</span> wl<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setDevice</span><span class="token punctuation">(</span>device<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// part</span>\n\t\tString partId <span class="token operator">=</span> wl<span class="token punctuation">.</span><span class="token function">getPartIdentString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>partId <span class="token operator">!=</span> null <span class="token operator">&amp;&amp;</span> partId<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Part part <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Part</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tpart<span class="token punctuation">.</span><span class="token function">setPartID</span><span class="token punctuation">(</span>partId<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\twrapper<span class="token punctuation">.</span><span class="token function">setPart</span><span class="token punctuation">(</span>part<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\n\t\t<span class="token comment">// measurements</span>\n\t\tList<span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements<span class="token operator">></span> measurements <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">LinkedList</span><span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements<span class="token operator">></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements measurement <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setTimestamp</span><span class="token punctuation">(</span>OffsetDateTime<span class="token punctuation">.</span><span class="token function">of</span><span class="token punctuation">(</span>wl<span class="token punctuation">.</span><span class="token function">getDateTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span> ZoneOffset<span class="token punctuation">.</span>UTC<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// values</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap seriesMap <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"$_time"</span><span class="token punctuation">,</span> Arrays<span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"wear"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWear</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"wearPerCent"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWearPerCent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"monitorState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getMonitorState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulationState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulationState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"measureState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getMeasureState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"powerState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPowerState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sequenceState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSequenceState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sequenceStateAdd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSequenceStateAdd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sequenceRepeat"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSequenceRepeat</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"monitorMode"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getMonitorMode</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemandStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemandStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"ilsts"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIlsts</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulationStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulationStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemand1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemand1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iActual1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIActual1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulation1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulation1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemand2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemand2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iActual2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIActual2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulation2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulation2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemand3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemand3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iActual3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIActual3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulation3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulation3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"phaStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPhaStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pha1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPha1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pha2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPha2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pha3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPha3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"t_iDemandStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemandStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"tActualStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getTActualStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token comment">// addMeasurementPoint(seriesMap, "partIdentString",</span>\n\t\t<span class="token comment">// wl.getPartIdentString());</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"tipDressCounter"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getTipDressCounter</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"electrodeNo"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getElectrodeNo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgForceSetPoint"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgForceSetPoint</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSheetThicknessSetPoint"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSheetThicknessSetPoint</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSagGpSetPoint"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSagGpSetPoint</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSpotWithSg"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSpotWithSg</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgMotorCurrent"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgMotorCurrent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgMotorTemp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgMotorTemp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgForce"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgForce</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSheetThickness"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSheetThickness</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSagGp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSagGp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSagGc"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSagGc</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regUsrUspJunction"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegUsrUspJunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regUsrUspMax"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegUsrUspMax</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regSpotDiaActual"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegSpotDiaActual</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regSpotDiaMinDemand"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegSpotDiaMinDemand</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regSplashTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegSplashTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"nuggetDiameter"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getNuggetDiameter</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"usp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUsp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"normingTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getNormingTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulationStartTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulationStartTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"returnToConstantCurrent"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getReturnToConstantCurrent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"declineUsp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getDeclineUsp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"offsetUsp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getOffsetUsp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"currentFactor"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentFactor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"triggerTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getTriggerTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrMeasuringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrMeasuringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrRegulationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrRegulationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrMonitoringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrMonitoringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrWeldTimeProlongationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrWeldTimeProlongationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"voltageActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getVoltageActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"voltageRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getVoltageRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"currentActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"currentReferenceValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentReferenceValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldTimeActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldTimeActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldTimeRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldTimeRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"energyActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getEnergyActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"energyRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getEnergyRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"powerActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPowerActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"powerRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPowerRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"resistanceActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getResistanceActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"resistanceRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getResistanceRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pulseWidthActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPulseWidthActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pulseWidthRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPulseWidthRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"stabilisationFactorActValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getStabilisationFactorActValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"stabilisationFactorRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getStabilisationFactorRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"thresholdStabilisationFactor"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getThresholdStabilisationFactor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"wldEffectStabilisationFactor"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWldEffectStabilisationFactor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uipActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUipActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uipRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUipRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirExpulsionTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirExpulsionTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirMeasuringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirMeasuringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirRegulationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirRegulationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirMonitoringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirMonitoringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirWeldTimeProlongationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirWeldTimeProlongationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirQStoppRefCntValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirQStoppRefCntValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirQStoppActCntValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirQStoppActCntValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirUipUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirUipUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirUipLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirUipLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirUipCondTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirUipCondTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirPsfLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirPsfLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirPsfCondTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirPsfCondTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP161</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP162</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP163</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_4"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP164</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_5"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP165</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP32_6"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP326</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_7"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP167</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_8"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP168</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_9"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP169</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_10"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1610</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_11"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1611</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP32_12"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP3212</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_13"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1613</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_14"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1614</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_15"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1615</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_16"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1616</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_17"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1617</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP32_18"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP3218</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uipMonCondUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUipMonCondUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonCondUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonCondUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonCondLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonCondLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMeasuringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMeasuringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrModeOff"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrModeOff</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"reweldActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getReweldActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token comment">// addMeasurementPoint(seriesMap, "weldspotRefIdent",</span>\n\t\t<span class="token comment">// wl.getWeldspotRefIdent());</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Torque_Gp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgTorqueGp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Force_Corr"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgForceCorr</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Weldspot_Geo_Wear"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgWeldspotGeoWear</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Wear_Length"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgWearLength</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Beam_UpArching"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgBeamUpArching</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setSeriesMap</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tmeasurements<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>measurement<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setMeasurements</span><span class="token punctuation">(</span>measurements<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token keyword">return</span> wrapper<span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n<span class="token punctuation">}</span>\n</code></pre>\n<h1>Summary</h1>\n<p>It takes a while to understand the involved software components. Yet, once the set up is running, it gets much easier to adapt it to another Use Case. And another. The pattern of wiring protocols and transforming the payload is very similar. The involved frameworks are powerful enough to support many Use Cases. This article is supposed to show that there are simple possibilities to transform transport protocols and payloads, so that you can focus on addressing functional challenges.</p>\n',url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z",tags:["use cases"],prev:{url:"/blog/2018/1/26/New-website",title:"Updated Website"},next:{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2018/2/11/index.html b/blog/2018/2/11/index.html
index e54ca56..787f547 100644
--- a/blog/2018/2/11/index.html
+++ b/blog/2018/2/11/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - March 11, 2018</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2018/2/13/grinding-machine-scenario/index.html b/blog/2018/2/13/grinding-machine-scenario/index.html
index c7e3eb0..f8d7216 100644
--- a/blog/2018/2/13/grinding-machine-scenario/index.html
+++ b/blog/2018/2/13/grinding-machine-scenario/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="73fc20d4:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.article h1{font-weight:400}.article h2,.article h3,.article h4{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 .card.figure{margin-bottom:1rem;text-align:center}@media screen and (min-width:415px){.article .card.figure.is-pulled-left,.article .card.figure.is-pulled-right{max-width:33%}.article .card.figure.is-pulled-left{margin-right:1rem;text-align:left}.article .card.figure.is-pulled-right{margin-left:1rem}.article .card.figure.is-pulled-right .card-content{text-align:right}}.article .card.figure .card-content{padding:.5rem;font-size:.75rem}.article .card.figure figure{margin:0}.article>.columns.pageNav{margin-top:2em}.article>.columns.pageNav .column a.button{font-size:.9em;padding:1.3rem}.article pre[class*=language-]{max-height:400px}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -180,6 +180,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:"grinding-machine-scenario",content:'<h2>Abstract</h2>\n<p>In this blog post we present a real world condition monitoring scenario used in<br>\nthe <a href="https://iot.eclipse.org/testbeds/production-performance-management/#">Eclipse Production Performance Management Testbed</a>, where Unide and<br>\nPPMP plays a crucial role. Moreover, we also provide a code repository and<br>\ninstructions so that you can recreate the scenario in your own computer and<br>\nlearn about its components and the communication with each other.</p>\n<h2>Introduction</h2>\n<p>In the context of the <a href="https://iot.eclipse.org/testbeds/production-performance-management/#">Eclipse Production Performance Management Testbed</a>, a<br>\nreal world condition monitoring scenario has been recreated, in which a<br>\ngrinding machine is being continuously monitored allowing to have real time<br>\nhealth checks and prevent unexpected failures.</p>\n<p>This scenario consists of the following building blocks: device, gateway,<br>\nbackend. The communication between them happens seamlessly thanks to the<br>\nProduction Performance management Protocol (PPMP).</p>\n<ul>\n<li>\n<p>The device, i.e. the grinding machine, has been retrofitted with an<br>\nacceleration sensor attached to one of its critical components. The data<br>\nprovided by this sensor is routed to the gateway in the form of a <a href="https://www.eclipse.org/unide/specification/measurement-message#messageDetail">PPMP<br>\nMeasurement Message</a>.</p>\n</li>\n<li>\n<p>The gateway receives the raw acceleration measurements, calculates some<br>\nstatistical characteristics and and applies some machine learning techniques<br>\nto them in order to evaluate the condition of the grinding machine. Then both<br>\nthe statistical values and the condition are routed to the backend, again in<br>\nthe form of a PPMP Measurement Message.</p>\n</li>\n<li>\n<p>The backend, usually in the cloud, is any component that &quot;speaks PPMP&quot; and<br>\nperforms meaningful operations on the incoming messages. Most frequently it<br>\nis responsible for storing the arriving data and making it available to apps<br>\nthat want to consume it. Common responsibilities of these apps are the<br>\nrepresentation or display of the data (e.g. dashboards), or workflows<br>\nmanagement (e.g. the grinding machine is in bad condition and an inspection<br>\nmust be carried out).</p>\n<p>The backend can be swapped effortless with any entity adhering to PPMP standard.<br>\nIn the Eclipse PPM Testbed at least two different backends have been used:</p>\n<ul>\n<li>One directly based on <a href="https://github.com/eclipse/unide">Unide</a></li>\n<li>One based on <a href="https://www.contact-software.com/en/products/elements-for-iot/">CONTACT Elements for IoT</a>.</li>\n</ul>\n</li>\n</ul>\n<h2>Hands-on demonstration</h2>\n<p>In order to make this scenario more hands-on and interesting, within the<br>\n<a href="https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement">Production Performance Management Testbed repository</a> project in Github, we<br>\nhave set up a <a href="https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement/tree/master/grinding-machine">subproject for the grinding machine scenario</a>. There you can<br>\nfind a thorough description and code to simulate the device and the gateway,<br>\nand route messages to a given backend. The only requirements are git and conda<br>\n(the easiest way to get conda is to <a href="https://conda.io/miniconda.html">install miniconda</a>).</p>\n<p>So, let\'s get started! First of all, open your terminal and clone the<br>\nrepository:</p>\n<pre class="language-bash"><code class="language-bash">$ <span class="token function">git</span> clone https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement eclipse-testbed-ppm\n$ <span class="token function">cd</span> eclipse-testbed-ppm/grinding-machine\n</code></pre>\n<p>Then move to the grinding machine subproject directory:</p>\n<pre class="language-bash"><code class="language-bash">$ <span class="token function">cd</span> eclipse-testbed-ppm/grinding-machine\n</code></pre>\n<p>In that folder you will see two subfolders. The first one<br>\n<code>unide-grinding-machine</code> contains a Python program that simulates grinding<br>\nmachine and the second one <code>unide-grinding-machine-gateway</code> simulates the<br>\ngateway.</p>\n<h3>Grinding Machine simulator</h3>\n<p>Let\'s start with the first component. First <code>cd</code> to <code>unide-grinding-machine</code><br>\nand then create the conda environment:</p>\n<pre class="language-bash"><code class="language-bash">$ conda <span class="token function">env</span> create --prefix<span class="token operator">=</span>env\n</code></pre>\n<p>And then in order to use this environment, we need to activate it.</p>\n<pre class="language-bash"><code class="language-bash">$ <span class="token function">source</span> activate <span class="token function">env</span>    <span class="token comment"># or in windows: activate env </span>\n</code></pre>\n<p>Run <code>unide-grinding-machine -h</code> to get familiar with the CLI. With this<br>\nexecutable we can generate some machine grinding data, and (for the moment)<br>\nprint messages to the console. To do so, run <code>unide-grinding-machine send random</code> and you should get a large message on the console. This is the PPMP<br>\nmessage ought to be sent to the gateway.</p>\n<p>We don\'t have a gateway so far, but don\'t worry, we will get to that in a<br>\nminute. Don\'t close this console!</p>\n<h3>Gateway simulator</h3>\n<p>Open a new console, and similarly to the previous point, first <code>cd</code> to<br>\n<code>unide-grinding-machine-gateway</code>, create the environment (<code>conda env create --prefix=env</code>) and activate it (<code>source activate env</code>).</p>\n<p>The run the command <code>unide-grinding-machine-gateway -h</code> to test that everything<br>\nis in place. You should get the CLI documentation.</p>\n<p>Now, let\'s fire up the gateway by calling <code>unide-grinding-machine-gateway start_server</code>, and a message like this should show up:</p>\n<pre class="language-bash"><code class="language-bash">Running <span class="token operator">&lt;</span>unide_grinding_machine_gateway.server.App object at 0x<span class="token punctuation">..</span><span class="token punctuation">..</span>.<span class="token operator">></span>\nListening on http://127.0.0.1:5000\nPress Ctrl-C to stop<span class="token punctuation">..</span>.\n</code></pre>\n<p>We are getting closer. Leave the gateway running.</p>\n<h3>Communication Device-Gateway</h3>\n<p>Let\'s go back to the previous console where we had the <code>unide-grinding-machine</code><br>\nenvironment and  call again the <code>unide-grinding-machine</code> program, but this time<br>\npassing the as an argument where the gateway is listening to messages.</p>\n<pre class="language-bash"><code class="language-bash">$ unide-grinding-machine send random --endpoint<span class="token operator">=</span>http://127.0.0.1:5000\n</code></pre>\n<p>If you take peek at the gateway output, you should see new information printed<br>\nout, which is a PPMP message containing the result of the classification<br>\nalgorithms applied to the device data we just sent to it.</p>\n<p>We are getting somewhere! But still, it is not extremely useful to print some<br>\ncharacters into a console, is it?</p>\n<h3>Communication Device-Gateway-Backend</h3>\n<p>There is only a small but relevant point missing: the routing from the gateway<br>\nto the backend. We need a backend and the Unide project provides a service that<br>\ncan be used as a playground for these purposes. So let\'s restart the gateway,<br>\nthis time passing the Unide endpoint:</p>\n<pre class="language-bash"><code class="language-bash">$ unide-grinding-machine-gateway start_server --endpoint<span class="token operator">=</span>https://unide.eclipse.org/rest/v2\n</code></pre>\n<p>Now we can use the <code>unide-grinding-machine</code> to send raw data to the gateway<br>\nwhich in turn sends its results to the backend.  In order to be able to<br>\nidentify this data later, we are going to define a proper device ID (argument<br>\n<code>--device-id</code>), and also tell it to send data once each 10 seconds (argument<br>\n<code>--period</code>):</p>\n<pre class="language-bash"><code class="language-bash">$ unide-grinding-machine send random --endpoint<span class="token operator">=</span>http://127.0.0.1:5000 --device-id<span class="token operator">=</span>IoT-000028--3 --period<span class="token operator">=</span>10\n</code></pre>\n<p>Once started, a continuous flow of data is pumped through each component until<br>\nit reaches the backend, allowing us to use the applications that consume this<br>\ndata. For instance, the basic backend provided by Unide offers a <a href="https://grafana.com/">Grafana</a> based<br>\ndashboard that offers live monitoring of the statistical values calculated in the<br>\ngateway:</p>\n<p><img src="/unide/images/blog/grinding-machine-grafana-dashboard.png" alt="Grafana based dashboard monitoring grinding machine"></p>\n<p>If instead of that we use the the <a href="https://www.contact-software.com/en/products/elements-for-iot/">CONTACT Elements for IoT</a> based backend,<br>\nwe can see a different and richer dashboard: charts, 3D models, list of<br>\nmaintenance events, device master data and the Activity Stream, a place where<br>\ndifferent parties can exchange information related to the grinding machine:</p>\n<p><img src="/unide/images/blog/grinding-machine-ce4iot-dashboard.png" alt="CONTACT Elements for IoT Dashboard"></p>\n',url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z",tags:["use cases"],prev:{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.f74fbb8caed67d1e6597.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:"grinding-machine-scenario",content:'<h2>Abstract</h2>\n<p>In this blog post we present a real world condition monitoring scenario used in<br>\nthe <a href="https://iot.eclipse.org/testbeds/production-performance-management/#">Eclipse Production Performance Management Testbed</a>, where Unide and<br>\nPPMP plays a crucial role. Moreover, we also provide a code repository and<br>\ninstructions so that you can recreate the scenario in your own computer and<br>\nlearn about its components and the communication with each other.</p>\n<h2>Introduction</h2>\n<p>In the context of the <a href="https://iot.eclipse.org/testbeds/production-performance-management/#">Eclipse Production Performance Management Testbed</a>, a<br>\nreal world condition monitoring scenario has been recreated, in which a<br>\ngrinding machine is being continuously monitored allowing to have real time<br>\nhealth checks and prevent unexpected failures.</p>\n<p>This scenario consists of the following building blocks: device, gateway,<br>\nbackend. The communication between them happens seamlessly thanks to the<br>\nProduction Performance management Protocol (PPMP).</p>\n<ul>\n<li>\n<p>The device, i.e. the grinding machine, has been retrofitted with an<br>\nacceleration sensor attached to one of its critical components. The data<br>\nprovided by this sensor is routed to the gateway in the form of a <a href="https://www.eclipse.org/unide/specification/measurement-message#messageDetail">PPMP<br>\nMeasurement Message</a>.</p>\n</li>\n<li>\n<p>The gateway receives the raw acceleration measurements, calculates some<br>\nstatistical characteristics and and applies some machine learning techniques<br>\nto them in order to evaluate the condition of the grinding machine. Then both<br>\nthe statistical values and the condition are routed to the backend, again in<br>\nthe form of a PPMP Measurement Message.</p>\n</li>\n<li>\n<p>The backend, usually in the cloud, is any component that &quot;speaks PPMP&quot; and<br>\nperforms meaningful operations on the incoming messages. Most frequently it<br>\nis responsible for storing the arriving data and making it available to apps<br>\nthat want to consume it. Common responsibilities of these apps are the<br>\nrepresentation or display of the data (e.g. dashboards), or workflows<br>\nmanagement (e.g. the grinding machine is in bad condition and an inspection<br>\nmust be carried out).</p>\n<p>The backend can be swapped effortless with any entity adhering to PPMP standard.<br>\nIn the Eclipse PPM Testbed at least two different backends have been used:</p>\n<ul>\n<li>One directly based on <a href="https://github.com/eclipse/unide">Unide</a></li>\n<li>One based on <a href="https://www.contact-software.com/en/products/elements-for-iot/">CONTACT Elements for IoT</a>.</li>\n</ul>\n</li>\n</ul>\n<h2>Hands-on demonstration</h2>\n<p>In order to make this scenario more hands-on and interesting, within the<br>\n<a href="https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement">Production Performance Management Testbed repository</a> project in Github, we<br>\nhave set up a <a href="https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement/tree/master/grinding-machine">subproject for the grinding machine scenario</a>. There you can<br>\nfind a thorough description and code to simulate the device and the gateway,<br>\nand route messages to a given backend. The only requirements are git and conda<br>\n(the easiest way to get conda is to <a href="https://conda.io/miniconda.html">install miniconda</a>).</p>\n<p>So, let\'s get started! First of all, open your terminal and clone the<br>\nrepository:</p>\n<pre class="language-bash"><code class="language-bash">$ <span class="token function">git</span> clone https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement eclipse-testbed-ppm\n$ <span class="token function">cd</span> eclipse-testbed-ppm/grinding-machine\n</code></pre>\n<p>Then move to the grinding machine subproject directory:</p>\n<pre class="language-bash"><code class="language-bash">$ <span class="token function">cd</span> eclipse-testbed-ppm/grinding-machine\n</code></pre>\n<p>In that folder you will see two subfolders. The first one<br>\n<code>unide-grinding-machine</code> contains a Python program that simulates grinding<br>\nmachine and the second one <code>unide-grinding-machine-gateway</code> simulates the<br>\ngateway.</p>\n<h3>Grinding Machine simulator</h3>\n<p>Let\'s start with the first component. First <code>cd</code> to <code>unide-grinding-machine</code><br>\nand then create the conda environment:</p>\n<pre class="language-bash"><code class="language-bash">$ conda <span class="token function">env</span> create --prefix<span class="token operator">=</span>env\n</code></pre>\n<p>And then in order to use this environment, we need to activate it.</p>\n<pre class="language-bash"><code class="language-bash">$ <span class="token function">source</span> activate <span class="token function">env</span>    <span class="token comment"># or in windows: activate env </span>\n</code></pre>\n<p>Run <code>unide-grinding-machine -h</code> to get familiar with the CLI. With this<br>\nexecutable we can generate some machine grinding data, and (for the moment)<br>\nprint messages to the console. To do so, run <code>unide-grinding-machine send random</code> and you should get a large message on the console. This is the PPMP<br>\nmessage ought to be sent to the gateway.</p>\n<p>We don\'t have a gateway so far, but don\'t worry, we will get to that in a<br>\nminute. Don\'t close this console!</p>\n<h3>Gateway simulator</h3>\n<p>Open a new console, and similarly to the previous point, first <code>cd</code> to<br>\n<code>unide-grinding-machine-gateway</code>, create the environment (<code>conda env create --prefix=env</code>) and activate it (<code>source activate env</code>).</p>\n<p>The run the command <code>unide-grinding-machine-gateway -h</code> to test that everything<br>\nis in place. You should get the CLI documentation.</p>\n<p>Now, let\'s fire up the gateway by calling <code>unide-grinding-machine-gateway start_server</code>, and a message like this should show up:</p>\n<pre class="language-bash"><code class="language-bash">Running <span class="token operator">&lt;</span>unide_grinding_machine_gateway.server.App object at 0x<span class="token punctuation">..</span><span class="token punctuation">..</span>.<span class="token operator">></span>\nListening on http://127.0.0.1:5000\nPress Ctrl-C to stop<span class="token punctuation">..</span>.\n</code></pre>\n<p>We are getting closer. Leave the gateway running.</p>\n<h3>Communication Device-Gateway</h3>\n<p>Let\'s go back to the previous console where we had the <code>unide-grinding-machine</code><br>\nenvironment and  call again the <code>unide-grinding-machine</code> program, but this time<br>\npassing the as an argument where the gateway is listening to messages.</p>\n<pre class="language-bash"><code class="language-bash">$ unide-grinding-machine send random --endpoint<span class="token operator">=</span>http://127.0.0.1:5000\n</code></pre>\n<p>If you take peek at the gateway output, you should see new information printed<br>\nout, which is a PPMP message containing the result of the classification<br>\nalgorithms applied to the device data we just sent to it.</p>\n<p>We are getting somewhere! But still, it is not extremely useful to print some<br>\ncharacters into a console, is it?</p>\n<h3>Communication Device-Gateway-Backend</h3>\n<p>There is only a small but relevant point missing: the routing from the gateway<br>\nto the backend. We need a backend and the Unide project provides a service that<br>\ncan be used as a playground for these purposes. So let\'s restart the gateway,<br>\nthis time passing the Unide endpoint:</p>\n<pre class="language-bash"><code class="language-bash">$ unide-grinding-machine-gateway start_server --endpoint<span class="token operator">=</span>https://unide.eclipse.org/rest/v2\n</code></pre>\n<p>Now we can use the <code>unide-grinding-machine</code> to send raw data to the gateway<br>\nwhich in turn sends its results to the backend.  In order to be able to<br>\nidentify this data later, we are going to define a proper device ID (argument<br>\n<code>--device-id</code>), and also tell it to send data once each 10 seconds (argument<br>\n<code>--period</code>):</p>\n<pre class="language-bash"><code class="language-bash">$ unide-grinding-machine send random --endpoint<span class="token operator">=</span>http://127.0.0.1:5000 --device-id<span class="token operator">=</span>IoT-000028--3 --period<span class="token operator">=</span>10\n</code></pre>\n<p>Once started, a continuous flow of data is pumped through each component until<br>\nit reaches the backend, allowing us to use the applications that consume this<br>\ndata. For instance, the basic backend provided by Unide offers a <a href="https://grafana.com/">Grafana</a> based<br>\ndashboard that offers live monitoring of the statistical values calculated in the<br>\ngateway:</p>\n<p><img src="/unide/images/blog/grinding-machine-grafana-dashboard.png" alt="Grafana based dashboard monitoring grinding machine"></p>\n<p>If instead of that we use the the <a href="https://www.contact-software.com/en/products/elements-for-iot/">CONTACT Elements for IoT</a> based backend,<br>\nwe can see a different and richer dashboard: charts, 3D models, list of<br>\nmaintenance events, device master data and the Activity Stream, a place where<br>\ndifferent parties can exchange information related to the grinding machine:</p>\n<p><img src="/unide/images/blog/grinding-machine-ce4iot-dashboard.png" alt="CONTACT Elements for IoT Dashboard"></p>\n',url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z",tags:["use cases"],prev:{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_article.841e1aa4e71e21120e8c.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2018/2/13/index.html b/blog/2018/2/13/index.html
index ce4d526..9d5b180 100644
--- a/blog/2018/2/13/index.html
+++ b/blog/2018/2/13/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - March 13, 2018</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2018/2/index.html b/blog/2018/2/index.html
index 6bdb950..6d84993 100644
--- a/blog/2018/2/index.html
+++ b/blog/2018/2/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - March 2018</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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:[{list:[{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"},{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"},{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/2018/index.html b/blog/2018/index.html
index 5cc25fb..2378e47 100644
--- a/blog/2018/index.html
+++ b/blog/2018/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - 2018</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"},{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"},{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.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"},{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"},{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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/blog/index.html b/blog/index.html
index 1aec953..12bf75b 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Recent Posts</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="f0f738d2:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.blog h1{border-bottom:1px solid gray;padding-bottom:.3em}.blog h3 a{color:#a7a7a7}.blog li{margin-bottom:2em}.blog a{text-decoration:none}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -74,6 +74,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/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"},{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"},{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"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.6e07a703b9412ba47e12.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/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"},{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"},{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"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_blog.d6903346e5cdc54871a0.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/faq/index.html b/faq/index.html
index 2285ddf..8ed29b4 100644
--- a/faq/index.html
+++ b/faq/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="25f4887a:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}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}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Frequently asked questions</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="771fc815:0">body .sidebar div{margin-bottom:2em;font-size:.875em}body .sidebar div .subtitle{margin-bottom:.5rem}</style><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="25f4887a:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}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}</style><style data-vue-ssr-id="fc44206e:0">.recentPosts ul{list-style:none}</style><style data-vue-ssr-id="3dafb0ac:0">.blogArchives ul{list-style:none}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -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:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.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.2822695135bb29fc86bc.js"></script><script defer src="/unide/files/layouts_sidebar.3d0de0cb93d49bddf643.js"></script><script defer src="/unide/files/pages_faq.af7b946e7573917bdb35.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.50a262a5ae4922a8876e.js"></script>
   
 
diff --git a/files/app.1a7766a710a6398bc906.js b/files/app.1a7766a710a6398bc906.js
deleted file mode 100644
index 99e2cdc..0000000
--- a/files/app.1a7766a710a6398bc906.js
+++ /dev/null
@@ -1 +0,0 @@
-webpackJsonp([13],{"+ESq":function(t,e,n){"use strict";var r=n("/5sW");e.a={name:"nuxt-loading",data:function(){return{percent:0,show:!1,canSuccess:!0,duration:5e3,height:"2px",color:"#50237f",failedColor:"red"}},methods:{start:function(){var t=this;return this.show=!0,this.canSuccess=!0,this._timer&&(clearInterval(this._timer),this.percent=0),this._cut=1e4/Math.floor(this.duration),this._timer=setInterval(function(){t.increase(t._cut*Math.random()),t.percent>95&&t.finish()},100),this},set:function(t){return this.show=!0,this.canSuccess=!0,this.percent=Math.floor(t),this},get:function(){return Math.floor(this.percent)},increase:function(t){return this.percent=this.percent+Math.floor(t),this},decrease:function(t){return this.percent=this.percent-Math.floor(t),this},finish:function(){return this.percent=100,this.hide(),this},pause:function(){return clearInterval(this._timer),this},hide:function(){var t=this;return clearInterval(this._timer),this._timer=null,setTimeout(function(){t.show=!1,r.default.nextTick(function(){setTimeout(function(){t.percent=0},200)})},500),this},fail:function(){return this.canSuccess=!1,this}}}},"0F0d":function(t,e,n){"use strict";e.a={name:"no-ssr",props:["placeholder"],data:function(){return{canRender:!1}},mounted:function(){this.canRender=!0},render:function(t){return this.canRender?this.$slots.default&&this.$slots.default[0]:t("div",{class:["no-ssr-placeholder"]},this.$slots.placeholder||this.placeholder)}}},"1VLa":function(t,e){},"2oyj":function(t,e){},BW6j:function(t,e,n){"use strict";var r=n("OEdS"),a=(n.n(r),n("m6/3"));n.n(a)},F7kz:function(t,e){function n(t){throw new Error("Cannot find module '"+t+"'.")}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="F7kz"},F88d:function(t,e,n){"use strict";var r=n("+ESq"),a=n("srTi"),o=!1;var i=function(t){o||n("1VLa")},s=n("VU/8")(r.a,a.a,!1,i,null,null);s.options.__file=".nuxt\\components\\nuxt-loading.vue",e.a=s.exports},"HBB+":function(t,e,n){"use strict";e.a={name:"nuxt-child",functional:!0,render:function(t,e){var n=e.parent,o=e.data;o.nuxtChild=!0;for(var i=n,s=n.$nuxt.nuxt.transitions,u=n.$nuxt.nuxt.defaultTransition,c=0;n;)n.$vnode&&n.$vnode.data.nuxtChild&&c++,n=n.$parent;o.nuxtChildDepth=c;var f=s[c]||u,d={};r.forEach(function(t){void 0!==f[t]&&(d[t]=f[t])});var l={};return a.forEach(function(t){"function"==typeof f[t]&&(l[t]=f[t].bind(i))}),t("transition",{props:d,on:l},[t("router-view",o)])}};var r=["name","mode","appear","css","type","duration","enterClass","leaveClass","appearClass","enterActiveClass","enterActiveClass","leaveActiveClass","appearActiveClass","enterToClass","leaveToClass","appearToClass"],a=["beforeEnter","enter","afterEnter","enterCancelled","beforeLeave","leave","afterLeave","leaveCancelled","beforeAppear","appear","afterAppear","appearCancelled"]},"Hot+":function(t,e,n){"use strict";var r=n("/5sW"),a=n("HBB+"),o=n("ct3O"),i=n("YLfZ");e.a={name:"nuxt",props:["nuxtChildKey"],render:function(t){return this.nuxt._redirected?t("div",["Redirecting to external page."]):this.nuxt.err?t("nuxt-error",{props:{error:this.nuxt.err}}):t("nuxt-child",{key:this.routerViewKey})},beforeCreate:function(){r.default.util.defineReactive(this,"nuxt",this.$root.$options.nuxt)},computed:{routerViewKey:function(){if(void 0!==this.nuxtChildKey||this.$route.matched.length>1)return this.nuxtChildKey||Object(i.b)(this.$route.matched[0].path)(this.$route.params);var t=this.$route.matched[0]&&this.$route.matched[0].components.default;return t&&t.options&&t.options.key?"function"==typeof t.options.key?t.options.key(this.$route):t.options.key:this.$route.path}},components:{NuxtChild:a.a,NuxtError:o.a}}},J2Ti:function(t,e,n){"use strict";n.d(e,"a",function(){return _});var r=n("woOf"),a=n.n(r),o=n("BO1k"),i=n.n(o),s=n("/5sW"),u=n("NYxO");s.default.use(u.default);var c=n("F7kz"),f=c.keys(),d={},l=void 0;if(f.forEach(function(t){-1!==t.indexOf("./index.")&&(l=t)}),l&&(d=b(l)),"function"!=typeof d){d.modules||(d.modules={});var p=!0,h=!1,m=void 0;try{for(var x,v=i()(f);!(p=(x=v.next()).done);p=!0){var y=x.value,g=y.replace(/^\.\//,"").replace(/\.(js)$/,"");if("index"!==g){var w=g.split(/\//);(t=C(d,w))[g=w.pop()]=b(y),t[g].namespaced=!0}}}catch(t){h=!0,m=t}finally{try{!p&&v.return&&v.return()}finally{if(h)throw m}}}var _=d instanceof Function?d:function(){return new u.default.Store(a()({strict:!1},d,{state:d.state instanceof Function?d.state():{}}))};function b(t){var e=c(t),n=e.default||e;if(n.commit)throw new Error("[nuxt] store/"+t.replace("./","")+" should export a method which returns a Vuex instance.");if(n.state&&"function"!=typeof n.state)throw new Error("[nuxt] state should be a function in store/"+t.replace("./",""));return n}function C(t,e){if(1===e.length)return t.modules;var n=e.shift();return t.modules[n]=t.modules[n]||{},t.modules[n].namespaced=!0,t.modules[n].modules=t.modules[n].modules||{},C(t.modules[n],e)}},T23V:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,a,o,i=n("pFYg"),s=n.n(i),u=n("//Fk"),c=n.n(u),f=n("Xxa5"),d=n.n(f),l=n("mvHQ"),p=n.n(l),h=n("exGp"),m=n.n(h),x=n("fZjL"),v=n.n(x),y=n("woOf"),g=n.n(y),w=n("/5sW"),_=n("unZF"),b=n("qcny"),C=n("YLfZ"),k=(r=m()(d.a.mark(function t(e,n,r){var a,o,i=this;return d.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this._pathChanged=!!T.nuxt.err||n.path!==e.path,this._queryChanged=p()(e.query)!==p()(n.query),this._diffQuery=this._queryChanged?Object(C.g)(e.query,n.query):[],this._pathChanged&&this.$loading.start&&this.$loading.start(),t.prev=4,t.next=7,Object(C.k)(e);case 7:a=t.sent,!this._pathChanged&&this._queryChanged&&a.some(function(t){var e=t.options.watchQuery;return!0===e||!!Array.isArray(e)&&e.some(function(t){return i._diffQuery[t]})})&&this.$loading.start&&this.$loading.start(),r(),t.next=19;break;case 12:t.prev=12,t.t0=t.catch(4),t.t0=t.t0||{},o=t.t0.statusCode||t.t0.status||t.t0.response&&t.t0.response.status||500,this.error({statusCode:o,message:t.t0.message}),this.$nuxt.$emit("routeChanged",e,n,t.t0),r(!1);case 19:case"end":return t.stop()}},t,this,[[4,12]])})),function(t,e,n){return r.apply(this,arguments)}),$=(a=m()(d.a.mark(function t(e,n,r){var a,o,i,s,u,f,l,p=this;return d.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!1!==this._pathChanged||!1!==this._queryChanged){t.next=2;break}return t.abrupt("return",r());case 2:return a=!1,o=function(t){p.$loading.finish&&p.$loading.finish(),a||(a=!0,r(t))},t.next=6,Object(C.m)(T,{route:e,from:n,next:o.bind(this)});case 6:if(this._dateLastError=T.nuxt.dateErr,this._hadError=!!T.nuxt.err,(i=Object(C.e)(e)).length){t.next=23;break}return t.next=12,S.call(this,i,T.context);case 12:if(!T.context._redirected){t.next=14;break}return t.abrupt("return");case 14:return t.next=16,this.loadLayout("function"==typeof b.a.layout?b.a.layout(T.context):b.a.layout);case 16:return s=t.sent,t.next=19,S.call(this,i,T.context,s);case 19:if(!T.context._redirected){t.next=21;break}return t.abrupt("return");case 21:return T.context.error({statusCode:404,message:"This page could not be found"}),t.abrupt("return",r());case 23:return i.forEach(function(t){t._Ctor&&t._Ctor.options&&(t.options.asyncData=t._Ctor.options.asyncData,t.options.fetch=t._Ctor.options.fetch)}),this.setTransitions(A(i,e,n)),t.prev=25,t.next=28,S.call(this,i,T.context);case 28:if(!T.context._redirected){t.next=30;break}return t.abrupt("return");case 30:if(!T.context._errored){t.next=32;break}return t.abrupt("return",r());case 32:return"function"==typeof(u=i[0].options.layout)&&(u=u(T.context)),t.next=36,this.loadLayout(u);case 36:return u=t.sent,t.next=39,S.call(this,i,T.context,u);case 39:if(!T.context._redirected){t.next=41;break}return t.abrupt("return");case 41:if(!T.context._errored){t.next=43;break}return t.abrupt("return",r());case 43:if(f=!0,i.forEach(function(t){f&&"function"==typeof t.options.validate&&(f=t.options.validate({params:e.params||{},query:e.query||{},store:R}))}),f){t.next=48;break}return this.error({statusCode:404,message:"This page could not be found"}),t.abrupt("return",r());case 48:return t.next=50,c.a.all(i.map(function(t,n){if(t._path=Object(C.b)(e.matched[n].path)(e.params),t._dataRefresh=!1,p._pathChanged&&t._path!==j[n])t._dataRefresh=!0;else if(!p._pathChanged&&p._queryChanged){var r=t.options.watchQuery;!0===r?t._dataRefresh=!0:Array.isArray(r)&&(t._dataRefresh=r.some(function(t){return p._diffQuery[t]}))}if(!p._hadError&&p._isMounted&&!t._dataRefresh)return c.a.resolve();var a=[],o=t.options.asyncData&&"function"==typeof t.options.asyncData,i=!!t.options.fetch,s=o&&i?30:45;if(o){var u=Object(C.j)(t.options.asyncData,T.context).then(function(e){Object(C.a)(t,e),p.$loading.increase&&p.$loading.increase(s)});a.push(u)}if(i){var f=t.options.fetch(T.context);f&&(f instanceof c.a||"function"==typeof f.then)||(f=c.a.resolve(f)),f.then(function(t){p.$loading.increase&&p.$loading.increase(s)}),a.push(f)}return c.a.all(a)}));case 50:j=i.map(function(t,n){return Object(C.b)(e.matched[n].path)(e.params)}),this.$loading.finish&&this.$loading.finish(),a||r(),t.next=67;break;case 55:return t.prev=55,t.t0=t.catch(25),t.t0||(t.t0={}),j=[],t.t0.statusCode=t.t0.statusCode||t.t0.status||t.t0.response&&t.t0.response.status||500,"function"==typeof(l=b.a.layout)&&(l=l(T.context)),t.next=64,this.loadLayout(l);case 64:this.error(t.t0),this.$nuxt.$emit("routeChanged",e,n,t.t0),r(!1);case 67:case"end":return t.stop()}},t,this,[[25,55]])})),function(t,e,n){return a.apply(this,arguments)}),E=(o=m()(d.a.mark(function t(e){var n,r,a,o;return d.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return T=e.app,O=e.router,R=e.store,t.next=5,c.a.all(L(O));case 5:return n=t.sent,r=new w.default(T),a=q.layout||"default",t.next=10,r.loadLayout(a);case 10:if(r.setLayout(a),o=function(){r.$mount("#__nuxt"),w.default.nextTick(function(){U(r)})},r.setTransitions=r.$options.nuxt.setTransitions.bind(r),n.length&&(r.setTransitions(A(n,O.currentRoute)),j=O.currentRoute.matched.map(function(t){return Object(C.b)(t.path)(O.currentRoute.params)})),r.$loading={},q.error&&r.error(q.error),O.beforeEach(k.bind(r)),O.beforeEach($.bind(r)),O.afterEach(N),O.afterEach(M.bind(r)),!q.serverRendered){t.next=23;break}return o(),t.abrupt("return");case 23:$.call(r,O.currentRoute,O.currentRoute,function(t){if(!t)return N(O.currentRoute,O.currentRoute),F.call(r,O.currentRoute),void o();O.push(t,function(){return o()},function(t){return console.error(t)})});case 24:case"end":return t.stop()}},t,this)})),function(t){return o.apply(this,arguments)}),j=[],T=void 0,O=void 0,R=void 0,q=window.__NUXT__||{};function A(t,e,n){var r=function(t){var r=function(t,e){if(!t||!t.options||!t.options[e])return{};var n=t.options[e];if("function"==typeof n){for(var r=arguments.length,a=Array(r>2?r-2:0),o=2;o<r;o++)a[o-2]=arguments[o];return n.apply(void 0,a)}return n}(t,"transition",e,n)||{};return"string"==typeof r?{name:r}:r};return t.map(function(t){var e=g()({},r(t));if(n&&n.matched.length&&n.matched[0].components.default){var a=r(n.matched[0].components.default);v()(a).filter(function(t){return a[t]&&-1!==t.toLowerCase().indexOf("leave")}).forEach(function(t){e[t]=a[t]})}return e})}function L(t){var e,n=this,r=Object(C.d)(t.options.base,t.options.mode);return Object(C.c)(t.match(r),(e=m()(d.a.mark(function t(e,r,a,o,i){var s;return d.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if("function"!=typeof e||e.options){t.next=4;break}return t.next=3,e();case 3:e=t.sent;case 4:return n=Object(C.l)(e),r=q.data?q.data[i]:null,q.serverRendered&&r&&Object(C.a)(n,r),n._Ctor=n,s=n,a.components[o]=s,t.abrupt("return",s);case 7:case"end":return t.stop()}var n,r},t,n)})),function(t,n,r,a,o){return e.apply(this,arguments)}))}function S(t,e,n){var r=this,a=[],o=!1;if(void 0!==n&&(a=[],n.middleware&&(a=a.concat(n.middleware)),t.forEach(function(t){t.options.middleware&&(a=a.concat(t.options.middleware))})),a=a.map(function(t){return"function"==typeof t?t:("function"!=typeof _.a[t]&&(o=!0,r.error({statusCode:500,message:"Unknown middleware "+t})),_.a[t])}),!o)return Object(C.i)(a,e)}function N(t,e){Object(C.c)(t,function(t,e,n,r){return"object"!==(void 0===t?"undefined":s()(t))||t.options||((t=w.default.extend(t))._Ctor=t,n.components[r]=t),t})}function F(t){this._hadError&&this._dateLastError===this.$options.nuxt.dateErr&&this.error();var e=this.$options.nuxt.err?b.a.layout:t.matched[0].components.default.options.layout;"function"==typeof e&&(e=e(T.context)),this.setLayout(e)}function M(t,e){var n=this;!1===this._pathChanged&&!1===this._queryChanged||w.default.nextTick(function(){Object(C.f)(t).forEach(function(e,n){if(e&&-1!==t.matched[n].path.indexOf(":")&&e.constructor._dataRefresh&&j[n]===e.constructor._path&&"function"==typeof e.constructor.options.data){var r=e.constructor.options.data.call(e);for(var a in r)w.default.set(e.$data,a,r[a])}}),F.call(n,t)})}function U(t){window._nuxtReadyCbs.forEach(function(e){"function"==typeof e&&e(t)}),"function"==typeof window._onNuxtLoaded&&window._onNuxtLoaded(t),O.afterEach(function(e,n){w.default.nextTick(function(){return t.$nuxt.$emit("routeChanged",e,n)})})}Object(b.b)().then(E).catch(function(t){console.error("[nuxt] Error while initializing app",t)})},TuIM:function(t,e,n){"use strict";e.a=function(t){var e,n,r,a,o=t.app;t.client&&(e=window,n=document,e.GoogleAnalyticsObject="ga",e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,r=n.createElement("script"),a=n.getElementsByTagName("script")[0],r.async=1,r.src="https://www.google-analytics.com/analytics.js",a.parentNode.insertBefore(r,a),ga("create","UA-108745746-1","auto"),o.router.afterEach(function(t,e){ga("set","page",t.fullPath),ga("send","pageview")}))}},U1Hc:function(t,e){},WRRc:function(t,e,n){"use strict";e.a={name:"nuxt-link",functional:!0,render:function(t,e){return t("router-link",e.data,e.children)}}},YLfZ:function(t,e,n){"use strict";e.a=function(t,e){var n=t.options.data||y;if(!e&&t.options.hasAsyncData)return;t.options.hasAsyncData=!0,t.options.data=function(){var r=n.call(this);return this.$ssrContext&&(e=this.$ssrContext.asyncData[t.cid]),x()({},r,e)},t._Ctor&&t._Ctor.options&&(t._Ctor.options.data=t.options.data)},e.l=g,e.e=w,e.f=function(t){return[].concat.apply([],t.matched.map(function(t){return h()(t.instances).map(function(e){return t.instances[e]})}))},e.c=_,e.k=b,n.d(e,"h",function(){return $}),n.d(e,"m",function(){return E}),e.i=function t(e,n){if(!e.length||n._redirected||n._errored)return l.a.resolve();return j(e[0],n).then(function(){return t(e.slice(1),n)})},e.j=j,e.d=function(t,e){var n=window.location.pathname;if("hash"===e)return window.location.hash.replace(/^#\//,"");t&&0===n.indexOf(t)&&(n=n.slice(t.length));return(n||"/")+window.location.search+window.location.hash},e.b=function(t,e){return function(t){for(var e=new Array(t.length),n=0;n<t.length;n++)"object"===i()(t[n])&&(e[n]=new RegExp("^(?:"+t[n].pattern+")$"));return function(n,r){for(var o="",i=n||{},s=r||{},u=s.pretty?O:encodeURIComponent,c=0;c<t.length;c++){var f=t[c];if("string"!=typeof f){var d,l=i[f.name];if(null==l){if(f.optional){f.partial&&(o+=f.prefix);continue}throw new TypeError('Expected "'+f.name+'" to be defined')}if(Array.isArray(l)){if(!f.repeat)throw new TypeError('Expected "'+f.name+'" to not repeat, but received `'+a()(l)+"`");if(0===l.length){if(f.optional)continue;throw new TypeError('Expected "'+f.name+'" to not be empty')}for(var p=0;p<l.length;p++){if(d=u(l[p]),!e[c].test(d))throw new TypeError('Expected all "'+f.name+'" to match "'+f.pattern+'", but received `'+a()(d)+"`");o+=(0===p?f.prefix:f.delimiter)+d}}else{if(d=f.asterisk?encodeURI(l).replace(/[?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()}):u(l),!e[c].test(d))throw new TypeError('Expected "'+f.name+'" to match "'+f.pattern+'", but received "'+d+'"');o+=f.prefix+d}}else o+=f}return o}}(function(t,e){var n,r=[],a=0,o=0,i="",s=e&&e.delimiter||"/";for(;null!=(n=T.exec(t));){var u=n[0],c=n[1],f=n.index;if(i+=t.slice(o,f),o=f+u.length,c)i+=c[1];else{var d=t[o],l=n[2],p=n[3],h=n[4],m=n[5],x=n[6],v=n[7];i&&(r.push(i),i="");var y=null!=l&&null!=d&&d!==l,g="+"===x||"*"===x,w="?"===x||"*"===x,_=n[2]||s,b=h||m;r.push({name:p||a++,prefix:l||"",delimiter:_,optional:w,repeat:g,partial:y,asterisk:!!v,pattern:b?(k=b,k.replace(/([=!:$\/()])/g,"\\$1")):v?".*":"[^"+(C=_,C.replace(/([.+*?=^!:()[\]|\/\\])/g,"\\$1"))+"]+?"})}}var C;var k;o<t.length&&(i+=t.substr(o));i&&r.push(i);return r}(t,e))},e.g=function(t,e){var n={},r=x()({},t,e);for(var a in r)String(t[a])!==String(e[a])&&(n[a]=!0);return n};var r=n("mvHQ"),a=n.n(r),o=n("pFYg"),i=n.n(o),s=n("Xxa5"),u=n.n(s),c=n("exGp"),f=n.n(c),d=n("//Fk"),l=n.n(d),p=n("fZjL"),h=n.n(p),m=n("Dd8w"),x=n.n(m),v=n("/5sW"),y=function(){return{}};function g(t){return t.options&&t._Ctor===t?t:(t.options?(t._Ctor=t,t.extendOptions=t.options):(t=v.default.extend(t))._Ctor=t,!t.options.name&&t.options.__file&&(t.options.name=t.options.__file),t)}function w(t){return[].concat.apply([],t.matched.map(function(t){return h()(t.components).map(function(e){return t.components[e]})}))}function _(t,e){return Array.prototype.concat.apply([],t.matched.map(function(t,n){return h()(t.components).map(function(r){return e(t.components[r],t.instances[r],t,r,n)})}))}function b(t){var e,n=this;return l.a.all(_(t,(e=f()(u.a.mark(function t(e,r,a,o){return u.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if("function"!=typeof e||e.options){t.next=4;break}return t.next=3,e();case 3:e=t.sent;case 4:return t.abrupt("return",a.components[o]=g(e));case 5:case"end":return t.stop()}},t,n)})),function(t,n,r,a){return e.apply(this,arguments)})))}window._nuxtReadyCbs=[],window.onNuxtReady=function(t){window._nuxtReadyCbs.push(t)};var C,k,$=(C=f()(u.a.mark(function t(e){return u.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b(e);case 2:return t.abrupt("return",x()({},e,{meta:w(e).map(function(t){return t.options.meta||{}})}));case 3:case"end":return t.stop()}},t,this)})),function(t){return C.apply(this,arguments)}),E=(k=f()(u.a.mark(function t(e,n){return u.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(n.to?n.to:n.route,e.context){t.next=14;break}t.t0=!0,t.t1=e,t.t2=e.store,t.t3=n.payload,t.t4=n.error,t.t5={},e.context={get isServer(){return console.warn("context.isServer has been deprecated, please use process.server instead."),!1},get isClient(){return console.warn("context.isClient has been deprecated, please use process.client instead."),!0},isStatic:t.t0,isDev:!1,isHMR:!1,app:t.t1,store:t.t2,payload:t.t3,error:t.t4,base:"/unide/",env:t.t5},n.req&&(e.context.req=n.req),n.res&&(e.context.res=n.res),e.context.redirect=function(t,n,r){if(t){e.context._redirected=!0;var a=void 0===n?"undefined":i()(n);"number"==typeof t||"undefined"!==a&&"object"!==a||(r=n||{},a=void 0===(n=t)?"undefined":i()(n),t=302),"object"===a&&(n=e.router.resolve(n).href),/(^[.]{1,2}\/)|(^\/(?!\/))/.test(n)?e.context.next({path:n,query:r,status:t}):(n=R(n,r),window.location=n)}},e.context.nuxtState=window.__NUXT__;case 14:if(e.context.next=n.next,e.context._redirected=!1,e.context._errored=!1,e.context.isHMR=!!n.isHMR,!n.route){t.next=22;break}return t.next=21,$(n.route);case 21:e.context.route=t.sent;case 22:if(e.context.params=e.context.route.params||{},e.context.query=e.context.route.query||{},!n.from){t.next=28;break}return t.next=27,$(n.from);case 27:e.context.from=t.sent;case 28:case"end":return t.stop()}},t,this)})),function(t,e){return k.apply(this,arguments)});function j(t,e){var n=void 0;return(n=2===t.length?new l.a(function(n){t(e,function(t,r){t&&e.error(t),n(r=r||{})})}):t(e))&&(n instanceof l.a||"function"==typeof n.then)||(n=l.a.resolve(n)),n}var T=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function O(t){return encodeURI(t).replace(/[\/?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function R(t,e){var n=void 0,r=t.indexOf("://");-1!==r?(n=t.substring(0,r),t=t.substring(r+3)):0===t.indexOf("//")&&(t=t.substring(2));var o,i=t.split("/"),s=(n?n+"://":"//")+i.shift(),u=i.filter(Boolean).join("/"),c=void 0;return 2===(i=u.split("#")).length&&(u=i[0],c=i[1]),s+=u?"/"+u:"",e&&"{}"!==a()(e)&&(s+=(2===t.split("?").length?"&":"?")+(o=e,h()(o).sort().map(function(t){var e=o[t];return null==e?"":Array.isArray(e)?e.slice().map(function(e){return[t,"=",e].join("")}).join("&"):t+"="+e}).filter(Boolean).join("&"))),s+=c?"#"+c:""}},ct3O:function(t,e,n){"use strict";var r=n("mC6T"),a=n("n1a8"),o=!1;var i=function(t){o||n("U1Hc")},s=n("VU/8")(r.a,a.a,!1,i,null,null);s.options.__file=".nuxt\\components\\nuxt-error.vue",e.a=s.exports},mC6T:function(t,e,n){"use strict";e.a={name:"nuxt-error",props:["error"],head:function(){return{title:this.message,meta:[{name:"viewport",content:"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"}]}},computed:{statusCode:function(){return this.error&&this.error.statusCode||500},message:function(){return this.error.message||"Error"}}}},mtxM:function(t,e,n){"use strict";e.a=function(){return new a.default({mode:"history",base:"/unide/",linkActiveClass:"nuxt-link-active",linkExactActiveClass:"nuxt-link-exact-active",scrollBehavior:m,routes:[{path:"/",component:o,name:"index"},{path:"/specification",component:i,children:[{path:"",component:s,name:"specification"},{path:"process-message",component:u,name:"specification-process-message"},{path:"machine-message",component:c,name:"specification-machine-message"},{path:"measurement-message",component:f,name:"specification-measurement-message"}]},{path:"/blog",component:d,name:"blog"},{path:"/article",component:l,name:"article"},{path:"/faq",component:p,name:"faq"},{path:"/proposal",component:h,name:"proposal"},{path:"/blog/:year/:month/:day/:name",component:l},{path:"/blog/:year?/:month?/:day?",component:d}],fallback:!1})};var r=n("/5sW"),a=n("/ocq");r.default.use(a.default);var o=function(){return n.e(9).then(n.bind(null,"/TYz")).then(function(t){return t.default||t})},i=function(){return n.e(8).then(n.bind(null,"ZNfg")).then(function(t){return t.default||t})},s=function(){return n.e(11).then(n.bind(null,"v0nM")).then(function(t){return t.default||t})},u=function(){return n.e(0).then(n.bind(null,"kgqz")).then(function(t){return t.default||t})},c=function(){return n.e(2).then(n.bind(null,"n1iW")).then(function(t){return t.default||t})},f=function(){return n.e(1).then(n.bind(null,"lYS2")).then(function(t){return t.default||t})},d=function(){return n.e(3).then(n.bind(null,"AIuP")).then(function(t){return t.default||t})},l=function(){return n.e(4).then(n.bind(null,"QE0f")).then(function(t){return t.default||t})},p=function(){return n.e(6).then(n.bind(null,"NAEW")).then(function(t){return t.default||t})},h=function(){return n.e(10).then(n.bind(null,"gRp+")).then(function(t){return t.default||t})},m=function(t,e,n){if(n)return n;var r={};return t.matched.length<2?r={x:0,y:0}:t.matched.some(function(t){return t.components.default.options.scrollToTop})&&(r={x:0,y:0}),t.hash&&(r={selector:t.hash}),r}},n1a8:function(t,e,n){"use strict";var r=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"__nuxt-error-page"},[e("div",{staticClass:"error"},[e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"90",height:"90",fill:"#DBE1EC",viewBox:"0 0 48 48"}},[e("path",{attrs:{d:"M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z"}})]),e("div",{staticClass:"title"},[this._v(this._s(this.message))]),404===this.statusCode?e("p",{staticClass:"description"},[e("nuxt-link",{staticClass:"error-link",attrs:{to:"/"}},[this._v("Back to the home page")])],1):this._e(),this._m(0)])])};r._withStripped=!0;var a={render:r,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"logo"},[e("a",{attrs:{href:"https://nuxtjs.org",target:"_blank",rel:"noopener"}},[this._v("Nuxt.js")])])}]};e.a=a},qcny:function(t,e,n){"use strict";n.d(e,"b",function(){return R});var r=n("Xxa5"),a=n.n(r),o=n("//Fk"),i=(n.n(o),n("C4MV")),s=n.n(i),u=n("woOf"),c=n.n(u),f=n("Dd8w"),d=n.n(f),l=n("exGp"),p=n.n(l),h=n("MU8w"),m=(n.n(h),n("/5sW")),x=n("p3jY"),v=n.n(x),y=n("mtxM"),g=n("0F0d"),w=n("HBB+"),_=n("WRRc"),b=n("ct3O"),C=n("Hot+"),k=n("yTq1"),$=n("YLfZ"),E=n("J2Ti"),j=n("TuIM"),T=n("BW6j");n.d(e,"a",function(){return b.a});var O,R=(O=p()(a.a.mark(function t(e){var n,r,o,i,u,f,l;return a.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=Object(y.a)(),(r=Object(E.a)()).$router=n,o=d()({router:n,store:r,nuxt:{defaultTransition:q,transitions:[q],setTransitions:function(t){return Array.isArray(t)||(t=[t]),t=t.map(function(t){return t=t?"string"==typeof t?c()({},q,{name:t}):c()({},q,t):q}),this.$options.nuxt.transitions=t,t},err:null,dateErr:null,error:function(t){t=t||null,o.context._errored=!!t,"string"==typeof t&&(t={statusCode:500,message:t});var n=this.nuxt||this.$options.nuxt;return n.dateErr=Date.now(),n.err=t,e&&(e.nuxt.error=t),t}}},k.a),r.app=o,i=e?e.next:function(t){return o.router.push(t)},u=void 0,e?u=n.resolve(e.url).route:(f=Object($.d)(n.options.base),u=n.resolve(f).route),t.next=10,Object($.m)(o,{route:u,next:i,error:o.nuxt.error.bind(o),store:r,payload:e?e.payload:void 0,req:e?e.req:void 0,res:e?e.res:void 0,beforeRenderFns:e?e.beforeRenderFns:void 0});case 10:if(l=function(t,e){if(!t)throw new Error("inject(key, value) has no key provided");if(!e)throw new Error("inject(key, value) has no value provided");o[t="$"+t]=e,r[t]=o[t];var n="__nuxt_"+t+"_installed__";m.default[n]||(m.default[n]=!0,m.default.use(function(){m.default.prototype.hasOwnProperty(t)||s()(m.default.prototype,t,{get:function(){return this.$root.$options[t]}})}))},window.__NUXT__&&window.__NUXT__.state&&r.replaceState(window.__NUXT__.state),"function"!=typeof j.a){t.next=15;break}return t.next=15,Object(j.a)(o.context,l);case 15:if("function"!=typeof T.default){t.next=18;break}return t.next=18,Object(T.default)(o.context,l);case 18:t.next=21;break;case 21:return t.abrupt("return",{app:o,router:n,store:r});case 22:case"end":return t.stop()}},t,this)})),function(t){return O.apply(this,arguments)});m.default.component(g.a.name,g.a),m.default.component(w.a.name,w.a),m.default.component(_.a.name,_.a),m.default.component(C.a.name,C.a),m.default.use(v.a,{keyName:"head",attribute:"data-n-head",ssrAttribute:"data-n-head-ssr",tagIDKeyName:"hid"});var q={name:"page",mode:"out-in",appear:!1,appearClass:"appear",appearActiveClass:"appear-active",appearToClass:"appear-to"}},sq1o:function(t,e){function n(t){throw new Error("Cannot find module '"+t+"'.")}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="sq1o"},srTi:function(t,e,n){"use strict";var r=function(){var t=this.$createElement;return(this._self._c||t)("div",