<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Vincent,<br>
    <br>
    I tried to write unit test for this issue and I can't reproduce it
    with shadow you posted in previous mail.<br>
    Did you try to delete it through Configuration/Repository objects?<br>
    <br>
    Is your setup using embedded H2 or nonembedded?<br>
    <br>
    Best regards,<br>
    <br>
    Vilo<br>
    <br>
    <div class="moz-cite-prefix">On 10/01/2013 01:47 PM, Viliam Repan
      wrote:<br>
    </div>
    <blockquote cite="mid:524AB639.1080201@evolveum.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      Hi Vincent,<br>
      <br>
      I've just created Jira issue for this problem, <a
        moz-do-not-send="true" class="moz-txt-link-freetext"
        href="https://jira.evolveum.com/browse/MID-1624">https://jira.evolveum.com/browse/MID-1624</a>
      , will be fixed in next release (2.3) also in 2.2.1 if necessary.<br>
      <br>
      Best regards,<br>
      <br>
      vilo<br>
      <br>
      <div class="moz-cite-prefix">On 09/30/2013 08:36 PM,
        Belleville-Rioux, Vincent wrote:<br>
      </div>
      <blockquote
        cite="mid:0AD36E0192997748BD28BC68B14C75D003690D@Lettre.gst.uqam.ca"
        type="cite">
        <meta http-equiv="Content-Type" content="text/html;
          charset=ISO-8859-1">
        <style type="text/css"></style>
        <div style="direction: ltr;font-family: Tahoma;color:
          #000000;font-size: 10pt;">
          <div>Ok, I understand.</div>
          <div><br>
          </div>
          <div>I've been trying to set it up the way your suggest with
            limited success...</div>
          <div><br>
            <div>For some reason, in one of my tests, I ended up with an
              undeletable object in the shadow object types...    I
              think the only way to fix that for me would be to go into
              the h2db and do manual queries.  Just wanted to share the
              problem :</div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div>Object :</div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div>
              <div><object xmlns=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://midpoint.evolveum.com/xml/ns/public/common/common-2a">"http://midpoint.evolveum.com/xml/ns/public/common/common-2a"</a></div>
              <div>        xmlns:xsi=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://www.w3.org/2001/XMLSchema-instance">"http://www.w3.org/2001/XMLSchema-instance"</a></div>
              <div>        oid="f17ab2a1-a6ce-4ad1-b057-6537bfc49cc8"</div>
              <div>        version="6"</div>
              <div>        xsi:type="ShadowType"></div>
              <div>   <name></div>
              <div>      <orig
                xmlns=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://prism.evolveum.com/xml/ns/public/types-2">"http://prism.evolveum.com/xml/ns/public/types-2"</a>>undeletableobject</orig></div>
              <div>      <norm
                xmlns=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://prism.evolveum.com/xml/ns/public/types-2">"http://prism.evolveum.com/xml/ns/public/types-2"</a>>undeletableobject</norm></div>
              <div>   </name></div>
              <div>   <trigger id="1"></div>
              <div>     
                <timestamp>2018-01-01T00:00:00.000-05:00</timestamp></div>
              <div>     
                <handlerUri><a moz-do-not-send="true"
                  class="moz-txt-link-freetext"
href="http://midpoint.evolveum.com/xml/ns/public/model/trigger/recompute/handler-2">http://midpoint.evolveum.com/xml/ns/public/model/trigger/recompute/handler-2</a></handlerUri></div>
              <div>   </trigger></div>
              <div>   <metadata></div>
              <div>     
<createTimestamp>2013-09-30T14:23:23.817-04:00</createTimestamp></div>
              <div>      <creatorRef xmlns:c=<a
                  moz-do-not-send="true" class="moz-txt-link-rfc2396E"
                  href="http://midpoint.evolveum.com/xml/ns/public/common/common-2a">"http://midpoint.evolveum.com/xml/ns/public/common/common-2a"</a></div>
              <div>                 
                oid="00000000-0000-0000-0000-000000000002"</div>
              <div>                  type="c:UserType"/></div>
              <div>     
                <createChannel><a moz-do-not-send="true"
                  class="moz-txt-link-freetext"
href="http://midpoint.evolveum.com/xml/ns/public/provisioning/channels-2#discovery">http://midpoint.evolveum.com/xml/ns/public/provisioning/channels-2#discovery</a></createChannel></div>
              <div>     
<modifyTimestamp>2013-09-30T14:26:27.965-04:00</modifyTimestamp></div>
              <div>      <modifierRef
                oid="00000000-0000-0000-0000-000000000002"/></div>
              <div>     
                <modifyChannel><a moz-do-not-send="true"
                  class="moz-txt-link-freetext"
                  href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-2#user">http://midpoint.evolveum.com/xml/ns/public/gui/channels-2#user</a></modifyChannel></div>
              <div>   </metadata></div>
              <div>   <resourceRef xmlns:c=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://midpoint.evolveum.com/xml/ns/public/common/common-2a">"http://midpoint.evolveum.com/xml/ns/public/common/common-2a"</a></div>
              <div>               
                oid="af2bc95b-76e0-48e2-86d6-3d4f02d3fafe"</div>
              <div>                type="c:ResourceType"/></div>
              <div>   <objectClass
                xmlns:qn363=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-2">"http://midpoint.evolveum.com/xml/ns/public/resource/instance-2"</a>>qn363:AccountObjectClass</objectClass></div>
              <div>   <c:kind xmlns:c=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://midpoint.evolveum.com/xml/ns/public/common/common-2a">"http://midpoint.evolveum.com/xml/ns/public/common/common-2a"</a></div>
              <div>         
                 xmlns:icfs=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
href="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/resource-schema-2">"http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/resource-schema-2"</a></div>
              <div>           xmlns:t=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://prism.evolveum.com/xml/ns/public/types-2">"http://prism.evolveum.com/xml/ns/public/types-2"</a></div>
              <div>         
                 xmlns:icfc=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
href="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-2">"http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-2"</a></div>
              <div>           xmlns:q=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://prism.evolveum.com/xml/ns/public/query-2">"http://prism.evolveum.com/xml/ns/public/query-2"</a></div>
              <div>         
                 xmlns:cap=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
href="http://midpoint.evolveum.com/xml/ns/public/resource/capabilities-2">"http://midpoint.evolveum.com/xml/ns/public/resource/capabilities-2"</a></div>
              <div>         
                 xmlns:apti=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://midpoint.evolveum.com/xml/ns/public/common/api-types-2">"http://midpoint.evolveum.com/xml/ns/public/common/api-types-2"</a></div>
              <div>         
                 xmlns:wfcf=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://midpoint.evolveum.com/xml/ns/model/workflow/common-forms-2">"http://midpoint.evolveum.com/xml/ns/model/workflow/common-forms-2"</a></div>
              <div>         
                 xmlns:m=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://midpoint.evolveum.com/xml/ns/public/model/model-context-2">"http://midpoint.evolveum.com/xml/ns/public/model/model-context-2"</a></div>
              <div>           xmlns:ds=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://www.w3.org/2000/09/xmldsig#">"http://www.w3.org/2000/09/xmldsig#"</a></div>
              <div>           xmlns:enc=<a moz-do-not-send="true"
                  class="moz-txt-link-rfc2396E"
                  href="http://www.w3.org/2001/04/xmlenc#">"http://www.w3.org/2001/04/xmlenc#"</a>>account</c:kind></div>
              <div>   <intent>default</intent></div>
              <div>   <iteration>0</iteration></div>
              <div>   <iterationToken/></div>
              <div></object></div>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div>-----------------------------</div>
            <div><br>
            </div>
            <div>Error when trying to delete it :</div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div>
              <div style="font-family:Tahoma; font-size:13px">
                <div style="">
                  <ul class="messagesTop" style="margin: 0px 0px 20px;
                    padding: 0px; font-family: Arial, Helvetica,
                    sans-serif; font-size: 14px;">
                    <li style="padding-bottom: 5px; list-style: none
                      outside none; margin: 0px;">
                      <div class="messages-error" style="color: rgb(204,
                        10, 12); border: 1px solid rgb(210, 31, 30);
                        padding: 0px; border-top-left-radius: 4px;
                        border-top-right-radius: 4px;
                        border-bottom-right-radius: 4px;
                        border-bottom-left-radius: 4px;
                        background-color: rgb(255, 215, 202);">
                        <div class="messages-topPanel messages-topError
                          selected" id="id3ea1" title="Partial error"
                          style="padding: 10px 5px 10px 40px;
                          font-weight: bold; background-image:
                          url(http://usager-gia/midpoint/wicket/resource/com.evolveum.midpoint.web.component.message.MainFeedback/messages-error-icon.png);

                          border-top-left-radius: 4px;
                          border-top-right-radius: 4px;
                          border-bottom-right-radius: 0px;
                          border-bottom-left-radius: 0px;
                          background-color: rgb(255, 194, 174); cursor:
                          pointer; background-position: 12px 50%;
                          background-repeat: no-repeat no-repeat;">
                          <div class="messages-topMessage"
                            style="display: inline-block; padding-right:
                            15px;"> Couldn't delete object
                            'undeletableobject'.</div>
                          <br>
                          <div class="messages-topException"
                            style="font-size: 12px; display:
                            inline-block; padding-right: 15px;
                            padding-top: 5px; clear: both; font-weight:
                            normal; width: 1224.546875px;">
                            <ul style="list-style: none outside none;
                              margin: 0px; padding: 0px;">
                              <li style="padding: 1px 0px; list-style:
                                none outside none; margin: 0px;
                                text-overflow: ellipsis; overflow:
                                auto;">
                                <div class="message-info">Delete object
                                  (Gui)</div>
                              </li>
                              <li style="padding: 1px 0px; list-style:
                                none outside none; margin: 0px;
                                text-overflow: ellipsis; overflow:
                                auto;"> <span class="message-info"><u>Cause:</u> 
                                  <p style="margin: 0px; display:
                                    inline;">Subresult
                                    com.evolveum.midpoint.provisioning.api.ProvisioningService.deleteObject
                                    of operation
                                    com.evolveum.midpoint.model.api.ModelService.executeChanges
                                    is still UNKNOWN during cleanup;
                                    during handling of exception
                                    com.evolveum.midpoint.util.exception.SystemException:
                                    Referential integrity constraint
                                    violation: "FK_TRIGGER_OWNER:
                                    PUBLIC.M_TRIGGER FOREIGN
                                    KEY(OWNER_ID, OWNER_OID) REFERENCES
                                    PUBLIC.M_OBJECT(ID, OID) (0,
                                    'f17ab2a1-a6ce-4ad1-b057-6537bfc49cc8')";
                                    SQL statement:<br>
                                    delete from m_object where id=? and
                                    oid=? [23503-171]</p>
                                </span></li>
                            </ul>
                          </div>
                          <span class="messages-topError-arrow
                            arrow-down arrow-up"
                            style="background-image:
                            url(http://usager-gia/midpoint/wicket/resource/com.evolveum.midpoint.web.component.message.MainFeedback/messages-error-arrow.png);

                            display: inline-block; height: 16px; width:
                            16px; position: absolute; right: 60px;
                            margin-top: 26px; background-position: 0px
                            0px; background-repeat: no-repeat
                            no-repeat;"></span></div>
                        <div class="messages-content
                          messages-error-content" id="id3ea1_content"
                          style="padding-left: 20px; padding-bottom:
                          5px; padding-right: 10px;">
                          <ul style="list-style: none outside none;
                            margin: 5px 0px 0px; padding: 0px;
                            min-height: 20px;">
                            <li style="padding: 1px 0px; list-style:
                              none outside none; margin: 0px;
                              text-overflow: ellipsis; overflow: auto;">
                              <div style="display: inline-block;"><span
                                  class="message-info"><span
                                    class="errorStack" id="id3ea2"
                                    style="color: rgb(85, 85, 85);
                                    font-weight: bold; font-size: 12px;
                                    margin-left: 5px;"><span
                                      class="showStackText">[ SHOW ERROR
                                      STACK ]</span></span></span></div>
                              <div class="collapseExpand"
                                style="display: inline-block; position:
                                absolute; right: 65px; font-size: 12px;">
                                <span class="collapseAll"
                                  style="padding: 0px 5px;">Collapse all</span> <span
                                  class="expandAll" style="padding: 0px
                                  5px;">Expand all</span> <span
                                  id="exportToXml" style="padding: 0px
                                  5px;">Export to XML</span></div>
                            </li>
                          </ul>
                          <ul class="messages-details"
                            style="list-style: none outside none;
                            margin: 0px; padding: 0px;">
                            <li class="messages-error-details-section"
                              title="Fatal error" style="padding: 2px
                              0px 1px 25px; list-style: none outside
                              none; margin: 5px 0px 0px; text-overflow:
                              ellipsis; overflow: auto; font-size: 12px;
                              background-image:
                              url(http://usager-gia/midpoint/wicket/resource/com.evolveum.midpoint.web.component.message.MainFeedback/messages-error-icon.png);

                              background-position: 9px 2px;
                              background-repeat: no-repeat no-repeat;">
                              <span class="arrow-right
                                messages-error-details-bold-arrow"
                                id="id3ea3_arrow"
                                style="background-image:
                                url(http://usager-gia/midpoint/wicket/resource/com.evolveum.midpoint.web.component.message.MainFeedback/messages-error-arrow.png);

                                display: inline-block; height: 16px;
                                width: 16px; float: left; margin: 0px
                                5px; background-position: 0px -16px;
                                background-repeat: no-repeat no-repeat;"></span><span
                                class="messages-details-bold"
                                id="id3ea3" style="padding: 0px;
                                font-weight: bold;">Execute changes
                                (Model)</span>
                              <div class="messages-details-content"
                                id="id3ea3_content" style="padding-left:
                                30px; background-position: 0px -32px;">
                                <ul style="list-style: none outside
                                  none; margin: 0px; padding: 0px;">
                                  <li style="padding: 1px 0px;
                                    list-style: none outside none;
                                    margin: 0px; text-overflow:
                                    ellipsis; overflow: auto;"> <span
                                      class="message-info">Referential
                                      integrity constraint violation:
                                      "FK_TRIGGER_OWNER:
                                      PUBLIC.M_TRIGGER FOREIGN
                                      KEY(OWNER_ID, OWNER_OID)
                                      REFERENCES PUBLIC.M_OBJECT(ID,
                                      OID) (0,
                                      'f17ab2a1-a6ce-4ad1-b057-6537bfc49cc8')";
                                      SQL statement: delete from
                                      m_object where id=? and oid=?
                                      [23503-171]</span></li>
                                  <li style="padding: 1px 0px;
                                    list-style: none outside none;
                                    margin: 0px; text-overflow:
                                    ellipsis; overflow: auto;"> <span
                                      class="message-info"><u>Param:</u> options: com.evolveum.midpoint.model.api.ModelExecuteOptions@4653a06c</span></li>
                                  <li style="padding: 1px 0px;
                                    list-style: none outside none;
                                    margin: 0px; text-overflow:
                                    ellipsis; overflow: auto;"> <span
                                      class="message-info"><u>Cause:</u> 
                                      <p style="margin: 0px; display:
                                        inline;">Referential integrity
                                        constraint violation:
                                        "FK_TRIGGER_OWNER:
                                        PUBLIC.M_TRIGGER FOREIGN
                                        KEY(OWNER_ID, OWNER_OID)
                                        REFERENCES PUBLIC.M_OBJECT(ID,
                                        OID) (0,
                                        'f17ab2a1-a6ce-4ad1-b057-6537bfc49cc8')";
                                        SQL statement:<br>
                                        delete from m_object where id=?
                                        and oid=? [23503-171]</p>
                                       <span class="errorStack"
                                        id="id3ea4" style="color:
                                        rgb(85, 85, 85); font-weight:
                                        bold; margin-left: 5px;"><span
                                          class="showStackText">[ SHOW
                                          ERROR STACK ]</span></span></span></li>
                                  <li
                                    class="messages-warn-details-section"
                                    title="Unknown" style="padding: 2px
                                    0px 1px 25px; list-style: none
                                    outside none; margin: 5px 0px 0px;
                                    text-overflow: ellipsis; overflow:
                                    auto; background-image:
                                    url(http://usager-gia/midpoint/wicket/resource/com.evolveum.midpoint.web.component.message.MainFeedback/messages-warn-icon.png);

                                    color: rgb(210, 139, 30);
                                    background-position: 9px 2px;
                                    background-repeat: no-repeat
                                    no-repeat;"> <span
                                      class="messages-details
                                      selected-section"
                                      style="margin-top: 0px;
                                      background-color: rgb(255, 232,
                                      224);"><span class="arrow-right
                                        messages-warn-details-bold-arrow
                                        arrow-down" id="id3ea5_arrow"
                                        style="background-image:
                                        url(http://usager-gia/midpoint/wicket/resource/com.evolveum.midpoint.web.component.message.MainFeedback/messages-warn-arrow.png);

                                        display: inline-block; height:
                                        16px; width: 16px; float: left;
                                        margin: 0px 5px;
                                        background-position: 0px -32px;
                                        background-repeat: no-repeat
                                        no-repeat;"></span><span
                                        class="messages-details-bold"
                                        id="id3ea5" style="padding: 0px;
                                        font-weight: bold;">Delete
                                        object (Provisioning)</span>
                                      <div
                                        class="messages-details-content"
                                        id="id3ea5_content"
                                        style="padding-left: 30px;
                                        background-position: 0px -32px;">
                                        <ul style="list-style: none
                                          outside none; margin: 0px;
                                          padding: 0px;">
                                          <li style="padding: 1px 0px;
                                            list-style: none outside
                                            none; margin: 0px;
                                            text-overflow: ellipsis;
                                            overflow: auto;"> <span
                                              class="message-info"></span><br>
                                          </li>
                                          <li style="padding: 1px 0px;
                                            list-style: none outside
                                            none; margin: 0px;
                                            text-overflow: ellipsis;
                                            overflow: auto;"> <span
                                              class="message-info"><u>Param:</u> scripts: </span></li>
                                          <li style="padding: 1px 0px;
                                            list-style: none outside
                                            none; margin: 0px;
                                            text-overflow: ellipsis;
                                            overflow: auto;"> <span
                                              class="message-info"><u>Param:</u> oid: f17ab2a1-a6ce-4ad1-b057-6537bfc49cc8</span></li>
                                          <li style="padding: 1px 0px;
                                            list-style: none outside
                                            none; margin: 0px;
                                            text-overflow: ellipsis;
                                            overflow: auto;"> <span
                                              class="message-info"><u>Context:</u> implementationClass: class
com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl</span></li>
                                          <li
                                            class="messages-succ-details-section"
                                            title="Success"
                                            style="padding: 2px 0px 1px
                                            25px; list-style: none
                                            outside none; margin: 5px
                                            0px 0px; text-overflow:
                                            ellipsis; overflow: auto;
                                            background-image:
                                            url(http://usager-gia/midpoint/wicket/resource/com.evolveum.midpoint.web.component.message.MainFeedback/messages-succ-icon.png);

                                            color: rgb(79, 138, 16);
                                            background-position: 9px
                                            1px; background-repeat:
                                            no-repeat no-repeat;"> <span
                                              class="messages-details"
                                              style="margin-top: 0px;"><span
                                                class="arrow-right
                                                messages-succ-details-bold-arrow"
                                                id="id3ea7_arrow"
                                                style="background-image:
                                                url(http://usager-gia/midpoint/wicket/resource/com.evolveum.midpoint.web.component.message.MainFeedback/messages-succ-arrow.png);

                                                display: inline-block;
                                                height: 16px; width:
                                                16px; float: left;
                                                margin: 0px 5px;
                                                background-position: 0px
                                                -16px;
                                                background-repeat:
                                                no-repeat no-repeat;"></span><span
class="messages-details-bold" id="id3ea7" style="padding: 0px;
                                                font-weight: bold;">Get
                                                object (Repository)</span></span></li>
                                          <li
                                            class="messages-error-details-section"
                                            title="Fatal error"
                                            style="padding: 2px 0px 1px
                                            25px; list-style: none
                                            outside none; margin: 5px
                                            0px 0px; text-overflow:
                                            ellipsis; overflow: auto;
                                            background-image:
                                            url(http://usager-gia/midpoint/wicket/resource/com.evolveum.midpoint.web.component.message.MainFeedback/messages-error-icon.png);

                                            color: rgb(204, 10, 12);
                                            background-position: 9px
                                            2px; background-repeat:
                                            no-repeat no-repeat;"> <span
                                              class="messages-details
                                              selected-section"
                                              style="margin-top: 0px;"><span
                                                class="arrow-right
                                                messages-error-details-bold-arrow
                                                arrow-down"
                                                id="id3ea9_arrow"
                                                style="background-image:
                                                url(http://usager-gia/midpoint/wicket/resource/com.evolveum.midpoint.web.component.message.MainFeedback/messages-error-arrow.png);

                                                display: inline-block;
                                                height: 16px; width:
                                                16px; float: left;
                                                margin: 0px 5px;
                                                background-position: 0px
                                                -32px;
                                                background-repeat:
                                                no-repeat no-repeat;"></span><span
class="messages-details-bold" id="id3ea9" style="padding: 0px;
                                                font-weight: bold;">Delete

                                                object (Repository)</span>
                                              <div
                                                class="messages-details-content"
                                                id="id3ea9_content"
                                                style="padding-left:
                                                30px;
                                                background-position: 0px
                                                -32px;">
                                                <ul style="list-style:
                                                  none outside none;
                                                  margin: 0px; padding:
                                                  0px;">
                                                  <li style="padding:
                                                    1px 0px; list-style:
                                                    none outside none;
                                                    margin: 0px;
                                                    text-overflow:
                                                    ellipsis; overflow:
                                                    auto;"> <span
                                                      class="message-info">Referential

                                                      integrity
                                                      constraint
                                                      violation:
                                                      "FK_TRIGGER_OWNER:
                                                      PUBLIC.M_TRIGGER
                                                      FOREIGN
                                                      KEY(OWNER_ID,
                                                      OWNER_OID)
                                                      REFERENCES
                                                      PUBLIC.M_OBJECT(ID,
                                                      OID) (0,
                                                      'f17ab2a1-a6ce-4ad1-b057-6537bfc49cc8')";
                                                      SQL statement:
                                                      delete from
                                                      m_object where
                                                      id=? and oid=?
                                                      [23503-171]</span></li>
                                                  <li style="padding:
                                                    1px 0px; list-style:
                                                    none outside none;
                                                    margin: 0px;
                                                    text-overflow:
                                                    ellipsis; overflow:
                                                    auto;"> <span
                                                      class="message-info"><u>Param:</u> oid: f17ab2a1-a6ce-4ad1-b057-6537bfc49cc8</span></li>
                                                  <li style="padding:
                                                    1px 0px; list-style:
                                                    none outside none;
                                                    margin: 0px;
                                                    text-overflow:
                                                    ellipsis; overflow:
                                                    auto;"> <span
                                                      class="message-info"><u>Param:</u> type: com.evolveum.midpoint.xml.ns._public.common.common_2a.ShadowType</span></li>
                                                  <li style="padding:
                                                    1px 0px; list-style:
                                                    none outside none;
                                                    margin: 0px;
                                                    text-overflow:
                                                    ellipsis; overflow:
                                                    auto;"> <span
                                                      class="message-info"><u>Cause:</u> 
                                                      <p style="margin:
                                                        0px; display:
                                                        inline;">Referential

                                                        integrity
                                                        constraint
                                                        violation:
                                                        "FK_TRIGGER_OWNER:
                                                        PUBLIC.M_TRIGGER
                                                        FOREIGN
                                                        KEY(OWNER_ID,
                                                        OWNER_OID)
                                                        REFERENCES
                                                        PUBLIC.M_OBJECT(ID,
                                                        OID) (0,
                                                        'f17ab2a1-a6ce-4ad1-b057-6537bfc49cc8')";
                                                        SQL statement:<br>
                                                        delete from
                                                        m_object where
                                                        id=? and oid=?
                                                        [23503-171]</p>
                                                       <span
                                                        class="errorStack"
                                                        id="id3eaa"
                                                        style="color:
                                                        rgb(85, 85, 85);
                                                        font-weight:
                                                        bold;
                                                        margin-left:
                                                        5px;"><span
                                                          class="hideStackText"
                                                          style="display:
                                                          inline;">[
                                                          HIDE ERROR
                                                          STACK ]</span></span></span>
                                                    <div
                                                      class="errorStack-content"
id="id3eaa_content" style="margin: 5px 0px 5px 15px; overflow: auto;"> <code>
                                                        <p
                                                          style="margin:
                                                          0px; display:
                                                          inline;">org.hibernate.exception.ConstraintViolationException:

                                                          Referential
                                                          integrity
                                                          constraint
                                                          violation:
                                                          "FK_TRIGGER_OWNER:
                                                          PUBLIC.M_TRIGGER

                                                          FOREIGN
                                                          KEY(OWNER_ID,
                                                          OWNER_OID)
                                                          REFERENCES
                                                          PUBLIC.M_OBJECT(ID,
                                                          OID) (0,
                                                          'f17ab2a1-a6ce-4ad1-b057-6537bfc49cc8')";
                                                          SQL statement:<br>
                                                          delete from
                                                          m_object where
                                                          id=? and oid=?
                                                          [23503-171]<br>
                                                          at
org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:128)<br>
                                                          at
org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)<br>
                                                          at
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)<br>
                                                          at
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)<br>
                                                          at
org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:129)<br>
                                                          at
org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)<br>
                                                          at
                                                          com.sun.proxy.$Proxy113.executeUpdate(Unknown
                                                          Source)<br>
                                                          at
org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3240)<br>
                                                          at
org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3440)<br>
                                                          at
org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:100)<br>
                                                          at
                                                          org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362)<br>
                                                          at
org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354)<br>
                                                          at
org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:280)<br>
                                                          at
org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:326)<br>
                                                          at
org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)<br>
                                                          at
                                                          org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1210)<br>
                                                          at
                                                          org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:399)<br>
                                                          at
org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)<br>
                                                          at
org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)<br>
                                                          at
com.evolveum.midpoint.repo.sql.SqlRepositoryServiceImpl.deleteObjectAttempt(SqlRepositoryServiceImpl.java:651)<br>
                                                          at
com.evolveum.midpoint.repo.sql.SqlRepositoryServiceImpl.deleteObject_aroundBody6(SqlRepositoryServiceImpl.java:609)<br>
                                                          at
com.evolveum.midpoint.repo.sql.SqlRepositoryServiceImpl$AjcClosure7.run(SqlRepositoryServiceImpl.java:1)<br>
                                                          at
org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.wrapSubsystem(MidpointAspect.java:169)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.ajc$inlineAccessMethod$com_evolveum_midpoint_util_aspect_MidpointAspect$com_evolveum_midpoint_util_aspect_MidpointAspect$wrapSubsystem(MidpointAspect.java:1)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.processRepositoryNdc(MidpointAspect.java:59)<br>
                                                          at
com.evolveum.midpoint.repo.sql.SqlRepositoryServiceImpl.deleteObject(SqlRepositoryServiceImpl.java:590)<br>
                                                          at
com.evolveum.midpoint.repo.cache.RepositoryCache.deleteObject_aroundBody12(RepositoryCache.java:249)<br>
                                                          at
com.evolveum.midpoint.repo.cache.RepositoryCache$AjcClosure13.run(RepositoryCache.java:1)<br>
                                                          at
org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.wrapSubsystem(MidpointAspect.java:169)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.ajc$inlineAccessMethod$com_evolveum_midpoint_util_aspect_MidpointAspect$com_evolveum_midpoint_util_aspect_MidpointAspect$wrapSubsystem(MidpointAspect.java:1)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.processRepositoryNdc(MidpointAspect.java:59)<br>
                                                          at
com.evolveum.midpoint.repo.cache.RepositoryCache.deleteObject(RepositoryCache.java:247)<br>
                                                          at
com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.deleteObject_aroundBody12(ProvisioningServiceImpl.java:870)<br>
                                                          at
com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl$AjcClosure13.run(ProvisioningServiceImpl.java:1)<br>
                                                          at
org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.wrapSubsystem(MidpointAspect.java:169)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.ajc$inlineAccessMethod$com_evolveum_midpoint_util_aspect_MidpointAspect$com_evolveum_midpoint_util_aspect_MidpointAspect$wrapSubsystem(MidpointAspect.java:1)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.processProvisioningNdc(MidpointAspect.java:69)<br>
                                                          at
com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.deleteObject(ProvisioningServiceImpl.java:818)<br>
                                                          at
com.evolveum.midpoint.model.controller.ModelController.executeChanges_aroundBody2(ModelController.java:363)<br>
                                                          at
com.evolveum.midpoint.model.controller.ModelController$AjcClosure3.run(ModelController.java:1)<br>
                                                          at
org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.wrapSubsystem(MidpointAspect.java:169)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.ajc$inlineAccessMethod$com_evolveum_midpoint_util_aspect_MidpointAspect$com_evolveum_midpoint_util_aspect_MidpointAspect$wrapSubsystem(MidpointAspect.java:1)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.processModelNdc(MidpointAspect.java:79)<br>
                                                          at
com.evolveum.midpoint.model.controller.ModelController.executeChanges(ModelController.java:313)<br>
                                                          at
                                                          sun.reflect.NativeMethodAccessorImpl.invoke0(Native
                                                          Method)<br>
                                                          at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
                                                          at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
                                                          at
                                                          java.lang.reflect.Method.invoke(Method.java:606)<br>
                                                          at
org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:434)<br>
                                                          at
                                                          com.sun.proxy.$Proxy7.executeChanges(Unknown
                                                          Source)<br>
                                                          at
com.evolveum.midpoint.web.page.admin.configuration.PageDebugList.deleteObjectConfirmedPerformed(PageDebugList.java:515)<br>
                                                          at
com.evolveum.midpoint.web.page.admin.configuration.PageDebugList.access$3(PageDebugList.java:509)<br>
                                                          at
com.evolveum.midpoint.web.page.admin.configuration.PageDebugList$1.yesPerformed(PageDebugList.java:141)<br>
                                                          at
com.evolveum.midpoint.web.component.dialog.ConfirmationDialog$3.onClick(ConfirmationDialog.java:87)<br>
                                                          at
                                                          org.apache.wicket.ajax.markup.html.AjaxLink$1.onEvent(AjaxLink.java:86)<br>
                                                          at
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:131)<br>
                                                          at
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:603)<br>
                                                          at
                                                          sun.reflect.GeneratedMethodAccessor544.invoke(Unknown
                                                          Source)<br>
                                                          at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
                                                          at
                                                          java.lang.reflect.Method.invoke(Method.java:606)<br>
                                                          at
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)<br>
                                                          at
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)<br>
                                                          at
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:247)<br>
                                                          at
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:226)<br>
                                                          at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:840)<br>
                                                          at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)<br>
                                                          at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:254)<br>
                                                          at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:211)<br>
                                                          at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:282)<br>
                                                          at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:244)<br>
                                                          at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)<br>
                                                          at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:267)<br>
                                                          at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br>
                                                          at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>
                                                          at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)<br>
                                                          at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)<br>
                                                          at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)<br>
                                                          at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)<br>
                                                          at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)<br>
                                                          at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)<br>
                                                          at
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)<br>
                                                          at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)<br>
                                                          at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)<br>
                                                          at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)<br>
                                                          at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)<br>
                                                          at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)<br>
                                                          at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)<br>
                                                          at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)<br>
                                                          at
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)<br>
                                                          at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)<br>
                                                          at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)<br>
                                                          at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)<br>
                                                          at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)<br>
                                                          at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)<br>
                                                          at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)<br>
                                                          at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)<br>
                                                          at
org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)<br>
                                                          at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)<br>
                                                          at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)<br>
                                                          at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)<br>
                                                          at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)<br>
                                                          at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br>
                                                          at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>
                                                          at
com.evolveum.midpoint.web.util.MidPointProfilingServletFilter.doFilter_aroundBody0(MidPointProfilingServletFilter.java:69)<br>
                                                          at
com.evolveum.midpoint.web.util.MidPointProfilingServletFilter$AjcClosure1.run(MidPointProfilingServletFilter.java:1)<br>
                                                          at
org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.wrapSubsystem(MidpointAspect.java:169)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.ajc$inlineAccessMethod$com_evolveum_midpoint_util_aspect_MidpointAspect$com_evolveum_midpoint_util_aspect_MidpointAspect$wrapSubsystem(MidpointAspect.java:1)<br>
                                                          at
com.evolveum.midpoint.util.aspect.MidpointAspect.processWebNdc(MidpointAspect.java:84)<br>
                                                          at
com.evolveum.midpoint.web.util.MidPointProfilingServletFilter.doFilter(MidPointProfilingServletFilter.java:65)<br>
                                                          at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br>
                                                          at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>
                                                          at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br>
                                                          at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)<br>
                                                          at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)<br>
                                                          at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)<br>
                                                          at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br>
                                                          at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)<br>
                                                          at
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:879)<br>
                                                          at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:617)<br>
                                                          at
                                                          org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1760)<br>
                                                          at
                                                          java.lang.Thread.run(Thread.java:724)<br>
                                                          Caused by:
                                                          org.h2.jdbc.JdbcSQLException:
                                                          Referential
                                                          integrity
                                                          constraint
                                                          violation:
                                                          "FK_TRIGGER_OWNER:
                                                          PUBLIC.M_TRIGGER

                                                          FOREIGN
                                                          KEY(OWNER_ID,
                                                          OWNER_OID)
                                                          REFERENCES
                                                          PUBLIC.M_OBJECT(ID,
                                                          OID) (0,
                                                          'f17ab2a1-a6ce-4ad1-b057-6537bfc49cc8')";
                                                          SQL statement:<br>
                                                          delete from
                                                          m_object where
                                                          id=? and oid=?
                                                          [23503-171]<br>
                                                          at
                                                          org.h2.message.DbException.getJdbcSQLException(DbException.java:329)<br>
                                                          at
                                                          org.h2.message.DbException.get(DbException.java:169)<br>
                                                          at
                                                          org.h2.message.DbException.get(DbException.java:146)<br>
                                                          at
org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:414)<br>
                                                          at
org.h2.constraint.ConstraintReferential.checkRowRefTable(ConstraintReferential.java:431)<br>
                                                          at
org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:307)<br>
                                                          at
                                                          org.h2.table.Table.fireConstraints(Table.java:873)<br>
                                                          at
                                                          org.h2.table.Table.fireAfterRow(Table.java:890)<br>
                                                          at
                                                          org.h2.command.dml.Delete.update(Delete.java:99)<br>
                                                          at
                                                          org.h2.command.CommandContainer.update(CommandContainer.java:75)<br>
                                                          at
                                                          org.h2.command.Command.executeUpdate(Command.java:230)<br>
                                                          at
                                                          org.h2.server.TcpServerThread.process(TcpServerThread.java:334)<br>
                                                          at
                                                          org.h2.server.TcpServerThread.run(TcpServerThread.java:150)<br>
                                                          at
                                                          java.lang.Thread.run(Thread.java:724)</p>
                                                        <p
                                                          style="margin:
                                                          0px; display:
                                                          inline;">at
                                                          org.h2.engine.SessionRemote.done(SessionRemote.java:568)<br>
                                                          at
                                                          org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:181)<br>
                                                          at
org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:156)<br>
                                                          at
org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:142)<br>
                                                          at
com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)<br>
                                                          at
                                                          sun.reflect.GeneratedMethodAccessor407.invoke(Unknown
                                                          Source)<br>
                                                          at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
                                                          at
                                                          java.lang.reflect.Method.invoke(Method.java:606)<br>
                                                          at
org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122)<br>
                                                          ... 121 more<br>
                                                        </p>
                                                      </code></div>
                                                  </li>
                                                </ul>
                                              </div>
                                            </span></li>
                                        </ul>
                                      </div>
                                    </span></li>
                                </ul>
                              </div>
                            </li>
                          </ul>
                        </div>
                      </div>
                    </li>
                  </ul>
                </div>
              </div>
            </div>
            <div style="font-family: Times New Roman; color: #000000;
              font-size: 16px">
              <hr tabindex="-1">
              <div id="divRpF109491" style="direction: ltr;"><font
                  color="#000000" face="Tahoma" size="2"><b>De :</b> <a
                    moz-do-not-send="true"
                    class="moz-txt-link-abbreviated"
                    href="mailto:midpoint-bounces@lists.evolveum.com">midpoint-bounces@lists.evolveum.com</a>
                  [<a moz-do-not-send="true"
                    class="moz-txt-link-abbreviated"
                    href="mailto:midpoint-bounces@lists.evolveum.com">midpoint-bounces@lists.evolveum.com</a>]
                  de la part de Radovan Semancik [<a
                    moz-do-not-send="true"
                    class="moz-txt-link-abbreviated"
                    href="mailto:radovan.semancik@evolveum.com">radovan.semancik@evolveum.com</a>]<br>
                  <b>Date d'envoi :</b> 30 septembre 2013 11:15<br>
                  <b>À :</b> <a moz-do-not-send="true"
                    class="moz-txt-link-abbreviated"
                    href="mailto:midpoint@lists.evolveum.com">midpoint@lists.evolveum.com</a><br>
                  <b>Objet :</b> Re: [midPoint] RE : RE : RE : RE : RE :
                  Namespace problem<br>
                </font><br>
              </div>
              <div>
                <div class="moz-cite-prefix">On 09/30/2013 04:10 PM,
                  Belleville-Rioux, Vincent wrote:<br>
                </div>
                <blockquote type="cite">
                  <style type="text/css" id="owaParaStyle"></style>
                  <div style="direction:ltr; font-family:Tahoma;
                    color:#000000; font-size:10pt">
                    <div>We have about 10k new students each semester
                      and also have about the same number of students
                      that get "offboarded" from some services due to
                      various reasons.</div>
                    <div><br>
                    </div>
                    <div>What we're trying to evaluate is how we could
                      automate such state changes so we can do something
                      like :</div>
                    <div><br>
                    </div>
                    <div>- 1 month before the start of the semester, all
                      students registered to at least one class will get
                      their account created / activated.  A notification
                      message will be sent.</div>
                    <div><br>
                    </div>
                    <div>- 12 months after the end of the last semester
                      where the student had at least one class, the
                      account will be deactivated and a notification
                      message will be sent.</div>
                  </div>
                </blockquote>
                <br>
                This is quite common scenario both in enterprise and
                academia. And this was actually a reason to create
                time-based mappings. Therefore it should work even in
                v2.2 but the limitation is that is should be applied to
                the entire account and not just a single role. The basic
                idea is like this:<br>
                <br>
                MidPoint user will be created in midPoint as soon as we
                know about such record. E.g. it can be synchronized from
                HR (or any equivalent academic source system). The key
                idea is that user's validFrom date will be set to
                onboarding date (or hire date or sunrise date or
                whateverYouCallIt ;-). The activation
                administrativeStatus of the user should be empty (null).
                This will cause that midPoint will compute effective
                user activation status based on validFrom, validTo and
                current date.<br>
                <br>
                Assign any roles to the user, e.g. using an object
                template. The roles should represent a state of the user
                as it should look like during semester. You do not need
                to specify any conditions in the object template
                mappings nor any conditions in the role outbound
                mappings. The roles can be assigned anytime, even before
                semester.<br>
                <br>
                Define a time-based activation mapping for the resources
                that you want to "pre-provision" or for whose you want
                to delay de-provisioning. An example is here: <a
                  moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://wiki.evolveum.com/display/midPoint/Resource+Schema+Handling%3A+Activation"
                  target="_blank">
https://wiki.evolveum.com/display/midPoint/Resource+Schema+Handling%3A+Activation</a>
                (see "Mapping Time Constraints" section).<br>
                <br>
                And that's it. Before the semester the user has all the
                roles, but as the time is before user's validFrom the
                activation mapping in the resource definitions will not
                be used and the accounts will not be created. When the
                semester starts the time passes through validFrom.
                MidPoint detects that (automatically) and the mapping
                will be evaluated differently. The accounts will get
                created. And similar mechanism also applies to delayed
                deprovisioning. The examples are actually slightly more
                complex than your requirement as they are set up to
                create a disabled account 5 days before onboarding and
                then enable it right on the onboarding date.<br>
                <br>
                The current limitation is that this applies to all
                accounts on the resource. If you want to apply it only
                to some accounts you have to play with the mapping
                conditions. This may be tricky but it should work.
                However, this is not the ideal way how to create
                maintainable system. Therefore we plan couple of
                improvements:<br>
                1: support account types (this is called "intent" in
                midPoint terminology), e.g. account type "user",
                "student", "admin", "tester", .... you can specify
                different mappings for each type. Most of the work on
                this feature is already done. But nobody stated that
                this is important enough to give us enough motivation to
                finally complete and test it. :-)<br>
                2: support similar time-based mappings in
                assignment/inducement conditions. In such a case you can
                specify this behaviour per role. This is slightly more
                difficult to finish, but still possible.<br>
                <br>
                <blockquote type="cite">
                  <div style="direction:ltr; font-family:Tahoma;
                    color:#000000; font-size:10pt">
                    <div>The startDate and endDate are properties we can
                      read from an SQL table (but I'm simulating that
                      with a CSV file for now).  I guess we'll have to
                      reconcile at least once a day because that table
                      will have updates to those dates as students use
                      our online tools to register / unregister
                      themselves to classes.<br>
                    </div>
                  </div>
                </blockquote>
                <br>
                If it is really a DB table and it has a timestamp column
                you may rely on livesync instead. It is more efficient
                and much faster. Use reconciliation just as a "last
                instance" in case that livesync missed something (e.g.
                due to bug in mapping script, because the system was
                down for a long time, etc.)<br>
                MidPoint is designed to use livesync as a primary
                mechanism as often as possible and use reconciliation
                only as a "safety net".<br>
                <br>
                Anyway, unlike some other IDM systems midPoint
                configuration is almost entirely the same whether you
                use livesync or reconciliation. Therefore it is easy to
                experiment with it and fine-tune the setup that works
                for you.<br>
                <br>
                <blockquote type="cite">
                  <div style="direction:ltr; font-family:Tahoma;
                    color:#000000; font-size:10pt">
                    <div>We should also have the ability to override
                      those values with other dates like "bannedOn" or
                      "temporaryExtension" :</div>
                    <div><br>
                    </div>
                    <div>The bannedOn date would make any student which
                      has that date as a non-null value be kept inactive
                      for 7 years from that date.</div>
                    <div><br>
                    </div>
                    <div>The temporaryExtension date would make any
                      student account active for 12 months from that
                      date, regardless of the endDate imported from SQL.</div>
                  </div>
                </blockquote>
                <br>
                Interesting requirement. Really. I quite like it :-) And
                I guess you can implement this behaviour by using the
                correct conditions in activation mappings. I quite
                wonder how "clean" or maintainable the result will be
                though. Anyway, it is worth trying. And if you find that
                you cannot do it or that it is unreadable and confusing
                then let me know. Maybe we could think about some way
                how to improve our mapping code to make it better.
                Maintainability of the system is very important for me.<br>
                <br>
                It is also import for you to realize whether these rules
                apply to users (students as physical persons), to
                accounts, or to assignments (relation of user to an
                account). As far as I know it is usual that a person may
                be a student on faculty X and work on faculty Y while
                the onboarding dates may be different. Then is would be
                best to store the dates in assignments. If this is the
                case then midPoint is designed to handle situation like
                this quite well. The system of "assignments" is designed
                primarily for this purpose. While most of the
                functionality for assignments is already there some
                pieces of code may still be missing (e.g. the assignment
                activation mappings). Therefore it may be best for you
                to start with a partial solution such as storing the
                dates in users. This can work well for a first phase of
                your project. And you can work with us to plan the
                required features in the roadmap so you can have it
                ready for subsequent phases. IDM projects are not
                deployed overnight therefore I believe that we can agree
                on a reasonable delivery dates that can work for you.<br>
                <br>
                <blockquote type="cite">
                  <div style="direction:ltr; font-family:Tahoma;
                    color:#000000; font-size:10pt">
                    <div>So, as you can see, dates are really useful for
                      our use cases.  I understand that this was added
                      rather quickly to 2.2.  Would you suggest we
                      upgrade our test environment to the latest
                      snapshots and try and follow the development from
                      there on?</div>
                  </div>
                </blockquote>
                <br>
                Not yet :-) .. if you decide to use time-based
                activation mappings then it should work well in 2.2. If
                you find some bug in this part we will fix it in 2.2.1
                as this is important feature. If you decide that you
                need more than activation mappings then there is no
                point to switching to the development branch yet. The
                code is not yet there. In such a case please let us know
                and we will figure out when we can deliver that. But I
                quite believe that activation mappings are almost
                entirely what you need now. And once you have your first
                version working we can talk about how to improve it in
                the future.<br>
                <br>
                <pre class="moz-signature" cols="72">-- 

                                           Radovan Semancik
                                          Software Architect
                                             evolveum.com
</pre>
              </div>
            </div>
          </div>
        </div>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
midPoint mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.evolveum.com/mailman/listinfo/midpoint">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
      </blockquote>
      <br>
      <pre class="moz-signature" cols="72">-- 
Ing. Viliam Repáň
Evolveum, s.r.o.

tel: +421 910 797978
mail: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:vilo.repan@evolveum.com">vilo.repan@evolveum.com</a>
</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
midPoint mailing list
<a class="moz-txt-link-abbreviated" href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</a>
<a class="moz-txt-link-freetext" href="http://lists.evolveum.com/mailman/listinfo/midpoint">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Ing. Viliam Repáň
Evolveum, s.r.o.

tel: +421 910 797978
mail: <a class="moz-txt-link-abbreviated" href="mailto:vilo.repan@evolveum.com">vilo.repan@evolveum.com</a>
</pre>
  </body>
</html>