Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
devel:documentation:modules_extras [2019/09/25 14:17]
kolycheva [SSO autehentificate]
devel:documentation:modules_extras [2020/02/18 10:04]
sourek
Line 1: Line 1:
 ====== CzechIdM - extras ====== ====== CzechIdM - extras ======
-CzechIdM - extras contains various features, which are not suited to be in any other module. List of the currently supported features is bellow.+CzechIdM - extras contains various features, which are not suited to be in any other module. List of the currently supported features is below.
  
 Currently supported CzechIdM version : 9.2.2 Currently supported CzechIdM version : 9.2.2
  
 ===== Developing and releasing ===== ===== Developing and releasing =====
-<note important>Code contributions missing tests and/or documentation will be rejected. If such code is somehow present in the ''develop'' branch, the ''develop'' is considered unstable and no new releases of the module (and merges into ''master'') can be made.</note>+How to develop a new feature in extras: 
 + 
 +  - Create a specification page in private section and consult it with module owner and other colleagues. Specification page should contain: 
 +   - Usecases - why we or user need this feature, what problem does it solve? 
 +   - Why is it in extras and not in core, or other module? 
 +   - Functional specification - how should it work, edge cases 
 +  - Ask a module owner, if this feature can be a part of extras and in which version it will be published 
 +  - Create ticket in Redmine with final requirements and with correct target version 
 +  - Implement the feature in a separate GIT branch 
 +  - Create merge request to develop or LTS version 
 +  - Get someone from product team, or module owner to review your changes 
 +  - After successfull review, ask module owner to merge you code 
 + 
 +Rules for code review: 
 +  * All new features have at least 80 percent test coverage 
 +  * All features are documented (tutorials are welcomed and may even be required if the feature is complicated) 
 +  * There are no sonar issues in commited code 
 +  * Changelog is updated 
 +  * Feature is by default turned off (can be enabled either by processor, or configuration property) 
 + 
 + 
 +<note important>If your code does not meet the requirements mentioned above, it may be rejected.</note>
  
   * When developing, use our standard gitflow:   * When developing, use our standard gitflow:
Line 53: Line 74:
  
 Other thing you need to do is to enable service ExtrasIdmConceptRoleRequestService. This service is by default turned off in extras module. Other thing you need to do is to enable service ExtrasIdmConceptRoleRequestService. This service is by default turned off in extras module.
-Go to your project modul and create new service which will inherit from ExtrasIdmConceptRoleRequestService and add annotation Primary and Service+Go to your project modul and create new service which will inherit from ExtrasIdmConceptRoleRequestService and add annotation Primary and Service
 + 
 +Update IdmConceptRoleRequestDto is allowed everybody that will change only audited fields or systemState field (this is for update state of whole request after retry mechanism or approving virtual request).
  
 ===== Report Compare values in IdM with values in system ===== ===== Report Compare values in IdM with values in system =====
 Report will compare value of attributes with connected system. Connected system does not need to be in read only. Report will compare value of attributes with connected system. Connected system does not need to be in read only.
 More information is available here: [[tutorial:adm:report_compare_value_idm_to_system|]] More information is available here: [[tutorial:adm:report_compare_value_idm_to_system|]]
 +
 +===== Notification about the end of identity's last contract =====
 +A notification about the end of identity's last contract will be sent to those who have a specified role assigned and optionally the manager of the user. A different notification can be sent before the contract ends and when it ends. 
 +More information is available here: [[tutorial:adm:notification_-_identity_s_last_contract_is_ending|]]
 +
 +===== Get titles before and after =====
 +Almost every project receive all titles in one string and IdM allow separates titles before and after. For this case was created in *ExtrasUtils* two methods *getTitlesAfter* and *getTitlesBefore*. And transformation scripts *extrasGetTitlesBefore* and *extrasGetTitlesAfter*, transformation scripts calls method from utils.
 +
 +Dictionary with titles can be setup by configuration properties. Default values exists.
 +<code>
 +idm.sec.extras.configuration.titlesAfter="Ph.D.", "Th.D.", "CSc.", "DrSc.", "dr. h. c.","DiS.", "MBA"
 +idm.sec.extras.configuration.titlesBefore="Bc.", "BcA.", "Ing.", "Ing. arch.", "MUDr.","MVDr.", "MgA.", "Mgr.", "JUDr.", "PhDr.", "RNDr.", "PharmDr.", "ThLic.", "ThDr.", "prof.", "doc.","PaedDr.", "Dr.", "PhMr."
 +</code>
 +
 +===== Import automatic roles on tree nodes =====
 +You can use this tool to create automatic roles which are assigned based on the position within the organization structure using a CSV file as a source. 
 +More information is available here: [[tutorial:adm:import_automatic_roles_on_tree_nodes|]]   
 +
 +===== Groups synchronization workflow  =====
 +Since module version **1.4.0** was exists better workflow for groups synchronization than in core. This workflow has same features as product. In product will be available same feature as this workflow but with configuration from GUI. 
 +
 +Documentation for configuration is available [[tutorial:dev:ad_groups_sync_workflow|]].
  • by sourek