<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Dear midPoint community,</p>
    <span class="byline"><span class="author vcard"></span></span>
    <div class="entry-content"><span class="byline"><span class="author
          vcard"></span></span>
      <div class="entry-content">
        <p><a
href="https://docs.evolveum.com/midpoint/midprivacy/phases/01-data-provenance-prototype/">Data
            provenance</a> development in midPoint is moving forward.
          The implementation has reached its first milestone. For those
          interested in the details there are already few things to have
          a look at.<span id="more-6586"></span></p>
        <p>We started with analysing the <a
href="https://docs.evolveum.com/midpoint/midprivacy/phases/01-data-provenance-prototype/provenance-use-cases/">use
            cases</a> and preliminary <a
href="https://docs.evolveum.com/midpoint/midprivacy/phases/01-data-provenance-prototype/metadata-usecases/">list
            of metadata uses and items</a>. This lead us to <a
href="https://docs.evolveum.com/midpoint/midprivacy/phases/01-data-provenance-prototype/architecture/">solution
            architecture</a> and we have started designing<a
href="https://github.com/Evolveum/midpoint/blob/feature/axiom/infra/schema/src/main/resources/xml/ns/public/common/common-metadata-3.xsd">
            the meta-data structure</a>.</p>
        <p>However, the greatest challenge was the schema modeling. This
          was quite expected. We are at the end of the road for XML
          Schema Definition (XSD). It is quite clear we <a
            href="https://evolveum.com/a-road-to-axiom/">have to make a
            big step forward</a>. Therefore, we started working on a new
          schema language: <a
href="https://docs.evolveum.com/midpoint/midprivacy/phases/01-data-provenance-prototype/axiom/">Axiom</a>.
          We started designing the language and implementing a prototype
          parser. The code is available in <a
href="https://github.com/Evolveum/midpoint/tree/feature/axiom/infra/axiom"><tt>axiom</tt>
            module in <tt>feature/axiom</tt> branch</a> of midPoint
          source code. The code is stil very experimental. Our plan is
          to validate that the language works by trying it on ourselves
          – we would like to express all midPoint schemas in Axiom
          evetually. Until we can pass through such validation both the
          Axiom language and the code is likely to change.</p>
        <p>We have also made some progress on the user interface side
          and we are quite ahead of plan with that. We have extended <a
href="https://wiki.evolveum.com/display/midPoint/Prism+Objects">Prism</a>
          interfaces to introduce support for value metadata. We will
          use this to display data provenance meta-data in midPoint user
          interface. Implementation of user interface support is already
          in progress and we have first screenshots:</p>
        <p><a moz-do-not-send="true"
href="https://evolveum.com/wp-content/uploads/screenshot-m1-simple-metadata.png">https://evolveum.com/wp-content/uploads/screenshot-m1-simple-metadata.png</a><br>
        </p>
        <p><a moz-do-not-send="true"
href="https://evolveum.com/wp-content/uploads/screenshot-m1-transformation-metadata.png">https://evolveum.com/wp-content/uploads/screenshot-m1-transformation-metadata.png</a><br>
        </p>
        <p>There is still a lot to do. Axiom has to mature, we have to
          connect all the pieces by using midPoint mappings, improve the
          user interface and do a lot of smaller things. But we are on
          the right track and we are moving ahead. This milestone is
          more important than it may seem. This effort is part of <a
            href="https://evolveum.com/introducing-midprivacy-initiative/">midPrivacy
            initiative</a>, which is long-term plan to implement data
          protection mechanisms in midPoint. And this is the first real
          milestone in midPrivacy implementation. Data protection is one
          step closer to become a reality.</p>
      </div>
      <p>This project has received funding from the European Union’s
        Horizon 2020 research and innovation programme under the
        NGI_TRUST grant agreement no 825618.</p>
    </div>
    <p>(Reposted from <a moz-do-not-send="true"
        href="https://evolveum.com/data-provenance-milestone-1/">Evolveum
        blog</a>)</p>
    <pre class="moz-signature" cols="72">-- 
Radovan Semancik
Software Architect
evolveum.com</pre>
  </body>
</html>