<html theme="sea-dweller"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head><body style="color: rgb(0, 0, 0);" text="#000000">Hello Pavol,<br>
<br>
Thank you so much for pointing me in the right direction. This may
still be a bit over my head, but I think I
understand how this would work. I'm thinking this would be a Global
Policy Rule since it's not part of a Role or Service assignment. Is
that right?<br>
<br>
Also, just to verify I'm using the right the focusSelector: Since I'm
wanting to watch for changes on a User Attribute, would I be using
UserType?<br>
<br>
Since I am only wanting to act on modifications to a single existing
attribute value
(and ignore the initial value insertion) would my policyConstraints look
something like what I have below?<br>
<br>
I'm hoping something like this might be close:<br>
<span style="font-size: 14px;"></span><code class="xml plain"
style="font-family: Consolas, "Bitstream Vera Sans Mono",
"Courier New", Courier, monospace; border-radius: 0px;
background: none; border: 0px; bottom: auto; float: none; height: auto;
left: auto; line-height: 20px; margin: 0px; outline: 0px; overflow:
visible; padding: 0px; position: static; right: auto; text-align: left;
top: auto; vertical-align: baseline; width: auto; box-sizing:
content-box; font-weight: normal; font-style: normal; font-size: 14px;
min-height: inherit; color: rgb(0, 0, 0) !important;"></code><systemConfiguration><br>
...<br>
<globalPolicyRule><br>
<name>watch-for-change-in-systemA_ID-value</name><br>
<policyConstraints><br>
<modification><br>
<operation>modify</operation><br>
<item>extension/systemA_ID</item><br>
</modification><br>
</policyConstraints><br>
<policyActions><br>
????<br>
</policyActions><br>
<focusSelector><br>
<type>UserType</type><br>
</focusSelector><br>
</globalPolicyRule><br>
...<br>
</systemConfiguration><br>
<code class="xml plain" style="font-family: Consolas, "Bitstream
Vera Sans Mono",
"Courier New", Courier, monospace; border-radius: 0px;
background: none; border: 0px; bottom: auto; float: none; height: auto;
left: auto; line-height: 20px; margin: 0px; outline: 0px; overflow:
visible; padding: 0px; position: static; right: auto; text-align: left;
top: auto; vertical-align: baseline; width: auto; box-sizing:
content-box; font-weight: normal; font-style: normal; font-size: 14px;
min-height: inherit; color: rgb(0, 0, 0) !important;"></code>
<div class="line number10 index9 alt1" style="margin: 0px; padding: 0px
1em 0px 0em; border-radius: 0px; background: none rgb(255, 255, 255);
border: 0px; bottom: auto; float: none; height: auto; left: auto;
line-height: 20px; outline: 0px; overflow: visible; position: static;
right: auto; text-align: left; top: auto; vertical-align: baseline;
width: auto; box-sizing: content-box; font-family: Consolas,
"Bitstream Vera Sans Mono", "Courier New", Courier,
monospace; font-weight: 400; font-style: normal; font-size: 14px;
min-height: inherit; white-space: nowrap; color: rgb(51, 51, 51);
font-variant-ligatures: normal; font-variant-caps: normal;
letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform:
none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration-style: initial; text-decoration-color: initial;"><code
class="xml plain" style="font-family: Consolas, "Bitstream Vera
Sans Mono",
"Courier New", Courier, monospace; border-radius: 0px;
background: none; border: 0px; bottom: auto; float: none; height: auto;
left: auto; line-height: 20px; margin: 0px; outline: 0px; overflow:
visible; padding: 0px; position: static; right: auto; text-align: left;
top: auto; vertical-align: baseline; width: auto; box-sizing:
content-box; font-weight: normal; font-style: normal; font-size: 14px;
min-height: inherit; color: rgb(0, 0, 0) !important;"><br>
</code></div>
And finally, is there a list somewhere or samples of the possible
policyActions? <br>
<br>
Thank you again for your response. I appreciate it even if you don't
have time to answer all my follow up questions. :-)<br>
Brad<br>
<br>
<br>
<br>
<blockquote type="cite"
cite="mid:mailman.5.1596621601.11405.midpoint@lists.evolveum.com"><pre wrap="">Date: Tue, 4 Aug 2020 20:45:41 +0200
From: Pavol Mederly <a class="moz-txt-link-rfc2396E" href="mailto:mederly@evolveum.com"><mederly@evolveum.com></a>
To: <a class="moz-txt-link-abbreviated" href="mailto:midpoint@lists.evolveum.com">midpoint@lists.evolveum.com</a>
Subject: Re: [midPoint] Notification or approval for attribute change
Message-ID: <a class="moz-txt-link-rfc2396E" href="mailto:b7df03f1-fe9a-b486-3a06-3c44d562b454@evolveum.com"><b7df03f1-fe9a-b486-3a06-3c44d562b454@evolveum.com></a>
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Hello Brad,
you could have a look at policy rules
<a class="moz-txt-link-rfc2396E" href="https://wiki.evolveum.com/display/midPoint/Policy+Rules"><https://wiki.evolveum.com/display/midPoint/Policy+Rules></a>. In
particular, using policy conditions you can recognize situations when
object is modified (i.e. not added nor deleted) and specific property is
changed. And using policy actions you can do whatever you need, e.g.
send notification ("notification" action), initiate approval ("approval"
action), do any change ("scriptExecution" action), etc.
Setting of current timestamp value to a database table (attached to the
user as a resource) should be doable also using mappings, provided that
appropriate condition (user is not new) is written.
Best regards,
Pavol Mederly
Software developer
evolveum.com
On 04/08/2020 20:40, Brad Firestone wrote:
</pre>
<blockquote type="cite"><pre wrap="">Hi All,
I have a situation where a certain User attribute might be changed by
multiple people. If that attribute value is changed, we'd like to
either set a different attribute value on a certain database table
resource, or send a notification that the attribute value was changed.
Or if there was a way to run that attribute value change through an
approval process, that would work too.
Here's an example:
Existing (extension) attribute: SystemA_ID
If a new user is created, populate the database table with the initial
value, no notification needed.
If SystemA_ID value is changed through an administrative action in the
GUI (user channel) do one of the following:
- send a notification email to a certain address to advise them of
the change. OR..
- place a current timestamp value in a separate column in the database
table such as: SystemA_ID_changeDate. OR...
-initiate an approval process to approve the value change of this
extension attribute.
Does anyone have any ideas of how to accomplish this? Thanks for any
suggestions!
Brad
</pre></blockquote></blockquote>
<br>
</body></html>