Apps and development tools - IG User Management

Special features » IG User Management Services » Password change request

Customizing change requests

The IG User Management Services app design is a customizable design, meaning that you can change parts of it in your own design directory which is "overlayed" to the original design (see "Customizable designs" in the OpenWGA concepts and features documentation).

In order to use this you do the following:

  • Create an empty folder under the "designs" folder of your OpenWGA server installation. This folder will contain your customization design, often called "overlay".
  • In OpenWGA admin client open the configuration of the services web app and edit it. In section "Design Configuration" where it says "Design directory for customization" choose your just created folder and save the config

Now your new design folder will be filled with design resources representing the default functionality of the user management services: You can customize these resources for your own needs. Here is an overview of the created overlay design:


Customizing the "lost password" content module

The UI of the "lost password" CM module is contained in the folder "tml/html/content-modules/lost-password" of your overlay directory. There you find the following WebTML modules:

  • portlet.tml - The root design of this CM module. As the name states it is included as a plugin.
  • mode-view.tml - The initial mode of the module, displaying the "Lost password?" link
  • mode-entermail.tml - The second mode of the module, called after clicking the link. Allows to enter the mail address and trigger the request via button
  • mode-mailsent.tml - The last mode of the module after the request was triggered. Just displays some information
  • authoring.tml - A special module which is displayed when the module is shown inside Content Manager

Customizing the change request mails

The text for the mails that are sent for the change reuqest also originate from your overlay directory. They are stored in "files/mails". Note that they are no WebTML modules. Instead they are regular HTML which are enhanced via WebTML scriptlets that produce dynamic elements. The code inside is simply TMLScript code.

  • changerequest.html - The mail text for the first mail that contains the change request URL and access code. Note that all text originates from WebTML labels . The scriptlet displays the URL and access code for every user that has the requested E-Mail.
  • changerequest-singleuser.html - The text that is put out for every single user in scriptlet . Username, request URL and accesscode are given as WebTML variables cr_username, cr_url and cr_password.
  • changeconfirmation.html - The mail text of the second mail that informs abvout the changed password. The name of the user whose password has been changed is given as WebTML variable username.

Customizing the change request UI

The UI to actually perform the change request, which is addressed in the URL sent via mail, is defined in folder "tml/html/process-changerequest" of your overlay design:

  • main.tml - The main WebTML module that is called. Must be direct-accessible. It builds the base HTML
  • portlet.tml - The WebTML portlet containing the actual functionality
  • mode-view.tml - The first mode of the portlet displayed. Allows the input of the access code from the mail and vaildates it.
  • mode-change.tml - The second mode of the portlet after input of the access code. Allows to define the new password.
  • mode-success.tml - The last mode of the portlet after password change. Confirms the change.
  • mode-nodoc.tml - Special mode which is automatically entered if the change request requested in the URL does not exist.
  • mode-nokey.tml - Special mode which is automatically entered if the change request URL does not contain a key. By default offers another way to trigger a new change request by including the "lost password" CM module.
  • mode-alreadyprocessed.tml - Special mode which is automatically entered if the change request requested in the URL already has been processed.