| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <meta name="generator" content="Asciidoctor 2.0.10"> |
| <meta name="author" content="Eclipse mdmbl project"> |
| <title>User Guide for the openMDM® Application</title> |
| <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"> |
| <style> |
| /* Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */ |
| /* Uncomment @import statement to use as custom stylesheet */ |
| /*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/ |
| article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section{display:block} |
| audio,video{display:inline-block} |
| audio:not([controls]){display:none;height:0} |
| html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} |
| a{background:none} |
| a:focus{outline:thin dotted} |
| a:active,a:hover{outline:0} |
| h1{font-size:2em;margin:.67em 0} |
| abbr[title]{border-bottom:1px dotted} |
| b,strong{font-weight:bold} |
| dfn{font-style:italic} |
| hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0} |
| mark{background:#ff0;color:#000} |
| code,kbd,pre,samp{font-family:monospace;font-size:1em} |
| pre{white-space:pre-wrap} |
| q{quotes:"\201C" "\201D" "\2018" "\2019"} |
| small{font-size:80%} |
| sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} |
| sup{top:-.5em} |
| sub{bottom:-.25em} |
| img{border:0} |
| svg:not(:root){overflow:hidden} |
| figure{margin:0} |
| fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em} |
| legend{border:0;padding:0} |
| button,input,select,textarea{font-family:inherit;font-size:100%;margin:0} |
| button,input{line-height:normal} |
| button,select{text-transform:none} |
| button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer} |
| button[disabled],html input[disabled]{cursor:default} |
| input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0} |
| button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} |
| textarea{overflow:auto;vertical-align:top} |
| table{border-collapse:collapse;border-spacing:0} |
| *,*::before,*::after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box} |
| html,body{font-size:100%} |
| body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased} |
| a:hover{cursor:pointer} |
| img,object,embed{max-width:100%;height:auto} |
| object,embed{height:100%} |
| img{-ms-interpolation-mode:bicubic} |
| .left{float:left!important} |
| .right{float:right!important} |
| .text-left{text-align:left!important} |
| .text-right{text-align:right!important} |
| .text-center{text-align:center!important} |
| .text-justify{text-align:justify!important} |
| .hide{display:none} |
| img,object,svg{display:inline-block;vertical-align:middle} |
| textarea{height:auto;min-height:50px} |
| select{width:100%} |
| .center{margin-left:auto;margin-right:auto} |
| .stretch{width:100%} |
| .subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} |
| div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr} |
| a{color:#2156a5;text-decoration:underline;line-height:inherit} |
| a:hover,a:focus{color:#1d4b8f} |
| a img{border:0} |
| p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} |
| p aside{font-size:.875em;line-height:1.35;font-style:italic} |
| h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} |
| h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} |
| h1{font-size:2.125em} |
| h2{font-size:1.6875em} |
| h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} |
| h4,h5{font-size:1.125em} |
| h6{font-size:1em} |
| hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0} |
| em,i{font-style:italic;line-height:inherit} |
| strong,b{font-weight:bold;line-height:inherit} |
| small{font-size:60%;line-height:inherit} |
| code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} |
| ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} |
| ul,ol{margin-left:1.5em} |
| ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em} |
| ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit} |
| ul.square{list-style-type:square} |
| ul.circle{list-style-type:circle} |
| ul.disc{list-style-type:disc} |
| ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} |
| dl dt{margin-bottom:.3125em;font-weight:bold} |
| dl dd{margin-bottom:1.25em} |
| abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help} |
| abbr{text-transform:none} |
| blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} |
| blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)} |
| blockquote cite::before{content:"\2014 \0020"} |
| blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)} |
| blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} |
| @media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} |
| h1{font-size:2.75em} |
| h2{font-size:2.3125em} |
| h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} |
| h4{font-size:1.4375em}} |
| table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede} |
| table thead,table tfoot{background:#f7f8f7} |
| table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} |
| table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} |
| table tr.even,table tr.alt{background:#f8f8f7} |
| table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6} |
| h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} |
| h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} |
| .clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table} |
| .clearfix::after,.float-group::after{clear:both} |
| :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word} |
| :not(pre)>code.nobreak{word-wrap:normal} |
| :not(pre)>code.nowrap{white-space:nowrap} |
| pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed} |
| pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit} |
| pre>code{display:block} |
| pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal} |
| em em{font-style:normal} |
| strong strong{font-weight:400} |
| .keyseq{color:rgba(51,51,51,.8)} |
| kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} |
| .keyseq kbd:first-child{margin-left:0} |
| .keyseq kbd:last-child{margin-right:0} |
| .menuseq,.menuref{color:#000} |
| .menuseq b:not(.caret),.menuref{font-weight:inherit} |
| .menuseq{word-spacing:-.02em} |
| .menuseq b.caret{font-size:1.25em;line-height:.8} |
| .menuseq i.caret{font-weight:bold;text-align:center;width:.45em} |
| b.button::before,b.button::after{position:relative;top:-1px;font-weight:400} |
| b.button::before{content:"[";padding:0 3px 0 2px} |
| b.button::after{content:"]";padding:0 2px 0 3px} |
| p a>code:hover{color:rgba(0,0,0,.9)} |
| #header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} |
| #header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table} |
| #header::after,#content::after,#footnotes::after,#footer::after{clear:both} |
| #content{margin-top:1.25em} |
| #content::before{content:none} |
| #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} |
| #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf} |
| #header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px} |
| #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap} |
| #header .details span:first-child{margin-left:-.125em} |
| #header .details span.email a{color:rgba(0,0,0,.85)} |
| #header .details br{display:none} |
| #header .details br+span::before{content:"\00a0\2013\00a0"} |
| #header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} |
| #header .details br+span#revremark::before{content:"\00a0|\00a0"} |
| #header #revnumber{text-transform:capitalize} |
| #header #revnumber::after{content:"\00a0"} |
| #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} |
| #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em} |
| #toc>ul{margin-left:.125em} |
| #toc ul.sectlevel0>li>a{font-style:italic} |
| #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} |
| #toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} |
| #toc li{line-height:1.3334;margin-top:.3334em} |
| #toc a{text-decoration:none} |
| #toc a:active{text-decoration:underline} |
| #toctitle{color:#7a2518;font-size:1.2em} |
| @media screen and (min-width:768px){#toctitle{font-size:1.375em} |
| body.toc2{padding-left:15em;padding-right:0} |
| #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} |
| #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} |
| #toc.toc2>ul{font-size:.9em;margin-bottom:0} |
| #toc.toc2 ul ul{margin-left:0;padding-left:1em} |
| #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} |
| body.toc2.toc-right{padding-left:0;padding-right:15em} |
| body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}} |
| @media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} |
| #toc.toc2{width:20em} |
| #toc.toc2 #toctitle{font-size:1.375em} |
| #toc.toc2>ul{font-size:.95em} |
| #toc.toc2 ul ul{padding-left:1.25em} |
| body.toc2.toc-right{padding-left:0;padding-right:20em}} |
| #content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} |
| #content #toc>:first-child{margin-top:0} |
| #content #toc>:last-child{margin-bottom:0} |
| #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em} |
| #footer-text{color:rgba(255,255,255,.8);line-height:1.44} |
| #content{margin-bottom:.625em} |
| .sect1{padding-bottom:.625em} |
| @media screen and (min-width:768px){#content{margin-bottom:1.25em} |
| .sect1{padding-bottom:1.25em}} |
| .sect1:last-child{padding-bottom:0} |
| .sect1+.sect1{border-top:1px solid #e7e7e9} |
| #content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} |
| #content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} |
| #content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} |
| #content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} |
| #content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} |
| details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} |
| details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em} |
| .admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} |
| table.tableblock.fit-content>caption.title{white-space:nowrap;width:0} |
| .paragraph.lead>p,#preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)} |
| table.tableblock #preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:inherit} |
| .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} |
| .admonitionblock>table td.icon{text-align:center;width:80px} |
| .admonitionblock>table td.icon img{max-width:none} |
| .admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} |
| .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)} |
| .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} |
| .exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px} |
| .exampleblock>.content>:first-child{margin-top:0} |
| .exampleblock>.content>:last-child{margin-bottom:0} |
| .sidebarblock{border-style:solid;border-width:1px;border-color:#dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;-webkit-border-radius:4px;border-radius:4px} |
| .sidebarblock>:first-child{margin-top:0} |
| .sidebarblock>:last-child{margin-bottom:0} |
| .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} |
| .exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} |
| .literalblock pre,.listingblock>.content>pre{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em} |
| @media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}} |
| @media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}} |
| .literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class="highlight"],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8} |
| .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)} |
| .listingblock>.content{position:relative} |
| .listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5} |
| .listingblock:hover code[data-lang]::before{display:block} |
| .listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5} |
| .listingblock.terminal pre .command:not([data-prompt])::before{content:"$"} |
| .listingblock pre.highlightjs{padding:0} |
| .listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px} |
| .listingblock pre.prettyprint{border-width:0} |
| .prettyprint{background:#f7f7f8} |
| pre.prettyprint .linenums{line-height:1.45;margin-left:2em} |
| pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0} |
| pre.prettyprint li code[data-lang]::before{opacity:1} |
| pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none} |
| table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none} |
| table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal} |
| table.linenotable td.code{padding-left:.75em} |
| table.linenotable td.linenos{border-right:1px solid currentColor;opacity:.35;padding-right:.5em} |
| pre.pygments .lineno{border-right:1px solid currentColor;opacity:.35;display:inline-block;margin-right:.75em} |
| pre.pygments .lineno::before{content:"";margin-right:-.125em} |
| .quoteblock{margin:0 1em 1.25em 1.5em;display:table} |
| .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em} |
| .quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} |
| .quoteblock blockquote{margin:0;padding:0;border:0} |
| .quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} |
| .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} |
| .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right} |
| .verseblock{margin:0 1em 1.25em} |
| .verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} |
| .verseblock pre strong{font-weight:400} |
| .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} |
| .quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} |
| .quoteblock .attribution br,.verseblock .attribution br{display:none} |
| .quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} |
| .quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none} |
| .quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0} |
| .quoteblock.abstract{margin:0 1em 1.25em;display:block} |
| .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center} |
| .quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf} |
| .quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0} |
| .quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem} |
| .quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0} |
| table.tableblock{max-width:100%;border-collapse:separate} |
| p.tableblock:last-child{margin-bottom:0} |
| td.tableblock>.content>:last-child{margin-bottom:-1.25em} |
| td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0} |
| table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} |
| table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0} |
| table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0} |
| table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0} |
| table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px} |
| table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0} |
| table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0} |
| table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0} |
| table.frame-all{border-width:1px} |
| table.frame-sides{border-width:0 1px} |
| table.frame-topbot,table.frame-ends{border-width:1px 0} |
| table.stripes-all tr,table.stripes-odd tr:nth-of-type(odd),table.stripes-even tr:nth-of-type(even),table.stripes-hover tr:hover{background:#f8f8f7} |
| th.halign-left,td.halign-left{text-align:left} |
| th.halign-right,td.halign-right{text-align:right} |
| th.halign-center,td.halign-center{text-align:center} |
| th.valign-top,td.valign-top{vertical-align:top} |
| th.valign-bottom,td.valign-bottom{vertical-align:bottom} |
| th.valign-middle,td.valign-middle{vertical-align:middle} |
| table thead th,table tfoot th{font-weight:bold} |
| tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7} |
| tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} |
| p.tableblock>code:only-child{background:none;padding:0} |
| p.tableblock{font-size:1em} |
| ol{margin-left:1.75em} |
| ul li ol{margin-left:1.5em} |
| dl dd{margin-left:1.125em} |
| dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} |
| ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} |
| ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none} |
| ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em} |
| ul.unstyled,ol.unstyled{margin-left:0} |
| ul.checklist{margin-left:.625em} |
| ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em} |
| ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em} |
| ul.inline{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em} |
| ul.inline>li{margin-left:1.25em} |
| .unstyled dl dt{font-weight:400;font-style:normal} |
| ol.arabic{list-style-type:decimal} |
| ol.decimal{list-style-type:decimal-leading-zero} |
| ol.loweralpha{list-style-type:lower-alpha} |
| ol.upperalpha{list-style-type:upper-alpha} |
| ol.lowerroman{list-style-type:lower-roman} |
| ol.upperroman{list-style-type:upper-roman} |
| ol.lowergreek{list-style-type:lower-greek} |
| .hdlist>table,.colist>table{border:0;background:none} |
| .hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} |
| td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} |
| td.hdlist1{font-weight:bold;padding-bottom:1.25em} |
| .literalblock+.colist,.listingblock+.colist{margin-top:-.5em} |
| .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top} |
| .colist td:not([class]):first-child img{max-width:none} |
| .colist td:not([class]):last-child{padding:.25em 0} |
| .thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd} |
| .imageblock.left{margin:.25em .625em 1.25em 0} |
| .imageblock.right{margin:.25em 0 1.25em .625em} |
| .imageblock>.title{margin-bottom:0} |
| .imageblock.thumb,.imageblock.th{border-width:6px} |
| .imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} |
| .image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} |
| .image.left{margin-right:.625em} |
| .image.right{margin-left:.625em} |
| a.image{text-decoration:none;display:inline-block} |
| a.image object{pointer-events:none} |
| sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} |
| sup.footnote a,sup.footnoteref a{text-decoration:none} |
| sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline} |
| #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} |
| #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0} |
| #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em} |
| #footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em} |
| #footnotes .footnote:last-of-type{margin-bottom:0} |
| #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} |
| .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0} |
| .gist .file-data>table td.line-data{width:99%} |
| div.unbreakable{page-break-inside:avoid} |
| .big{font-size:larger} |
| .small{font-size:smaller} |
| .underline{text-decoration:underline} |
| .overline{text-decoration:overline} |
| .line-through{text-decoration:line-through} |
| .aqua{color:#00bfbf} |
| .aqua-background{background:#00fafa} |
| .black{color:#000} |
| .black-background{background:#000} |
| .blue{color:#0000bf} |
| .blue-background{background:#0000fa} |
| .fuchsia{color:#bf00bf} |
| .fuchsia-background{background:#fa00fa} |
| .gray{color:#606060} |
| .gray-background{background:#7d7d7d} |
| .green{color:#006000} |
| .green-background{background:#007d00} |
| .lime{color:#00bf00} |
| .lime-background{background:#00fa00} |
| .maroon{color:#600000} |
| .maroon-background{background:#7d0000} |
| .navy{color:#000060} |
| .navy-background{background:#00007d} |
| .olive{color:#606000} |
| .olive-background{background:#7d7d00} |
| .purple{color:#600060} |
| .purple-background{background:#7d007d} |
| .red{color:#bf0000} |
| .red-background{background:#fa0000} |
| .silver{color:#909090} |
| .silver-background{background:#bcbcbc} |
| .teal{color:#006060} |
| .teal-background{background:#007d7d} |
| .white{color:#bfbfbf} |
| .white-background{background:#fafafa} |
| .yellow{color:#bfbf00} |
| .yellow-background{background:#fafa00} |
| span.icon>.fa{cursor:default} |
| a span.icon>.fa{cursor:inherit} |
| .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} |
| .admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c} |
| .admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} |
| .admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900} |
| .admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400} |
| .admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000} |
| .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} |
| .conum[data-value] *{color:#fff!important} |
| .conum[data-value]+b{display:none} |
| .conum[data-value]::after{content:attr(data-value)} |
| pre .conum[data-value]{position:relative;top:-.125em} |
| b.conum *{color:inherit!important} |
| .conum:not([data-value]):empty{display:none} |
| dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} |
| h1,h2,p,td.content,span.alt{letter-spacing:-.01em} |
| p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} |
| p,blockquote,dt,td.content,span.alt{font-size:1.0625rem} |
| p{margin-bottom:1.25rem} |
| .sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} |
| .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc} |
| .print-only{display:none!important} |
| @page{margin:1.25cm .75cm} |
| @media print{*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important} |
| html{font-size:80%} |
| a{color:inherit!important;text-decoration:underline!important} |
| a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} |
| a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} |
| abbr[title]::after{content:" (" attr(title) ")"} |
| pre,blockquote,tr,img,object,svg{page-break-inside:avoid} |
| thead{display:table-header-group} |
| svg{max-width:100%} |
| p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} |
| h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} |
| #toc,.sidebarblock,.exampleblock>.content{background:none!important} |
| #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important} |
| body.book #header{text-align:center} |
| body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em} |
| body.book #header .details{border:0!important;display:block;padding:0!important} |
| body.book #header .details span:first-child{margin-left:0!important} |
| body.book #header .details br{display:block} |
| body.book #header .details br+span::before{content:none!important} |
| body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} |
| body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} |
| .listingblock code[data-lang]::before{display:block} |
| #footer{padding:0 .9375em} |
| .hide-on-print{display:none!important} |
| .print-only{display:block!important} |
| .hide-for-print{display:none!important} |
| .show-for-print{display:inherit!important}} |
| @media print,amzn-kf8{#header>h1:first-child{margin-top:1.25rem} |
| .sect1{padding:0!important} |
| .sect1+.sect1{border:0} |
| #footer{background:none} |
| #footer-text{color:rgba(0,0,0,.6);font-size:.9em}} |
| @media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}} |
| </style> |
| </head> |
| <body class="article toc2 toc-right data-line-1"> |
| <div id="header"> |
| <h1>User Guide for the openMDM® Application</h1> |
| <div class="details"> |
| <span id="author" class="author">Eclipse mdmbl project</span><br> |
| </div> |
| <div id="toc" class="toc2"> |
| <div id="toctitle">Table of Contents</div> |
| <ul class="sectlevel1"> |
| <li><a href="#_list_of_open_points">1. List of open points</a></li> |
| <li><a href="#_introduction">2. Introduction</a> |
| <ul class="sectlevel2"> |
| <li><a href="#_general">2.1. General</a></li> |
| <li><a href="#_features">2.2. Features</a></li> |
| </ul> |
| </li> |
| <li><a href="#_the_openmdm_web_client">3. The openMDM Web Client</a> |
| <ul class="sectlevel2"> |
| <li><a href="#_structure">3.1. Structure</a></li> |
| <li><a href="#_roles">3.2. Roles</a></li> |
| </ul> |
| </li> |
| <li><a href="#general_functions">4. General Functions and Common Controls</a> |
| <ul class="sectlevel2"> |
| <li><a href="#_login">4.1. Login</a></li> |
| <li><a href="#_logout">4.2. Logout</a></li> |
| <li><a href="#_language">4.3. Language</a></li> |
| <li><a href="#_about">4.4. About</a></li> |
| <li><a href="#_control_elements">4.5. Control elements</a></li> |
| <li><a href="#_buttons">4.6. Buttons</a></li> |
| </ul> |
| </li> |
| <li><a href="#navigator">5. Navigation</a> |
| <ul class="sectlevel2"> |
| <li><a href="#_overview_data_structure">5.1. Overview Data Structure</a></li> |
| <li><a href="#_navigator">5.2. Navigator</a></li> |
| </ul> |
| </li> |
| <li><a href="#search">6. Search</a> |
| <ul class="sectlevel2"> |
| <li><a href="#_defining_the_scope_of_a_search_via_criteria_selection">6.1. Defining the scope of a search via Criteria selection</a></li> |
| <li><a href="#_full_text_search">6.2. Full Text Search</a></li> |
| <li><a href="#advanced_search">6.3. Advanced Search (Attribute Based Search)</a> |
| <ul class="sectlevel3"> |
| <li><a href="#define_attributes">6.3.1. Define an attribute based search</a></li> |
| <li><a href="#_use_create_update_or_delete_an_existing_filter">6.3.2. Use, create, update or delete an existing filter</a></li> |
| <li><a href="#_do_the_search">6.3.3. Do the search</a></li> |
| </ul> |
| </li> |
| <li><a href="#result_data">6.4. Search Result</a></li> |
| </ul> |
| </li> |
| <li><a href="#shopping_basket">7. Shopping Basket</a></li> |
| <li><a href="#view-editor">8. View editor</a></li> |
| <li><a href="#detail_viewer">9. View data (Detail Viewer)</a></li> |
| <li><a href="#visualize_data">10. Visualize data</a> |
| <ul class="sectlevel2"> |
| <li><a href="#quick_viewer">10.1. Quick Viewer</a></li> |
| <li><a href="#xychart_viewer">10.2. X/Y Chart Viewer</a> |
| <ul class="sectlevel3"> |
| <li><a href="#_component_bar">10.2.1. Component bar</a></li> |
| <li><a href="#_chart">10.2.2. Chart</a> |
| <ul class="sectlevel4"> |
| <li><a href="#_table">Table</a></li> |
| </ul> |
| </li> |
| <li><a href="#_selection_panel">10.2.3. Selection panel</a> |
| <ul class="sectlevel4"> |
| <li><a href="#_channel_group">Channel Group</a></li> |
| <li><a href="#_y_channel">Y-Channel</a></li> |
| <li><a href="#_x_channel">X-Channel</a></li> |
| </ul> |
| </li> |
| <li><a href="#_data_display">10.2.4. Data display</a></li> |
| <li><a href="#_option_panel">10.2.5. Option panel</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="#export_files">11. Export / Import data</a> |
| <ul class="sectlevel2"> |
| <li><a href="#_files">11.1. Files</a></li> |
| </ul> |
| </li> |
| <li><a href="#admin_function">12. Administrator Functions</a> |
| <ul class="sectlevel2"> |
| <li><a href="#_configure_preferences">12.1. Configure preferences</a></li> |
| <li><a href="#_add_a_node_provider">12.2. Add a Node Provider</a></li> |
| <li><a href="#_configure_external_systems">12.3. Configure external systems</a></li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <div id="content"> |
| <div id="preamble"> |
| <div class="sectionbody"> |
| <div class="paragraph data-line-1"> |
| <p><strong>Document History</strong></p> |
| </div> |
| <table class="tableblock frame-all grid-all fit-content data-line-5"> |
| <colgroup> |
| <col> |
| <col> |
| <col> |
| <col> |
| <col> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Author</th> |
| <th class="tableblock halign-left valign-top">Date</th> |
| <th class="tableblock halign-left valign-top">Version</th> |
| <th class="tableblock halign-left valign-top">Affects SW Version</th> |
| <th class="tableblock halign-left valign-top">Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Peak Solution GmbH</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">13.04.2021</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">0.52</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">5.2.0Mx</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Initial version<br></p></td> |
| </tr> |
| </tbody> |
| </table> |
| <div class="literalblock data-line-11"> |
| <div class="content"> |
| <pre>This document is published under the Eclipse Public License 2.0: |
| https://www.eclipse.org/legal/epl-2.0/ |
| Copyright(c) 2020-2021, Peak Solution GmbH.</pre> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1 data-line-15"> |
| <h2 id="_list_of_open_points">1. List of open points</h2> |
| <div class="sectionbody"> |
| <div class="ulist data-line-17"> |
| <ul> |
| <li class="data-line-17"> |
| <p>add Parameter Sets (measurements, channel → Detail View)</p> |
| </li> |
| <li class="data-line-18"> |
| <p>add Tags for test, teststep, measurement (reference predefined tags)</p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1 data-line-21"> |
| <h2 id="_introduction">2. Introduction</h2> |
| <div class="sectionbody"> |
| <div class="sect2 data-line-23"> |
| <h3 id="_general">2.1. General</h3> |
| <div class="paragraph data-line-24"> |
| <p>The openMDM Application is an open source software platform for measured data management systems. |
| In compliance with the ASAM ODS standard, this |
| platform enables an ecosystem currently consisting |
| of automotive companies to build in-house application as well as application vendors building commercial and open source solutions tools and systems.</p> |
| </div> |
| <div class="paragraph data-line-29"> |
| <p>The openMDM Application can serve many ASAM ODS compliant servers in |
| parallel for data ingest, data exploration, test management, user and access management and more. |
| Security mechanisms at data and functional level |
| protect the stored information against unauthorized access.</p> |
| </div> |
| <div class="paragraph data-line-34"> |
| <p>In summary, it implements an industry standard |
| platform for tools and products for ODS compliant |
| products and tool chains.</p> |
| </div> |
| <div class="paragraph data-line-38"> |
| <p><span class="image"><img src="./images/openmdm.png" alt="openmdm"></span></p> |
| </div> |
| <div class="paragraph data-line-40"> |
| <p>The development of the platform and concepts is driven by the <a href="https://wiki.eclipse.org/Open-Measured-Data-Management-WG">openMDM Eclipse Working Group</a>. |
| The source code, documentaton and concepts are part of the open source <a href="https://projects.eclipse.org/projects/automotive.mdmbl">Eclipse mdmbl project</a> published under the business friendly Eclipse Public License 2.0 (<a href="https://www.eclipse.org/legal/epl-2.0/">EPL-2.0</a>).</p> |
| </div> |
| </div> |
| <div class="sect2 data-line-43"> |
| <h3 id="_features">2.2. Features</h3> |
| <div class="paragraph data-line-45"> |
| <p>The openMDM Application can be used to manage test and measurement data for a broad variety of domains. The openMDM web client offers a web based graphical user interface, that offers the following features:</p> |
| </div> |
| <div class="ulist data-line-47"> |
| <ul> |
| <li class="data-line-47"> |
| <p><a href="#navigator">navigate through data structures</a></p> |
| </li> |
| <li class="data-line-48"> |
| <p><a href="#search">search and retrieve of test and measurement data</a></p> |
| </li> |
| <li class="data-line-49"> |
| <p><a href="#detail_viewer">inspect data (<em>Detail Viewer</em>)</a></p> |
| </li> |
| <li class="data-line-50"> |
| <p><a href="#shopping_basket">collect data for further processing (<em>Shopping Basket</em>)</a></p> |
| </li> |
| <li class="data-line-51"> |
| <p><a href="#visualize_data">visualize data (<em>Chart Viewer</em>)</a></p> |
| </li> |
| <li class="data-line-52"> |
| <p><a href="#export_files">upload / download files, update, preview or delete existing files</a></p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph data-line-56"> |
| <p>With extended administration rights, a user can:</p> |
| </div> |
| <div class="ulist data-line-58"> |
| <ul> |
| <li class="data-line-58"> |
| <p>configure preferences</p> |
| </li> |
| <li class="data-line-59"> |
| <p>configure external systems</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph data-line-61"> |
| <p>Refer to <a href="#admin_function">this chapter</a>.</p> |
| </div> |
| <div class="admonitionblock note data-line-63"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <div class="title">Note</div> |
| </td> |
| <td class="content"> |
| This document includes screenshots of the <a href="https://demo.openmdm.org/">openMDM Demo Application</a> which is provided by the Eclipse openMDM Working Group. Please be aware that different domain specific openMDM applications have different data models and so different meta and measurement data. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="admonitionblock note data-line-13"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <div class="title">Note</div> |
| </td> |
| <td class="content"> |
| The test and measurement data are usually imported by server processes and stored in an standardized ASAM ODS data source. The way of storing the data is not part of this user manual. |
| </td> |
| </tr> |
| </table> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1 data-line-1"> |
| <h2 id="_the_openmdm_web_client">3. The openMDM Web Client</h2> |
| <div class="sectionbody"> |
| <div class="sect2 data-line-3"> |
| <h3 id="_structure">3.1. Structure</h3> |
| <div class="paragraph data-line-5"> |
| <p>The openMDM web client the graphical user interface for the openMDM application. If you start the client, you get the following view:</p> |
| </div> |
| <div class="imageblock center data-line-7"> |
| <div class="content"> |
| <img src="./images/structure_client.png" alt="structure client"> |
| </div> |
| <div class="title">Figure 1. openMDM web client</div> |
| </div> |
| <div class="paragraph data-line-9"> |
| <p><strong>Elements</strong>:</p> |
| </div> |
| <div class="ulist data-line-11"> |
| <ul> |
| <li class="data-line-11"> |
| <p><em>Menu bar</em>: Menus for language In this section general, About and Login / Logout, see |
| <a href="#general_functions">this section</a>. |
| There is also the Administration menu, see <a href="#admin_function">this section</a>.</p> |
| </li> |
| <li class="data-line-15"> |
| <p><em>Navigator</em>: Navigation in the openMDM data structures (e.g. project, pool, test, teststep, etc.), see <a href="#navigator">this section</a>.</p> |
| </li> |
| <li class="data-line-16"> |
| <p>Data Area:<br> |
| In this area all data related functions can be found. These functions are divided into five tabs:</p> |
| <div class="olist loweralpha data-line-18"> |
| <ol class="loweralpha" type="a"> |
| <li class="data-line-18"> |
| <p><em>Details</em>: The Metadata for a selected node in the Navigator are shown, see <a href="#detail_viewer">this section</a>.</p> |
| </li> |
| <li class="data-line-19"> |
| <p><em>MDM Search</em>: Different kinds of search are available like full text search, advanced search (attribute based), defining search filters and a result view, see <a href="#search">this section</a>.</p> |
| </li> |
| <li class="data-line-20"> |
| <p><em>Qick Viewer</em>: A simple X/Y ChartViewer to visualize the data of a measurement, see <a href="#quick_viewer">this section</a>.</p> |
| </li> |
| <li class="data-line-21"> |
| <p><em>X/Y ChartViewer</em>: A more sophisticated viewer that can represent the data of a measurement in different views, see <a href="#xychart_viewer">this section</a>.</p> |
| </li> |
| <li class="data-line-22"> |
| <p><em>Files</em>: Upload new files and/or download, update, preview or delete existing files, see <a href="#export_files">this section</a>.</p> |
| </li> |
| </ol> |
| </div> |
| </li> |
| </ul> |
| </div> |
| <div class="admonitionblock note data-line-25"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <div class="title">Note</div> |
| </td> |
| <td class="content"> |
| The openMDM5 main elements are written in <em>italic font</em> in this document. |
| </td> |
| </tr> |
| </table> |
| </div> |
| </div> |
| <div class="sect2 data-line-27"> |
| <h3 id="_roles">3.2. Roles</h3> |
| <div class="paragraph data-line-29"> |
| <p>For the web client three different roles for users are available:</p> |
| </div> |
| <div class="ulist data-line-31"> |
| <ul> |
| <li class="data-line-31"> |
| <p><em>DescriptiveDataAuthor</em>: users in this role can view, edit and update data. We denote users in this role just as <em>user</em>.</p> |
| </li> |
| <li class="data-line-32"> |
| <p><em>Admin</em>: additional rights for configuring / customize the web client for all users. See <a href="#admin_function">here</a>.</p> |
| </li> |
| <li class="data-line-33"> |
| <p><em>Guest</em>: restricted to read only.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="admonitionblock note data-line-35"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <div class="title">Note</div> |
| </td> |
| <td class="content"> |
| When we talk about admin / administration in this document, we mean users in the <em>Admin</em> role. There are further configuration options, that can be only done on server side, we refer to this as <em>system administration</em>. |
| </td> |
| </tr> |
| </table> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1 data-line-39"> |
| <h2 id="general_functions">4. General Functions and Common Controls</h2> |
| <div class="sectionbody"> |
| <div class="paragraph data-line-41"> |
| <p>In this section general functions from the <em>Menu Bar</em> are described, also common control elements and buttons that are used.</p> |
| </div> |
| <div class="sect2 data-line-43"> |
| <h3 id="_login">4.1. Login</h3> |
| <div class="paragraph data-line-45"> |
| <p>A user name and password are required to log in to the openMDM Application. The user name and password is the same as for the related ASAM ODS user. Please ask your administrator when you aren’t able to connect to the system.</p> |
| </div> |
| <div class="imageblock data-line-47"> |
| <div class="content"> |
| <img src="./images/login.png" alt="login"> |
| </div> |
| <div class="title">Figure 2. openMDM5 login</div> |
| </div> |
| <div class="paragraph data-line-49"> |
| <p>After successful login, the start page of the openMDM5 Web Client appears.</p> |
| </div> |
| <div class="admonitionblock note data-line-51"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <div class="title">Note</div> |
| </td> |
| <td class="content"> |
| It is possible to include single-sign-on functionality to the openMDM5 application. Please ask your administrator for this feature. |
| </td> |
| </tr> |
| </table> |
| </div> |
| </div> |
| <div class="sect2 data-line-53"> |
| <h3 id="_logout">4.2. Logout</h3> |
| <div class="paragraph data-line-55"> |
| <p>Logging out will end all of your ASAM ODS user sessions / connections.</p> |
| </div> |
| </div> |
| <div class="sect2 data-line-57"> |
| <h3 id="_language">4.3. Language</h3> |
| <div class="paragraph data-line-59"> |
| <p>Select a language for text and labels. Currently available languages are English and German (Deutsch). |
| New languages can be defined and added by the system administration.</p> |
| </div> |
| </div> |
| <div class="sect2 data-line-62"> |
| <h3 id="_about">4.4. About</h3> |
| <div class="paragraph data-line-64"> |
| <p>All necessary legal information for the open source software is listed, this includes: Trademarks, Copyright, Declared Project Licenses, Source Code location, Third-party Content and Cryptography.</p> |
| </div> |
| </div> |
| <div class="sect2 data-line-66"> |
| <h3 id="_control_elements">4.5. Control elements</h3> |
| <div class="imageblock left data-line-67"> |
| <div class="content"> |
| <img src="./images/hide.png" alt="hide"> |
| </div> |
| </div> |
| <div class="paragraph data-line-68"> |
| <p><strong>Hide element</strong></p> |
| </div> |
| <div class="paragraph data-line-70"> |
| <p>To hide the associated element.</p> |
| </div> |
| <div class="imageblock left data-line-72"> |
| <div class="content"> |
| <img src="./images/show.png" alt="show"> |
| </div> |
| </div> |
| <div class="paragraph data-line-73"> |
| <p><strong>Open element</strong></p> |
| </div> |
| <div class="paragraph data-line-75"> |
| <p>To open / show the associated element.</p> |
| </div> |
| </div> |
| <div class="sect2 data-line-77"> |
| <h3 id="_buttons">4.6. Buttons</h3> |
| <div class="imageblock left data-line-79"> |
| <div class="content"> |
| <img src="./images/refresh.png" alt="refresh"> |
| </div> |
| </div> |
| <div class="paragraph data-line-80"> |
| <p><strong>Refresh</strong></p> |
| </div> |
| <div class="paragraph data-line-82"> |
| <p>To refresh the actually selected element.</p> |
| </div> |
| <div class="imageblock left data-line-84"> |
| <div class="content"> |
| <img src="./images/copyLink.png" alt="copyLink"> |
| </div> |
| </div> |
| <div class="paragraph data-line-85"> |
| <p><strong>Copy link</strong></p> |
| </div> |
| <div class="paragraph data-line-87"> |
| <p>To copy the link of actually selected element.</p> |
| </div> |
| <div class="imageblock left data-line-89"> |
| <div class="content"> |
| <img src="./images/shoppingBasket_logo.png" alt="shoppingBasket logo"> |
| </div> |
| </div> |
| <div class="imageblock left data-line-90"> |
| <div class="content"> |
| <img src="./images/shoppingBasket_logo2.png" alt="shoppingBasket logo2"> |
| </div> |
| </div> |
| <div class="paragraph data-line-91"> |
| <p><strong>Shopping Basket</strong></p> |
| </div> |
| <div class="paragraph data-line-93"> |
| <p>To add the selection to the <em>Shopping Basket</em>.</p> |
| </div> |
| <div class="imageblock left data-line-95"> |
| <div class="content"> |
| <img src="./images/edit.png" alt="edit"> |
| </div> |
| </div> |
| <div class="paragraph data-line-96"> |
| <p><strong>Edit</strong></p> |
| </div> |
| <div class="paragraph data-line-98"> |
| <p>To edit the associated attributes.</p> |
| </div> |
| <div class="imageblock left data-line-100"> |
| <div class="content"> |
| <img src="./images/save.png" alt="save"> |
| </div> |
| </div> |
| <div class="paragraph data-line-101"> |
| <p><strong>Save</strong></p> |
| </div> |
| <div class="paragraph data-line-103"> |
| <p>To save the associated changed/edited component. It can be a view or a filter or the <em>Shopping Basket</em>.</p> |
| </div> |
| <div class="imageblock left data-line-105"> |
| <div class="content"> |
| <img src="./images/delete.png" alt="delete"> |
| </div> |
| </div> |
| <div class="paragraph data-line-106"> |
| <p><strong>Delete</strong></p> |
| </div> |
| <div class="paragraph data-line-108"> |
| <p>To delete selected or associated component.</p> |
| </div> |
| <div class="imageblock left data-line-110"> |
| <div class="content"> |
| <img src="./images/clear.png" alt="clear"> |
| </div> |
| </div> |
| <div class="paragraph data-line-111"> |
| <p><strong>Clear</strong></p> |
| </div> |
| <div class="paragraph data-line-113"> |
| <p>To reset changed/edited components (search conditions), or clear components (search results, <em>Shopping Basket</em>).</p> |
| </div> |
| <div class="imageblock left data-line-115"> |
| <div class="content"> |
| <img src="./images/download.png" alt="download"> |
| </div> |
| </div> |
| <div class="imageblock left data-line-116"> |
| <div class="content"> |
| <img src="./images/downloadWithCondition.png" alt="downloadWithCondition"> |
| </div> |
| </div> |
| <div class="paragraph data-line-117"> |
| <p><strong>Download and download with options</strong></p> |
| </div> |
| <div class="paragraph data-line-119"> |
| <p>To download the selected component. Some components have many options for download.</p> |
| </div> |
| <div class="imageblock left data-line-121"> |
| <div class="content"> |
| <img src="./images/upload.png" alt="upload"> |
| </div> |
| </div> |
| <div class="paragraph data-line-122"> |
| <p><strong>Upload</strong></p> |
| </div> |
| <div class="paragraph data-line-124"> |
| <p>To upload the selected component (file, <em>Shopping Basket</em>).</p> |
| </div> |
| <div class="imageblock left data-line-126"> |
| <div class="content"> |
| <img src="./images/open.png" alt="open"> |
| </div> |
| </div> |
| <div class="paragraph data-line-127"> |
| <p><strong>Open</strong></p> |
| </div> |
| <div class="paragraph data-line-129"> |
| <p>To open the associated component.</p> |
| </div> |
| <div class="imageblock left data-line-131"> |
| <div class="content"> |
| <img src="./images/link.png" alt="link"> |
| </div> |
| </div> |
| <div class="imageblock left data-line-132"> |
| <div class="content"> |
| <img src="./images/unlink.png" alt="unlink"> |
| </div> |
| </div> |
| <div class="paragraph data-line-133"> |
| <p><strong>Link and unlink</strong></p> |
| </div> |
| <div class="paragraph data-line-135"> |
| <p>To link or unlink the selected component to the associated component.</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1 data-line-2"> |
| <h2 id="navigator">5. Navigation</h2> |
| <div class="sectionbody"> |
| <div class="sect2 data-line-4"> |
| <h3 id="_overview_data_structure">5.1. Overview Data Structure</h3> |
| <div class="paragraph data-line-6"> |
| <p>The test and measurement data are stored in a hierarchical structure and visualized in the <em>Navigator</em>. The top level element(s) in the tree show the "environments", the data belong to. In every environment, It starts with the top level element "project" and you can drill down to a "test" element and its "measurement" elements by drilling deeper in the storage hierarchy.</p> |
| </div> |
| <div class="paragraph data-line-8"> |
| <p>In this section the different levels of the test data storage and navigation will be described. The standard navigation panel uses and provides the structure of the data as stored in the ASAM ODS data source. Alternatively you can choose different navigation structures by using the <em>NodeProvider</em>.</p> |
| </div> |
| <div class="imageblock left data-line-10"> |
| <div class="content"> |
| <img src="./images/database.png" alt="database"> |
| </div> |
| </div> |
| <div class="paragraph data-line-11"> |
| <p><strong>Environment</strong></p> |
| </div> |
| <div class="paragraph data-line-13"> |
| <p>The top level element(s) in the tree show the data source(s), the data belong to.</p> |
| </div> |
| <div class="imageblock left data-line-15"> |
| <div class="content"> |
| <img src="./images/house.png" alt="house"> |
| </div> |
| </div> |
| <div class="paragraph data-line-16"> |
| <p><strong>Project</strong></p> |
| </div> |
| <div class="paragraph data-line-18"> |
| <p>The top level of the data is the "project" level. It’s the highest grouping criteria for test data.</p> |
| </div> |
| <div class="imageblock left data-line-20"> |
| <div class="content"> |
| <img src="./images/paste_plain.png" alt="paste plain"> |
| </div> |
| </div> |
| <div class="paragraph data-line-21"> |
| <p><strong>Pool</strong></p> |
| </div> |
| <div class="paragraph data-line-23"> |
| <p>The second level for grouping and characterize test data is the "pool" or "subproject level". It’s used to categorized and group the tests in a project.</p> |
| </div> |
| <div class="imageblock left data-line-27"> |
| <div class="content"> |
| <img src="./images/brick_add.png" alt="brick add"> |
| </div> |
| </div> |
| <div class="paragraph data-line-28"> |
| <p><strong>Test</strong></p> |
| </div> |
| <div class="paragraph data-line-30"> |
| <p>The third level is the highest level with test data. A test belongs to a pool and it includes beside test data the so called teststeps.</p> |
| </div> |
| <div class="imageblock left data-line-32"> |
| <div class="content"> |
| <img src="./images/brick.png" alt="brick"> |
| </div> |
| </div> |
| <div class="paragraph data-line-33"> |
| <p><strong>Teststep</strong></p> |
| </div> |
| <div class="paragraph data-line-35"> |
| <p>The fourth level is the teststep level. Usually a teststep is defined for a limited number of measurements. A teststep belongs to a test and it includes beside teststep data the measurement data.</p> |
| </div> |
| <div class="imageblock left data-line-37"> |
| <div class="content"> |
| <img src="./images/chart_curve.png" alt="chart curve"> |
| </div> |
| </div> |
| <div class="paragraph data-line-38"> |
| <p><strong>Measurements</strong></p> |
| </div> |
| <div class="paragraph data-line-40"> |
| <p>The lowest level of the test data is the measurement level. It includes imported measurement data for a teststep. A measurement belongs to a teststep.</p> |
| </div> |
| </div> |
| <div class="sect2 data-line-42"> |
| <h3 id="_navigator">5.2. Navigator</h3> |
| <div class="paragraph data-line-44"> |
| <p>The <em>Navigator</em> offers the possibility to browse the openMDM data sets. It a tree, which shows the openMDM data structure. The view of data structure in the <em>Navigator</em> is configurable and determined by the chosen Node Provider configuration. The openMDM Client provides a default configuration for the standard openMDM view. This shows the metadata from the connected ODS database in the following hierarchy:</p> |
| </div> |
| <div class="ulist data-line-46"> |
| <ul> |
| <li class="data-line-46"> |
| <p>Project (e.g PMV 2PV or PMV Model P)</p> |
| </li> |
| <li class="data-line-47"> |
| <p>Pool (e.g Engine Noise Measurements or PBN Measurements)</p> |
| </li> |
| <li class="data-line-48"> |
| <p>Test (e.g PBN_UNECE_R51_20190703160224)</p> |
| </li> |
| <li class="data-line-49"> |
| <p>Teststep (e.g PBN_UNECE_R51_Left_Acc_70)</p> |
| </li> |
| <li class="data-line-50"> |
| <p>Measurement (e.g Channel)</p> |
| </li> |
| </ul> |
| </div> |
| <div class="imageblock data-line-52"> |
| <div class="content"> |
| <img src="./images/hierarchicalLevel.png" alt="hierarchicalLevel"> |
| </div> |
| <div class="title">Figure 3. Hierarchical levels in the Navigator</div> |
| </div> |
| <div class="paragraph data-line-54"> |
| <p>In this screenshot the Node Provider "default" is selected.</p> |
| </div> |
| <div class="paragraph data-line-56"> |
| <p>With the right mouse button (context menu,) you can invoke a menu that offers you a choice of different functions depending on the current context.</p> |
| </div> |
| <div class="ulist data-line-58"> |
| <ul> |
| <li class="data-line-58"> |
| <p>Refresh: Newly arrived information for the currently selected data object is shown in the navigation tree and in selected view in the right pane of the openMDM web client .</p> |
| </li> |
| <li class="data-line-59"> |
| <p>Refresh all: Regardless of the current data object, all the newly arrived information is shown in the tree.</p> |
| </li> |
| <li class="data-line-60"> |
| <p>Copy link: Copy the REST URL for the currently selected data object.</p> |
| </li> |
| <li class="data-line-61"> |
| <p>Add to <em>Shopping Basket</em>: Storage of the currently selected data object (multiple selection possible) in the <em>Shopping Basket</em>.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="imageblock data-line-63"> |
| <div class="content"> |
| <img src="./images/contextMenu.png" alt="contextMenu"> |
| </div> |
| <div class="title">Figure 4. Context menu in the Navigator</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1 data-line-67"> |
| <h2 id="search">6. Search</h2> |
| <div class="sectionbody"> |
| <div class="paragraph data-line-69"> |
| <p>In the second tab in the right pane of the openMDM web client is the <em>MDM Search</em>. The <em>MDM Search</em> consists of three areas:</p> |
| </div> |
| <div class="ulist data-line-71"> |
| <ul> |
| <li class="data-line-71"> |
| <p>Full Text Search: search for a (sub) string in the metadata. Can be combined with the advanced search.</p> |
| </li> |
| <li class="data-line-72"> |
| <p>Advanced search: Search using multiple attributes. Named search filters can be created and updated for reuse or be deleted .</p> |
| </li> |
| <li class="data-line-73"> |
| <p>Criteria: select search filter, source and result type for a search.</p> |
| </li> |
| <li class="data-line-75"> |
| <p>Results: show search results in a result view.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="imageblock data-line-77"> |
| <div class="content"> |
| <img src="./images/search_simple_init.png" alt="search simple init"> |
| </div> |
| <div class="title">Figure 5. MDM Search</div> |
| </div> |
| <div class="sect2 data-line-80"> |
| <h3 id="_defining_the_scope_of_a_search_via_criteria_selection">6.1. Defining the scope of a search via Criteria selection</h3> |
| <div class="paragraph data-line-82"> |
| <p>With the criteria selection you can define the scope of your search by different options:</p> |
| </div> |
| <div class="paragraph data-line-84"> |
| <p><strong>Search filter (for Advanced Search only)</strong>: Select a named search filter. |
| A search filter definition contains search attributes and can be reused. |
| If a filter is selected then its search attributes are available in the Advanced Search area.</p> |
| </div> |
| <div id="Source" class="paragraph data-line-89"> |
| <p><strong>Source</strong>: If you have multiple data sources, you can select one or more the search will be executed on. A multiple selection of environments is possible.</p> |
| </div> |
| <div class="paragraph data-line-91"> |
| <p><strong>Result type</strong>: You can select the result type. The following types are available:</p> |
| </div> |
| <div class="ulist data-line-93"> |
| <ul> |
| <li class="data-line-93"> |
| <p>Test</p> |
| </li> |
| <li class="data-line-94"> |
| <p>Teststep</p> |
| </li> |
| <li class="data-line-95"> |
| <p>Measurement</p> |
| </li> |
| </ul> |
| </div> |
| <div class="admonitionblock note data-line-97"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <div class="title">Note</div> |
| </td> |
| <td class="content"> |
| When choosing a teststep or measurement as result type you should configure accordingly teststep or measurement specific attributes in your result list. |
| </td> |
| </tr> |
| </table> |
| </div> |
| </div> |
| <div class="sect2 data-line-99"> |
| <h3 id="_full_text_search">6.2. Full Text Search</h3> |
| <div class="paragraph data-line-101"> |
| <p>The full text search (like Google text search) in one text field. You can search for a (sub) string or text in the metadata. The criteria "Source" and "Result type" define the scope of the search.</p> |
| </div> |
| <div class="paragraph data-line-103"> |
| <p>You can define a more sophisticated search using the available operators. These operators are described as tool tip text in the search text field.</p> |
| </div> |
| <div class="imageblock data-line-105"> |
| <div class="content"> |
| <img src="./images/search_fulltext_operator.png" alt="search fulltext operator"> |
| </div> |
| <div class="title">Figure 6. Search with * operator</div> |
| </div> |
| <div class="paragraph data-line-107"> |
| <p>The full text search can be executed stand alone or in combination with the advances search, depending on the check box <em>Advanced Search</em> inactivated or activated.</p> |
| </div> |
| </div> |
| <div class="sect2 data-line-110"> |
| <h3 id="advanced_search">6.3. Advanced Search (Attribute Based Search)</h3> |
| <div class="paragraph data-line-112"> |
| <p>For the Advanced Search activate the <em>Advanced Search</em> check box and expand the Advanced Search area.</p> |
| </div> |
| <div class="admonitionblock important data-line-114"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <div class="title">Important</div> |
| </td> |
| <td class="content"> |
| The button "Search" on the right hand side of the Full Text Search starts all types to searches, even if the text filed is empty. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="sect3 data-line-117"> |
| <h4 id="define_attributes">6.3.1. Define an attribute based search</h4> |
| <div class="imageblock left data-line-119"> |
| <div class="content"> |
| <img src="./images/new.png" alt="new"> |
| </div> |
| </div> |
| <div class="paragraph data-line-120"> |
| <p>Create a new filter and select your attributes by opening the View Editor via this button.<br></p> |
| </div> |
| <div class="imageblock data-line-122"> |
| <div class="content"> |
| <img src="./images/select_attributes.png" alt="select attributes"> |
| </div> |
| <div class="title">Figure 7. Select attributes in View Editor</div> |
| </div> |
| <div class="paragraph data-line-124"> |
| <p>In the Advanced Search you can see the selected attributes:</p> |
| </div> |
| <div class="imageblock data-line-126"> |
| <div class="content"> |
| <img src="./images/search_advanced_init.png" alt="search advanced init"> |
| </div> |
| <div class="title">Figure 8. Attributes in the Advanced Search</div> |
| </div> |
| <div class="paragraph data-line-128"> |
| <p>If you select an attribute which is part of all selected environments (see <a href="#Source">Source</a>) then the attribute is an so called global search attribute. The search with a global attribute is executed in all environments.</p> |
| </div> |
| <div class="paragraph data-line-130"> |
| <p>If you select an attribute which isn’t part of all selected environments then the attribute is an environment specific attribute and the search is executed in the related environments only.</p> |
| </div> |
| <div class="paragraph data-line-132"> |
| <p>The Advanced Search area contains the following elements (in each row):</p> |
| </div> |
| <div class="ulist data-line-134"> |
| <ul> |
| <li class="data-line-134"> |
| <p><strong>Attributes</strong>: These first two columns contain the names of the data object and the object attribute.</p> |
| </li> |
| <li class="data-line-136"> |
| <p><strong>Operators</strong>: Operators for the attribute and their search criteria can be set in this column. The operators should be self-explanatory.</p> |
| </li> |
| <li class="data-line-138"> |
| <p><strong>Value</strong>: Search values are entered here.</p> |
| </li> |
| <li class="data-line-140"> |
| <p><strong>Remove Button</strong>: This button remove the selected row form the advanced search.</p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <div class="sect3 data-line-145"> |
| <h4 id="_use_create_update_or_delete_an_existing_filter">6.3.2. Use, create, update or delete an existing filter</h4> |
| <div class="ulist data-line-147"> |
| <ul> |
| <li class="data-line-147"> |
| <p><strong>Create a new filter</strong>:<br> |
| <a href="#define_attributes">Define attributes</a>. For reuse you can save and name the search filter using the <em>Save search filter</em> button. You can assign a new name or override an existing filter by choosing the dedicated filter name.</p> |
| </li> |
| <li class="data-line-149"> |
| <p><strong>Use an existing filter</strong>:<br> |
| Select a Search Filter in the <em>Search Filter</em> drop down box. Activate the Advanced Search check box.</p> |
| </li> |
| <li class="data-line-151"> |
| <p><strong>Update an existing filter</strong>:<br> |
| Select a Search Filter in the <em>Search Filter</em> drop down box. Make your changes by opening the View Editor with the <em>Edit search filter</em> button. You can assign a new name or override an existing filter by choosing the dedicated filter name. Then use the <em>Save view</em> button. You can assign a new name or override an existing filter by choosing the dedicated filter name.</p> |
| </li> |
| <li class="data-line-153"> |
| <p><strong>Delete an existing filter:</strong><br> |
| Select a Search Filter in the <em>Search Filter</em> drop down box. Use the <em>Delete search filter</em> button.</p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <div class="sect3 data-line-157"> |
| <h4 id="_do_the_search">6.3.3. Do the search</h4> |
| <div class="paragraph data-line-159"> |
| <p>For the advanced search you have:</p> |
| </div> |
| <div class="ulist data-line-161"> |
| <ul> |
| <li class="data-line-161"> |
| <p>to fill the values for the defined attributed</p> |
| </li> |
| <li class="data-line-162"> |
| <p>to define the operator (=, < , > , like)</p> |
| </li> |
| <li class="data-line-163"> |
| <p>optionally: fill the search text field</p> |
| </li> |
| <li class="data-line-164"> |
| <p>to define your data source(s)</p> |
| </li> |
| <li class="data-line-165"> |
| <p>to choose the result type</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph data-line-167"> |
| <p>Use the button "Search" on the right hand side of the Full Text Search.</p> |
| </div> |
| <div class="imageblock data-line-169"> |
| <div class="content"> |
| <img src="./images/mdmSearch.png" alt="mdmSearch"> |
| </div> |
| <div class="title">Figure 9. MDM Search</div> |
| </div> |
| <div class="admonitionblock important data-line-171"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <div class="title">Important</div> |
| </td> |
| <td class="content"> |
| Don’t forget to reset the filter criteria, if you want to execute a new (different) search. |
| </td> |
| </tr> |
| </table> |
| </div> |
| </div> |
| </div> |
| <div class="sect2 data-line-174"> |
| <h3 id="result_data">6.4. Search Result</h3> |
| <div class="paragraph data-line-176"> |
| <p>Using the buttons in the upper left area of the result area, you can select an existing result-view, create a new view or edit, save and delete existing views with <a href="#view-editor">View Editor</a>.</p> |
| </div> |
| <div class="paragraph data-line-178"> |
| <p>Using the buttons in the upper right result area, you can clear the search results or add selected search results to the <em>Shopping Basket</em>.</p> |
| </div> |
| <div class="imageblock data-line-180"> |
| <div class="content"> |
| <img src="./images/shoppingBasket_init.png" alt="shoppingBasket init"> |
| </div> |
| <div class="title">Figure 10. Add result to Shopping Basket</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1 data-line-183"> |
| <h2 id="shopping_basket">7. Shopping Basket</h2> |
| <div class="sectionbody"> |
| <div class="paragraph data-line-185"> |
| <p>Store data objects such as projects, pools, tests, teststeps, measurements etc. for further processing.</p> |
| </div> |
| <div class="paragraph data-line-187"> |
| <p>The <em>Shopping Basket</em> is located in the lower left area of the openMDM web client. It is a container for data objects. Any data objects can be selected in the <em>Navigator</em> (multiple selection is possible) and placed per context menu in the <em>Shopping Basket</em>, to use them as selection for further processing with other openMDM components.</p> |
| </div> |
| <div class="imageblock data-line-189"> |
| <div class="content"> |
| <img src="./images/shoppingBasket.png" alt="shoppingBasket"> |
| </div> |
| <div class="title">Figure 11. Storage of data in the Shopping Basket</div> |
| </div> |
| <div class="paragraph data-line-191"> |
| <p>Using the buttons in the upper left area of the area, you can create new views, edit existing views with <a href="#view-editor">the View Editor</a>, save edited views or delete existing views. |
| The procedure is similar to that described <a href="#advanced_search">here.</a></p> |
| </div> |
| <div class="paragraph data-line-194"> |
| <p>Using the buttons in the upper right area of the view, you can clear, download, upload, open or save <em>Shopping Basket</em>.</p> |
| </div> |
| <table class="tableblock frame-all grid-all stretch data-line-197"> |
| <colgroup> |
| <col style="width: 14.2857%;"> |
| <col style="width: 85.7143%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Icons</th> |
| <th class="tableblock halign-left valign-top">Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/downloadSB.png" alt="downloadSB"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">You can download <strong>content</strong> of the selected objects in the shopping basket using as ATFx file.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/downloadDiffFormats.png" alt="downloadDiffFormats"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">You can download the <strong>data</strong> of the selected objects in the shopping basket using in the selected data format (e.g. ATFx).</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="sect1 data-line-210"> |
| <h2 id="view-editor">8. View editor</h2> |
| <div class="sectionbody"> |
| <div class="literalblock data-line-212"> |
| <div class="content"> |
| <pre>Notiz BMW: Diese Funktionalität muss evtl. im Client vereinfacht werden (verständlich für einen Anfänger).</pre> |
| </div> |
| </div> |
| <div class="paragraph data-line-214"> |
| <p>With this editor you can create new search filters, edit existing search filters, create new views for search results or <em>Shopping Basket</em> and edit existing views for search results or <em>Shopping Basket</em>.</p> |
| </div> |
| <div class="imageblock left data-line-216"> |
| <div class="content"> |
| <img src="./images/editView.png" alt="editView"> |
| </div> |
| </div> |
| <div class="imageblock left data-line-217"> |
| <div class="content"> |
| <img src="./images/new.png" alt="new"> |
| </div> |
| </div> |
| <div class="paragraph data-line-219"> |
| <p>With click on the one of this buttons starts the View Editor dialog.</p> |
| </div> |
| <div class="imageblock data-line-221"> |
| <div class="content"> |
| <img src="./images/templatesEditor.png" alt="templatesEditor"> |
| </div> |
| <div class="title">Figure 12. View Editor</div> |
| </div> |
| <div class="paragraph data-line-223"> |
| <p>You can search for elements via the search field:</p> |
| </div> |
| <div class="imageblock data-line-225"> |
| <div class="content"> |
| <img src="./images/view_editor_search.png" alt="view editor search"> |
| </div> |
| <div class="title">Figure 13. View Editor search</div> |
| </div> |
| <div class="paragraph data-line-227"> |
| <p>The procedure is always similar, see as e.g. <a href="#advanced_search">here.</a></p> |
| </div> |
| </div> |
| </div> |
| <div class="sect1 data-line-230"> |
| <h2 id="detail_viewer">9. View data (Detail Viewer)</h2> |
| <div class="sectionbody"> |
| <div class="paragraph data-line-232"> |
| <p>In the first tab in the right pane of the openMDM web client is the <em>Details</em>. It responds to the selection within the <em>Navigator</em>. The component <em>Details</em> has 5 tabs.</p> |
| </div> |
| <div class="ulist data-line-234"> |
| <ul> |
| <li class="data-line-234"> |
| <p>General</p> |
| </li> |
| <li class="data-line-235"> |
| <p>Unit Under Test</p> |
| </li> |
| <li class="data-line-236"> |
| <p>Test Sequence</p> |
| </li> |
| <li class="data-line-237"> |
| <p>Test Equipment</p> |
| </li> |
| <li class="data-line-238"> |
| <p>Sensors</p> |
| <div class="literalblock data-line-240"> |
| <div class="content"> |
| <pre>Notiz (BMW): bzgl. Bulletpoints: |
| Sollten wir in der GUI evtl. intuitiver gestalten (weil ein Anwender vielleicht nichts von UUT, TS, TE weiß)</pre> |
| </div> |
| </div> |
| </li> |
| </ul> |
| </div> |
| <div class="imageblock data-line-243"> |
| <div class="content"> |
| <img src="./images/detailsGeneral.png" alt="detailsGeneral"> |
| </div> |
| <div class="title">Figure 14. Metadata in the Details</div> |
| </div> |
| <div class="paragraph data-line-245"> |
| <p>The first tab is called the General. It shows the attributes (= metadata) of the currently selected data object in the <em>Navigator</em>. If selected data object in the <em>Navigator</em> isn’t a Test or a Teststep or a Measurement then shows only the metadata without any tab.</p> |
| </div> |
| <div class="paragraph data-line-247"> |
| <p>If selected data object in the <em>Navigator</em> is a Test or a Teststep or a Measurement then all 5 tabs are visible.</p> |
| </div> |
| <div class="imageblock data-line-249"> |
| <div class="content"> |
| <img src="./images/detailsSequence.png" alt="detailsSequence"> |
| </div> |
| <div class="title">Figure 15. Test sequence tab in the Details</div> |
| </div> |
| <div class="paragraph data-line-251"> |
| <p>In next 4 tabs you can edit the single attribute values.</p> |
| </div> |
| </div> |
| </div> |
| <div class="sect1 data-line-254"> |
| <h2 id="visualize_data">10. Visualize data</h2> |
| <div class="sectionbody"> |
| <div class="sect2 data-line-257"> |
| <h3 id="quick_viewer">10.1. Quick Viewer</h3> |
| <div class="paragraph data-line-259"> |
| <p>The component <em>Quick Viewer</em> is a simpler version of <em>X/Y Chart Viewer</em> with the possibility to switch between graphically or tabular view of channel values.</p> |
| </div> |
| <div class="imageblock data-line-261"> |
| <div class="content"> |
| <img src="./images/quickViewer.png" alt="quickViewer"> |
| </div> |
| <div class="title">Figure 16. Quick Viewer</div> |
| </div> |
| </div> |
| <div class="sect2 data-line-264"> |
| <h3 id="xychart_viewer">10.2. X/Y Chart Viewer</h3> |
| <div class="paragraph data-line-266"> |
| <p>The <em>X/Y Chart Viewer</em> represents the data of a measurement in different views. This includes the graphical and tabular view of channel values. The following figure shows the general structure of the <em>X/Y Chart Viewer</em> on the basis of example data (= Channel).</p> |
| </div> |
| <div class="imageblock data-line-268"> |
| <div class="content"> |
| <img src="./images/xyChartViewer.png" alt="xyChartViewer"> |
| </div> |
| <div class="title">Figure 17. Structure of the X/Y Chart Viewer</div> |
| </div> |
| <div class="sect3 data-line-270"> |
| <h4 id="_component_bar">10.2.1. Component bar</h4> |
| <div class="paragraph data-line-272"> |
| <p>Different push buttons are located here to control the display in the upper right pane of the dialog (e.g. chart, data table, legend, decimal points, etc.)</p> |
| </div> |
| </div> |
| <div class="sect3 data-line-274"> |
| <h4 id="_chart">10.2.2. Chart</h4> |
| <div class="paragraph data-line-276"> |
| <p>By the selection of this button starts graphically view of channel values. All another functionalities of Component bar, Selection panel and Option panel are considered for this view.</p> |
| </div> |
| <div class="sect4 data-line-278"> |
| <h5 id="_table">Table</h5> |
| <div class="paragraph data-line-280"> |
| <p>By the selection of this button starts tabular view of channel values. This view has only the page-navigation and the selection for number of lines.</p> |
| </div> |
| <table class="tableblock frame-all grid-all stretch data-line-283"> |
| <colgroup> |
| <col style="width: 11.1111%;"> |
| <col style="width: 88.8889%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Icons</th> |
| <th class="tableblock halign-left valign-top">Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/hideSelectionPanel.png" alt="hideSelectionPanel"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">For hide the Selection panel. It’s possible if the Selection panel is visible.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/showSelectionPanel.png" alt="showSelectionPanel"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">For show the Selection panel. It’s possible if the Selection panel is not visible.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/filterChannelOptions.png" alt="filterChannelOptions"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">For filter channel options by axis-type.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/provideChannelOptions.png" alt="provideChannelOptions"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">For provide all channel options.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/hideChartLegend.png" alt="hideChartLegend"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">For hide the chart legends of graphical representation of data.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/showChartLegend.png" alt="showChartLegend"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">For show the chart legends of graphical representation of data.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/hideLines.png" alt="hideLines"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">For hide the data as graphical representation.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/showLines.png" alt="showLines"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">For show the data as graphical representation.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/fillArea.png" alt="fillArea"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">For fill the area underneath the graph.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/clearArea.png" alt="clearArea"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">For clear the area underneath the graph.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/hideDataPoints.png" alt="hideDataPoints"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">For hide the data points in the data lines.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/markDataPoints.png" alt="markDataPoints"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">For mark the data points in the data lines.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="imageblock"> |
| <div class="content"> |
| <img src="./images/cbSettings.png" alt="cbSettings"> |
| </div> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Settings for width of data line or data line tension.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="sect3 data-line-328"> |
| <h4 id="_selection_panel">10.2.3. Selection panel</h4> |
| <div class="paragraph data-line-330"> |
| <p>This panel is used to select the channels to be displayed. It consists of three areas. Channel-filtering with regular expressions is possible for the Channel Group and Y-Channel.</p> |
| </div> |
| <div class="sect4 data-line-332"> |
| <h5 id="_channel_group">Channel Group</h5> |
| <div class="paragraph data-line-334"> |
| <p>The upper area contains all currently available measurements to the data object selected in the <em>Navigator</em>.</p> |
| </div> |
| </div> |
| <div class="sect4 data-line-336"> |
| <h5 id="_y_channel">Y-Channel</h5> |
| <div class="paragraph data-line-338"> |
| <p>The middle area contains all of the channels that can be used as Y-axis, as well as its display unit. A multiple selection of Y-axes is possible.</p> |
| </div> |
| </div> |
| <div class="sect4 data-line-340"> |
| <h5 id="_x_channel">X-Channel</h5> |
| <div class="paragraph data-line-342"> |
| <p>The area below contains all the available X-axis of the measurement. As X-axis you can only select one channel.</p> |
| </div> |
| </div> |
| </div> |
| <div class="sect3 data-line-344"> |
| <h4 id="_data_display">10.2.4. Data display</h4> |
| <div class="paragraph data-line-346"> |
| <p>In this dialog area, the selected channels are displayed. This can be done either graphically or in tabular form. A right-click menu provides additional functions.</p> |
| </div> |
| </div> |
| <div class="sect3 data-line-348"> |
| <h4 id="_option_panel">10.2.5. Option panel</h4> |
| <div class="paragraph data-line-350"> |
| <p>Settings for graphic values (size of X-axis, step size etc.).</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1 data-line-354"> |
| <h2 id="export_files">11. Export / Import data</h2> |
| <div class="sectionbody"> |
| <div class="sect2 data-line-356"> |
| <h3 id="_files">11.1. Files</h3> |
| <div class="paragraph data-line-358"> |
| <p>You can attach external files (such as drawings, descriptions, evaluations, etc.) to the data objects in the hierarchy levels test, test step and measurements. This is done via the tab <em>Files</em> of the openMDM Web Client. The view File attachments appears as an tab in the right pane of the openMDM web client.</p> |
| </div> |
| <div class="imageblock data-line-360"> |
| <div class="content"> |
| <img src="./images/documents.png" alt="documents"> |
| </div> |
| <div class="title">Figure 18. File attachments</div> |
| </div> |
| <div class="paragraph data-line-362"> |
| <p>Using the buttons in the upper right area of the view, you can upload new files and/or download, update, preview or delete existing files.</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1 data-line-2"> |
| <h2 id="admin_function">12. Administrator Functions</h2> |
| <div class="sectionbody"> |
| <div class="paragraph data-line-4"> |
| <p>An overview on the advanced functions for the administrator are described here. The functions are available in the Administrator tab.</p> |
| </div> |
| <div id="tech_documentation_links" class="admonitionblock note data-line-8"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <div class="title">Note</div> |
| </td> |
| <td class="content"> |
| These functions are expert functions and very technical. For a deeper dive, we recommend the following technical documentation: <br> |
| * <a href="https://download.eclipse.org/mdmbl/nightly_master/5.2.0M4/GettingStarted_mdmbl.pdf">Installation and Setup Guide for the |
| openMDM Application</a><br> |
| * <a href="https://download.eclipse.org/mdmbl/nightly_master/5.2.0M4/README.md">Readme file of the Eclipse mdmbl project</a> |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="paragraph data-line-13"> |
| <p>To get the administration rights, your user has the be assigned to the administrator role, please ask your system administrator.</p> |
| </div> |
| <div class="sect2 data-line-15"> |
| <h3 id="_configure_preferences">12.1. Configure preferences</h3> |
| <div class="paragraph data-line-17"> |
| <p>The component <em>Preferences</em> includes the following scopes:</p> |
| </div> |
| <div class="ulist data-line-19"> |
| <ul> |
| <li class="data-line-19"> |
| <p><strong>System:</strong> preferences that are valid system wide</p> |
| </li> |
| <li class="data-line-20"> |
| <p><strong>Source:</strong> preferences are valid for the dedicated data source (environment)</p> |
| </li> |
| <li class="data-line-21"> |
| <p><strong>User:</strong> user specific preferences. Preferences are e.g. search filters a user has defined, they are stored automatically.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph data-line-23"> |
| <p>A preference is a pair of a unique key and a value. The key is composed of a prefix defining the purpose of the preference followed by an arbitrary but unique identifier string. |
| It is recommended to choose the identifier the same as the preferences "name" field, in case there is one. The value holds the preference’s data in a JSON string. |
| <a href="#tech_documentation_links">More information</a>.</p> |
| </div> |
| <div class="imageblock data-line-27"> |
| <div class="content"> |
| <img src="./images/preferences.png" alt="preferences"> |
| </div> |
| <div class="title">Figure 19. Preferences (User)</div> |
| </div> |
| <div class="paragraph data-line-29"> |
| <p>In the screenshot you can see the "filter.nodes.Standard NVH" key, this row describes the search filter that was defined <a href="#define_attributes">here</a>.</p> |
| </div> |
| </div> |
| <div class="sect2 data-line-31"> |
| <h3 id="_add_a_node_provider">12.2. Add a Node Provider</h3> |
| <div class="paragraph data-line-33"> |
| <p>To add a Node Provider configuration, a system preference has to be added to the |
| configuration. The configuration must be located in the system scope and the key must be prefixed |
| with "nodeprovider.".</p> |
| </div> |
| <div class="imageblock data-line-37"> |
| <div class="content"> |
| <img src="./images/nodeprovider_config_admin.png" alt="nodeprovider config admin"> |
| </div> |
| <div class="title">Figure 20. Add a Node Provider</div> |
| </div> |
| <div class="paragraph data-line-39"> |
| <p><a href="#tech_documentation_links">More information</a>.</p> |
| </div> |
| </div> |
| <div class="sect2 data-line-41"> |
| <h3 id="_configure_external_systems">12.3. Configure external systems</h3> |
| <div class="paragraph data-line-43"> |
| <p>The component <em>External Systems</em> includes environment specific mapping information between an external system and the openMDM system attributes. |
| You can import data from other data sources (e.g. ATFX files, csv files, xml files, ODS Server,…​) that are not compliant to the openMDM5 application model, by defining a mapping of the metadata included in the source to the openMDM5 model. The openMDM5 application import function has to support the specific data source format.</p> |
| </div> |
| <div class="imageblock data-line-19"> |
| <div class="content"> |
| <img src="./images/externalsystems2.png" alt="externalsystems2"> |
| </div> |
| <div class="title">Figure 21. External Systems (ATFx importer mapping in NVHdemo environment)</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div id="footer"> |
| <div id="footer-text"> |
| Last updated 2021-04-19 14:20:03 +0200 |
| </div> |
| </div> |
| </body> |
| </html> |