Access Control and Personalization

Access control is one of several methods to present personalized information to the visitors of your website, or to suppress the delivery of content. This concept is often understood solely as a means to restrict the visitor's access to information. However, displaying different kinds of content selectively to different groups of users is an equally important goal of access control.

Access control presupposes the possibility to assign read permission to live documents. This possibility exists in the editorial system where any number of user groups can be added to the live server read permission field of each file.

When the Portal Manager delivers content it takes account of the permission assignments that have been made. If access to a document has been restricted via the CMS to particular user groups on the live server, the Portal Manager will give access to the document only after the user has been successfully authenticated. Links to this document are deactivated if required.

However, it is not only possible to grant or deny permission on a per-file basis but also partially. For this, a special language element, <npspm>, is available that can be used in the content itself. The npspm element can be inserted into the content of a file like a normal HTML element is inserted.

Analogously to npsobj elements, which are translated into HTML text during the export, npspm elements are translated into a language evaluated on the server side. One of the supported languages is Velocity because the Portal Manager includes a Velocity engine. The Portal Manager itself is a web application that runs in a servlet container which includes a JSP engine. Therefore, JSP is another language into which npspm elements can be translated during the export (see also Architecture of the Portal Manager). A PHP page cannot contain Portal Manager functionality such as access control or portlets because the server can evaluate only one language per file.

The language into which npspm elements are translated during the export depends on the name extension of the file being exported. You can assign languages to file name extensions by means of the export.convertNpspm.mapping parameter in the export.xml configuration file. For the reason mentioned above, no other languages than velocity and jsp can be specified as server-side languages.

Please always use the npspm elements supplied for access control and personalization purposes, not their Velocity or JSP equivalents into which they have been translated. This ensures that always properly translated code is used, independently of the Fiona version you are using.

The different access control functions of the npspm element are accessible by means of tag attributes.