<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.czechidm.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.czechidm.com/feed.php">
        <title>IdStory Identity Manager - tutorial:dev:groovy_scripts</title>
        <description></description>
        <link>https://wiki.czechidm.com/</link>
        <image rdf:resource="https://wiki.czechidm.com/_media/wiki/logo.png" />
       <dc:date>2026-04-26T23:22:35+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/converstringtolocaldate?rev=1610553993&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/covert_objectsid_to_string?rev=1713795311&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/custom_filter_for_synchronization?rev=1539775733&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/extras_status_lrt_cancel?rev=1776672142&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/get_eav_of_code_list_item?rev=1775594104&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/get_identity_by_personal_number?rev=1670439020&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/get_inherited_eav_from_work_position?rev=1634037380&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/get_manager_of_users?rev=1677593804&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/getfullname?rev=1533924104&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.czechidm.com/_media/wiki/logo.png">
        <title>IdStory Identity Manager</title>
        <link>https://wiki.czechidm.com/</link>
        <url>https://wiki.czechidm.com/_media/wiki/logo.png</url>
    </image>
    <item rdf:about="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/converstringtolocaldate?rev=1610553993&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-01-13T16:06:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Convert String to LocalDate</title>
        <link>https://wiki.czechidm.com/tutorial/dev/groovy_scripts/converstringtolocaldate?rev=1610553993&amp;do=diff</link>
        <description>Convert String to LocalDate

This script converts String to LocalDate.

This is useful e.g. as a transformation script for fields &quot;validTill&quot; or &quot;validFrom&quot; of contracts when you synchronize contracts from some CSV or DB system.

Another uses may be to convert String to LocalDateTime for EAVs or synchronization tokens.</description>
    </item>
    <item rdf:about="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/covert_objectsid_to_string?rev=1713795311&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-22T14:15:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Convert objectSID (byte[]) to String</title>
        <link>https://wiki.czechidm.com/tutorial/dev/groovy_scripts/covert_objectsid_to_string?rev=1713795311&amp;do=diff</link>
        <description>Convert objectSID (byte[]) to String

If you need to work with String value of ObjectSID which you can get from AD system you need to transform it, because connector will return it as byte array. For this purpose you can use method in Extras 1.8.0 ExtrasUtils::convertSidToStr If you don't have Extras modul on your project use the following groovy script</description>
    </item>
    <item rdf:about="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/custom_filter_for_synchronization?rev=1539775733&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-17T11:28:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Custom filter for synchronization</title>
        <link>https://wiki.czechidm.com/tutorial/dev/groovy_scripts/custom_filter_for_synchronization?rev=1539775733&amp;do=diff</link>
        <description>Custom filter for synchronization

The following groovy script can be used for selecting multiple accounts for synchronization as a custom filter. With this settings, the synchronization processes accounts with CNT_ID in (942512, 945036, 998516, 945288).

Note that you can't use multiple OR clauses due to a bug in ConnId (</description>
    </item>
    <item rdf:about="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/extras_status_lrt_cancel?rev=1776672142&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-20T08:02:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Script to restart stuck tasks - extras status lrt cancel</title>
        <link>https://wiki.czechidm.com/tutorial/dev/groovy_scripts/extras_status_lrt_cancel?rev=1776672142&amp;do=diff</link>
        <description>Script to restart stuck tasks - extras status lrt cancel

This script finds all stuck long running tasks with the given descriptions to cancel and restart them if they are taking longer than the specified time since their last processed item.

This is necessary because some long running tasks may fail to complete their run and waiting for them blocks the whole cascade of scheduled tasks.</description>
    </item>
    <item rdf:about="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/get_eav_of_code_list_item?rev=1775594104&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-07T20:35:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Get EAV of code list item.</title>
        <link>https://wiki.czechidm.com/tutorial/dev/groovy_scripts/get_eav_of_code_list_item?rev=1775594104&amp;do=diff</link>
        <description>Get EAV of code list item.

This script can be used as a transformation script in the provisioning mapping. It is designed for scenarios where the transformed attribute is mapped directly to an identity EAV attribute containing the code of a code list item. In such cases, `attributeValue` already provides the item code used to identify the corresponding record in the code list.</description>
    </item>
    <item rdf:about="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/get_identity_by_personal_number?rev=1670439020&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-07T18:50:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Get identity by personal number (externalCode)</title>
        <link>https://wiki.czechidm.com/tutorial/dev/groovy_scripts/get_identity_by_personal_number?rev=1670439020&amp;do=diff</link>
        <description>Get identity by personal number (externalCode)

This script finds identity based on its personal number (externalCode).

This is useful as a transformation script for the required field &quot;identity&quot; = Owner (IdmIdentity - Id or username) when you synchronize contracts from some source system, where the owner is defined only by the personalnumber.</description>
    </item>
    <item rdf:about="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/get_inherited_eav_from_work_position?rev=1634037380&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-12T11:16:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Get EAV for users inherited from the organization structure</title>
        <link>https://wiki.czechidm.com/tutorial/dev/groovy_scripts/get_inherited_eav_from_work_position?rev=1634037380&amp;do=diff</link>
        <description>Get EAV for users inherited from the organization structure

This script can be used as a transformation script to the system - in the provisioning mapping. We have an attribute, which should be computed for the users based on their position in the organization structure. The value is computed by the prime work position of the user and if the position doesn't specify the value, then its parents in the organization structure (recursively) may specify the value.</description>
    </item>
    <item rdf:about="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/get_manager_of_users?rev=1677593804&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-28T14:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Get manager of users</title>
        <link>https://wiki.czechidm.com/tutorial/dev/groovy_scripts/get_manager_of_users?rev=1677593804&amp;do=diff</link>
        <description>Get manager of users

This script can be used as a transformation script to the system - in the provisioning mapping. The script will return the direct manager of the prime contract of a user.

Script


import eu.bcvsolutions.idm.core.api.dto.IdmIdentityContractDto;
import eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto;
import eu.bcvsolutions.idm.core.api.dto.filter.IdmIdentityFilter;

org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(&quot;customGetManager&quot;);

IdmIdentityContractDto primeCon…</description>
    </item>
    <item rdf:about="https://wiki.czechidm.com/tutorial/dev/groovy_scripts/getfullname?rev=1533924104&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-10T18:01:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>getFullname - create fullname</title>
        <link>https://wiki.czechidm.com/tutorial/dev/groovy_scripts/getfullname?rev=1533924104&amp;do=diff</link>
        <description>getFullname - create fullname

Puts the full name from the first name and surname.

Script


StringBuilder name = new StringBuilder();
String firsName = entity.getFirstName();
String surname = entity.getLastName();

if (firsName) {
    name.append(firsName);
}

if (surname) {
	name.append(' ');
    name.append(surname);
}

name.toString();</description>
    </item>
</rdf:RDF>
