User manual v1.0.0, v1.1.0, v1.2.0, v1.3.0

  1. The people
    1. Importing and synchronizing populations
    2. Search for content generated by a population
    3. Population-generated content editing
  2. Publication of a directory
    1. Virtual population tree
    2. Population research service
    3. Display a population member's record in a page
  3. Direct searches on external directories LDAP
    1. Define connections and search LDAP external
    2. External directory search service

The people

A population is a set of users/members from the same data source (LDAP, SQL, ...).

User "populations" are defined by the integrator in the file XML WEB-INF/param/user-populations.xml (see Plugin Directories - Integration manual v1.1.0)

Importing and synchronizing populations

All populations/directories are synchronized every night at a time configurable by the administrator in the configuration parameters.

For each member of the population (user of a LDAP directory, for example):
- a content Ametys, of the type defined by the population, is created if no content corresponds to the identifier or login
- if a content corresponding to the login is found in Ametys, the fields of the content
are synchronized - if a content created by a previous synchronization is linked to a login that no longer exists in the data source, it is deleted if the population is defined as a "trusted source". Otherwise, the content is not modified.

For each member of a population (unique identifier), a content Ametys for each supported language will be created. The languages supported by the application are defined in the WEB-INF/param/languages file .xml.

plugin does not provide a graphical tool for population synchronization. Any errors occurring during synchronization will be traced in the application logs and a mail will be sent to the administrator.

Search for content generated by a population

All Ametys content resulting from the synchronization of a population is "searchable" via the "Directory" tool.

The tool's search criteria allow you to specify the language, population or type of content you're looking for.

Content is not site-specific.

Population-generated content editing

Content fields that are synchronized with data from a data source appear on 2 lines in the online editor:

  • the first line corresponds to the "local" value entered in Ametys
  • the second line corresponds to the value of the field in the external data source ( LDAP attribute). This line cannot be edited.

The button on the right allows you to choose whether to use the Ametys value or the remote value:

The remote value is used
The local value entered in Ametys is used

Fields not taken from the external data source or not synchronized appear on a single line.

Depending on the population configuration, the value of a field may be extracted from the external data source but not synchronized. In this case, the field is edited on a single line.
It is possible to modify the value of the field, but this value will be automatically overwritten the next time it is synchronized. If this is not desirable, this field must be synchronized in the population definition (see Plugin Directories - Integration manual v1.1.0).

It is thus possible to modify and complete a person's entry in a LDAP directory.

To modify content resulting from synchronization with a population, you must :
- either have the right to "Modify a record" in the "Directory" category in the content context
- or have the right to "Modify your personal record" and be the owner of the content (the content is linked to your login)

Publication of a directory

Virtual population tree

To publish a directory on your site, you need to define the page(s) in the sitemap that will contain the records of your members. These pages are called the "Directory Root".

To define such a page, select the page in the "Site map" tool, then click on "Directory root" in the Page tab.

Then select the user population to be reached by this page:

The tree depth corresponds to the number of intermediate pages that will be used to classify the members of the population. These intermediate pages are calculated on the first X letters of the field used to identify a member (his login for example), X being the chosen depth.
These pages are not intended to be displayed on the site, but rather to preserve display performance, in the case of a large directory: the more members the directory contains, the greater the depth should be.

For example, for a directory with 100 to 200 members, a depth of 1 is sufficient, while for a directory with over 10,000 members, a depth of 3 is recommended.

In the example below, the "Staff directory" page is the root of the directory for the "Staff directory" population. All its sub-pages are made up of staff records, sorted alphabetically by ID, on a single level (depth of 1).
This is called a "virtual" tree structure, as it does not use "physical" pages, but pages automatically calculated from the members of the population.

- A single root page can be defined for a given population, for the same site.

Population research service

After selecting a root page for your directory (population), you can insert the "Directory search " service to enable visitors to search the directory.

The service has 5 parameters:

TitleDirectory titleNo
PopulationSelecting the research populationYes
Results by pageNumber of results per pageYes
Service identifierIdentifier used to communicate between two instances of this service
(when criteria and results are not displayed on the same page).
DisplayChoice of rendering (depends on graphic charter).
Two rendering options are available by default:
  • display results one below the other
  • displaying results in a table

Search criteria and result columns depend on the population and are defined by the integrator when defining populations: see Plugin Directories - Integration manual v1.0.0

Each result is "clickable" and links to the person's complete file.

Display a population member's record in a page

The "Display a person card" service lets you display a person's card on any page of the site.

The service has 3 parameters:

Person cardSearch and select "member" content to displayYes
ViewContent viewYes
DisplayService renderingYes

Direct searches on external directories LDAP

plugin Directories also enables simple searches directly on external LDAP directories: search results are extracted from LDAP, with no link to Ametys content.

To do this, the "External directory" search service uses the LDAP connections and searches defined in the Data Sources tool.

Define connections and search LDAP external

Data sources LDAP will be defined in the "Data source" tool.

Search criteria and result columns are automatically extracted from the query definition.

For example:

  • Attributes sn[Nom de famille], givenName[Prénom], mail[Courriel], supannAffectation[Service] are used to define 4 columns of results in order:
    • "Last name" displays the value of the LDAP "sn" attribute.
    • "First name" displays the value of the "givenName" attribute
    • "Email" displays the value of the "mail" attribute.
    • "Service" displays the value of the "supannAffectation" attribute
  • The search constraint (sn=${nom[Nom]}*)(supannAffectation=${affectation[Affectation]}) will give rise to the following search criteria:
    • "Name" to search on the LDAP "sn" attribute
    • "Assignment" for search on LDAP "supannAffectation" attribute

External directory search service

To enable an external directory search, insert the "External directory" service.

The service has 3 parameters;

TitleDirectory titleNo
External sourceSource selection LDAP external.
Only "multiple" LDAP queries can be selected. 
Number of results per pageNumber of results per page. Yes
DisplayRendering of the service.
Depends on the graphic charter 







Back to top

User directory