[midPoint] HTML in E-mail Notifications
Pavol Mederly
mederly at evolveum.com
Fri Apr 14 00:18:16 CEST 2017
PS: actually, your code should produce a NullPointerException in the
log, as assignee should be null. Isn't it so?
If I'm not mistaken, the correct recipientExpression for your situation
should do something like:
1. take event.workItem.candidateRolesRef array (it should have one
element: the reference to Org to which the item is assigned)
2. find all the members using e.g. the approach I mentioned in previous
mail
3. return all email addresses of these users
Pavol Mederly
Software developer
evolveum.com
On 14.04.2017 0:02, Pavol Mederly wrote:
> Hello Alex,
>
> this is a bit tricky. The support for candidate approvers (the ones
> that get their work items under "items claimable by me") is a bit
> half-hearted, so to say. It basically works, but there are some
> missing pieces, like notifications (as you found out), maybe auditing,
> maybe delegation/escalation (in 3.6), and so on. Some of these might
> work but I'm not sure they all were properly implemented and tested.
>
> If I would have a bit of time, I would try to fix that for 3.6.
> Unfortunately, there's really too little chance to get enough time; so
> it will probably stay as it is: unfinished in these aspects.
>
> I see these options for you:
>
> 1. In 3.6, there will be a possibility to set "groupExpansion =
> onWorkItemCreation" that will expand orgs and roles statically, at
> the time of work item creation (i.e. when entering an approval
> level/stage). So, in your case, each member of those organizations
> will get his own work item, along with proper notifications,
> escalation/delegation options, auditing, and so on.
> 2. But even in 3.5, it is possible to emulate this "groupExpansion"
> option by using approverExpression: just provide a script that
> will return OIDs of all members of the specified org. An example
> is at the end of this message.
> 3. Alternatively, you can go with existing approach (candidate
> approvers). The reason why you do not get any notifications is
> that the default recipient for "work item created" notification
> (in 3.5) is the work item assignee. In your case, there is no
> assignee. But you could use <recipientExpression> element to
> provide a scripting expression that would return the email
> address(es) to which the notification should be sent. (At least I
> think this should work.)
>
> Hope this would help. Or maybe someone on the list can see another
> idea. If not, we could perhaps return to this issue after Easter holidays.
>
> --
> Example of approver-finding expression (not tested ... but you will
> certainly be able to make it work):
>
> import com.evolveum.midpoint.prism.query.builder.QueryBuilder
> import com.evolveum.midpoint.xml.ns._public.common.common_3.*
>
> def q = QueryBuilder.queryFor(UserType.class, midpoint.prismContext)
> .isDirectChildOf(".......oid...of...your...org............")
> .build()
> def users = midpoint.searchObjects(UserType.class, q, null)
> return users.collect { it.oid }
>
> Pavol Mederly
> Software developer
> evolveum.com
>
> On 13.04.2017 19:24, Doler, Alexander Earl (LATCO - Buenos Aires) wrote:
>>
>> Hi Pavol and Jason,
>>
>> I was able to port the changes from Github as you indicated and
>> recompile the application, and it works perfectly now! I am able to
>> add HTML content to the e-mail notifications. Thank you for your help.
>>
>> Additionally, I have another question regarding notifications. Some
>> roles in my environment have between one and three levels of approval
>> before being assigned. The first approval goes to the user’s manager,
>> which is assigned directly as a schema-extension object. The approval
>> notification arrives fine to this first approver. However, in the
>> cases where there are 2-3 approvers, these subsequent approvers are
>> members of sub-organizations, and only one member needs to approve
>> the item for it to be approved. The approval request arrives to the
>> users under “items claimable by me,” rather than “My items.”
>> Crrently, no e-mail notification is sent to any of these approvers. I
>> would like all of the members these sub-organizations to receive an
>> e-mail notification to approve the item. I have the notification
>> handler configured as follows:
>>
>> <handler>
>>
>> <simpleWorkflowNotifier>
>>
>> <category>workItemEvent</category>
>>
>> <operation>add</operation>
>>
>> <recipientExpression>
>>
>> <script>
>>
>> <code>
>>
>> assignee.getEmailAddress();
>>
>> </code>
>>
>> </script>
>>
>> </recipientExpression>
>>
>> <transport>mail</transport>
>>
>> </simpleWorkflowNotifier>
>>
>> </handler>
>>
>> Again, only the first approver receives an e-mail notification, but
>> after it is approved, the subsequent approvers are not notified by mail.
>>
>> Thanks again!
>>
>> Alex
>>
>> *From:*midPoint [mailto:midpoint-bounces at lists.evolveum.com] *On
>> Behalf Of *Pavol Mederly
>> *Sent:* miércoles, 12 de abril de 2017 1:33 p. m.
>> *To:* midpoint at lists.evolveum.com
>> *Subject:* Re: [midPoint] HTML in E-mail Notifications
>>
>> Jason,
>>
>> you are right. But - interestingly enough - Michael did the
>> implementation for version 3.4.x first (because he used this one at
>> that time), so actually the feature is present in 3.4.x and in
>> (prepared) 3.6. :)
>>
>> See:
>> https://github.com/Evolveum/midpoint/commit/f367a02a8b2c30b2a5b06036c082af252c533129
>> https://github.com/Evolveum/midpoint/commit/441f4dc796338b53f704fc5b8d0ea8fd8a2f634c
>>
>> Alex:
>>
>> Perhaps it would not be a big issue to port it to 3.5.x (either this
>> one or an independently created implementation that is present here
>> <https://github.com/Evolveum/midpoint/commit/2ebd620b70bff76fcbc5c276ea610ec2d9c55516>).
>> If you like, you can try to build 3.5.x from sources, with one of the
>> above implementations applied. The latter would be perhaps easier to
>> apply, because it is very limited in functionality and basically
>> comprises only a few lines of code.
>>
>> Best regards,
>>
>> Pavol Mederly
>> Software developer
>> evolveum.com
>>
>> On 12.04.2017 18:19, Jason Everling wrote:
>>
>> It was added in 3.6 according to the JIRA entry,
>> https://jira.evolveum.com/browse/MID-2072
>> <https://jira.evolveum.com/browse/MID-2072> , another reason why
>> I need to get ours updated.
>>
>> JASON
>>
>> On Wed, Apr 12, 2017 at 10:37 AM, Doler, Alexander Earl (LATCO -
>> Buenos Aires) <adoler at deloitte.com <mailto:adoler at deloitte.com>>
>> wrote:
>>
>> Hello,
>>
>> I was wondering if HTML is currently supported for e-mail
>> notifications as of Midpoint 3.5 or 3.5.1, or if it is
>> planned for an upcoming release?
>>
>> I have tried adding the tags in the notification
>> configuration as follows, in order to permit the
>> bodyExpression to read HTML.
>>
>> <contentTypeExpression>
>>
>> <value>text/html; charset=utf-8</value>
>>
>> </contentTypeExpression>
>>
>> However, the contentTypeExpression tag is not recognized when
>> I save the SystemConfiguration XML file. I am currently using
>> version 3.5.1.
>>
>> Best regards,
>>
>> Alex
>>
>>
>> _______________________________________________
>> midPoint mailing list
>> midPoint at lists.evolveum.com <mailto:midPoint at lists.evolveum.com>
>> http://lists.evolveum.com/mailman/listinfo/midpoint
>>
>>
>>
>>
>> _______________________________________________
>>
>> midPoint mailing list
>>
>> midPoint at lists.evolveum.com <mailto:midPoint at lists.evolveum.com>
>>
>> http://lists.evolveum.com/mailman/listinfo/midpoint
>>
>>
>>
>> _______________________________________________
>> midPoint mailing list
>> midPoint at lists.evolveum.com
>> http://lists.evolveum.com/mailman/listinfo/midpoint
>
>
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20170414/18b9cc8e/attachment.htm>
More information about the midPoint
mailing list