Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
tutorial:adm:virtual_system_-_adding_or_deleting_managed_extended_attributes [2019/06/05 12:45] doischert created |
tutorial:adm:virtual_system_-_adding_or_deleting_managed_extended_attributes [2020/03/03 13:20] (current) poulm logické členění |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Virtual system - adding | + | ====== Virtual system - adding |
{{tag> system virtual tutorial extended attributes}} | {{tag> system virtual tutorial extended attributes}} | ||
Line 5: | Line 5: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | After you've connected a virtual system to CzechIdM (see the tutorial [[https:// | + | After you've connected a virtual system to CzechIdM (see the tutorial [[tutorial:adm:how_to_create_virtual_system|here]]), you may need to add some extended attributes which are present in the connected system. To achieve this, make sure you have 1) connected the virtual system, 2) have admin set as the implementer, |
Let's assume that the managed system contains the information about the building in which each person has their office. To add this information to the IdM, we have to follow several steps. | Let's assume that the managed system contains the information about the building in which each person has their office. To add this information to the IdM, we have to follow several steps. | ||
Line 13: | Line 13: | ||
First, click on Setting in the left panel and choose Form definitions. In the list, find idmIdentity and open it (with the magnifying glass). After that, select Form Attributes and click the green Add button. Only two fields are required: Code, and Name. Make sure you change the Attribute type from default (Short text) if the type is different. You can also set e. g. a default value or a validation using regular expressions if it makes sense in the specific case. Once you've finished, click Save. | First, click on Setting in the left panel and choose Form definitions. In the list, find idmIdentity and open it (with the magnifying glass). After that, select Form Attributes and click the green Add button. Only two fields are required: Code, and Name. Make sure you change the Attribute type from default (Short text) if the type is different. You can also set e. g. a default value or a validation using regular expressions if it makes sense in the specific case. Once you've finished, click Save. | ||
- | {{: | + | {{ : |
+ | {{ : | ||
- | {{: | + | ===== Step 2: add the attribute to VS configuration ===== |
- | + | ||
- | ===== Step 2: add the attribute to configuration ===== | + | |
Click Virtual systems in the left panel and select List. Open you virtual system and select Configuration. Add your attribute (building) to the list of attributes and click on save. | Click Virtual systems in the left panel and select List. Open you virtual system and select Configuration. Add your attribute (building) to the list of attributes and click on save. | ||
- | {{: | + | {{ : |
===== Step 3: modify scheme and mapping ===== | ===== Step 3: modify scheme and mapping ===== | ||
+ | ==== 3a - scheme ==== | ||
+ | |||
Click Scheme in your virtual system. You should only see ACCOUNT; open it with the magnifying glass. In Scheme attributes, click the green Add button. In here, fill out the name of the attribute (building), its data type (java.lang.String in this case), and check boxes for Able to read, Able to create, Able to edit, and Returned by default. Click save. | Click Scheme in your virtual system. You should only see ACCOUNT; open it with the magnifying glass. In Scheme attributes, click the green Add button. In here, fill out the name of the attribute (building), its data type (java.lang.String in this case), and check boxes for Able to read, Able to create, Able to edit, and Returned by default. Click save. | ||
- | {{: | + | {{ : |
+ | |||
+ | {{ : | ||
+ | ==== 3b - mapping ==== | ||
- | {{: | ||
After that, we have to add the attributes to the mapped attributes. Click Mapping and open Provisioning where you will see the list of mapped attributes. Click Add. Select the Attribute in schema (building). Check the box Extended attr. and fill out the desired IdM key. Click Save. | After that, we have to add the attributes to the mapped attributes. Click Mapping and open Provisioning where you will see the list of mapped attributes. Click Add. Select the Attribute in schema (building). Check the box Extended attr. and fill out the desired IdM key. Click Save. | ||
- | {{: | + | {{ : |
- | {{: | + | {{ : |
+ | |||
+ | <note important> | ||
===== Step 4: check the functionality ===== | ===== Step 4: check the functionality ===== | ||
Line 41: | Line 46: | ||
If you open the details of a user with a role defined in the virtual system (with the magnifying glass), click Show full details and select More information, | If you open the details of a user with a role defined in the virtual system (with the magnifying glass), click Show full details and select More information, | ||
- | {{: | + | {{ : |
Now go to Virtual systems in the left panel and click Requests. You should now see that there is a new request. If you open it you will see in the detail that the attribute has changed. Also, if you click Notifications and Notifications history in the left panel, you will see that the implementer has been notified that they should make the change in the system they manage and then confirm they' | Now go to Virtual systems in the left panel and click Requests. You should now see that there is a new request. If you open it you will see in the detail that the attribute has changed. Also, if you click Notifications and Notifications history in the left panel, you will see that the implementer has been notified that they should make the change in the system they manage and then confirm they' | ||
- | {{: | + | {{ : |
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Deleting attributes on virtual systems ===== | ||
+ | |||
+ | Some of the attributes may be superfluous in some cases, e. g., a system which only needs identity' | ||
+ | |||
+ | Removing these attributes is similar in process to creating them - basically, we have to retrace our steps and undo the changes we've made in steps 1, 2 and 3. | ||
+ | |||
+ | If you want to stop provisioning an attribute which is present in other systems you have to do even fewer changes. This can be relevant in the above mentioned phone number case. In this case, undo only steps 2 and 3. | ||
+ | |||
+ | <note tip> | ||
+ | If you want to remove an attribute from a virtual system which was already used, so it has existing virtual accounts with this attribute filled, you have to remove the values of the accounts' | ||
+ | </ | ||
+ | |||
+ | First, remove the mapping of the attribute. Click Virtual systems, List, Mapping, and Provisioning. Check the checkbox next to the attribute you want to remove. Above the list, a new dialog should appear, Operation with selected record. Click and choose Remove. Click Yes. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Then move to Scheme, click ACCOUNT. Check the checkbox next to the attribute you want to remove. Above the list, a new dialog should appear, Operation with selected record. Click and choose Remove. Click Yes. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Then go to Configuration, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Next, delete the attribute from the Form definitions of VsAccount. Click Form definitions in Settings, find the VsAccount item, check under Name that this is the virtual system from which you are removing the attribute. Open the item using the magnifying glass. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Go to Form Attributes, check the box next to the attribute you want to remove and click on Operation with selected record, choose Remove and click Yes. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | If this operation fails with the message that there are already some values, you must go to the IdM database and delete those values by SQL. It's strongly recommended to make a backup of the database prior to this action. | ||
+ | |||
+ | <code sql> | ||
+ | -- Check the values you are about to delete - change the code of your attribute and your system name -- | ||
+ | SELECT * FROM vs_account_form_value WHERE attribute_id IN (SELECT id FROM idm_form_attribute WHERE code=' | ||
+ | |||
+ | -- Delete the values | ||
+ | DELETE FROM vs_account_form_value WHERE attribute_id IN (SELECT id FROM idm_form_attribute WHERE code=' | ||
+ | </ | ||
+ | |||
+ | Then you can remove the attribute from the Form Attributes as written above. | ||
+ | |||
+ | The attribute is still present in the detail of the user; however, it is no longer connected to the virtual system and the implementer will not be notified when the attribute' | ||
+ | |||
+ | If you want to remove the attribute from the IdM entirely, you have to undo step 1 as well. Please note, however, that if any role has this attribute filled in (not empty), you will not be able to remove the attribute. Go to Settings, Configuration, | ||
+ | |||
+ | {{ : | ||
- | {{: |