Skip to content
OpenCms documentation
OpenCms documentation

Person data search app

According to actual data privacy policies, users of a website have the right to know which data related to their person is stored by a website. Owners of websites are obliged to provide appropriate information in case of a user request. It is possible that sensitive user data is stored in OpenCms. The Person data search app helps to find such data.

Personal data in OpenCms appears in different situations, for example when:

  • a new workplace account is created for an editor
  • a webuser account is created for login to a password protected area
  • a non-registered user sends a form with personal data
  • a user registers for a newsletter or an event

So, there is personal data of end-users, who are not registered with an account in OpenCms. And there is personal data for registered users. Mostly, registered users are editors or administrators with OpenCms workplace access, sometimes they are just web users with read access to a password protected area.

Registered users. Registered users are created with the Accounts app. The user data is stored in the form of account data. Since the structure of account data is known, the person data search app in this case knows how to search for personal data.

Non-registered users. In this case, mostly a form is sent to OpenCms, and the data is stored in XML contents, where the structure of the form and structure of the XML content is variable. In order for the person data search app to identify personal data in such form-generated XML contents, a Java handler must be provided for each content type that understands the individual content structure.

Personal data stored in XML contents will only be found by the Person data search app if a Java handler is available for the respective XML content type. If there is no such handler, personal data in XML contents is not found.

The Person data search app is available via the Launchpad. It is available for Administrators only.

User interface of the person data search app

The user interface of the Person data search app is divided into three areas:

Search for data. The search for data area can be used to search for personal data in XML contents. There is a search field named Email to find an exact, though case insensitive match for an email address. One or more Text fields can be used to search for other person data in XML contents, such as the first name or the family name.

As mentioned above, this type of search only works for content types that are supported by a respective plugin.

Search for user. Searches the account data of registered users. To find a user account, open the Select user dialog by clicking on the user icon at the right outer edge.

Results. Displays the personal data found in the form of a table.


Java handlers that search for personal data in XML contents are registered in the WEB-INF/config/opencms-system.xml configuration file below the <userdata> element:

<userdata autoload="true">

As a default, the CmsDefaultUserDataDomain handler is registered here that searches for personal data in OpenCms accounts. Any other handlers to search in XML contents can be registered here. Handlers must implement the I_CmsUserDataDomain interface.

An alternative way to register a handler is by using a Java service loader. See the webform data loader class and the service registration in the webform module of the Mercury template as an example.