IBM® WebSphere® Portal Express® comprises
a framework of services to accommodate the different scenarios that
portals of today need to address. You can configure some of these
services.
Note: You can no longer set these properties by simply
changing the property value in the properties file and restarting
the portal. The configuration for each service is stored in and accessible
through the WebSphere Integrated Solutions Console.
For more information about how to set properties see Setting
service configuration properties.
The following
sections describe the services and their configuration that may be
of interest to the portal administrator. Services that are not described
in the following are purely for portal internal usage. Do not modify
them in any way.
How to use this topic In this topic, properties are listed as
they pertain to the individual services. Scan this topic or locate
properties by searching by key word.
In the following list of
parameters the values given in parentheses are the default values.
Parameters marked with <none> have no default values.
Configuration Service
The Configuration
Service is responsible for collecting the most essential configuration
data of the portal engine. Many of these parameters are set by the
installation procedure. Therefore, plan well ahead and apply special
care when modifying these parameters.
Note: The Configuration Service
also holds the configuration properties for WSRP services. They are
listed and described in the WSRP context under
Using WSRP services in the respective topics for which they are relevant.
- was.home = (${WAS_INSTALL_ROOT})
- This is the absolute path to the install directory of WebSphere Application
Server.
- wps.home = (${WPS_INSTALL_ROOT})
- This is the home (or install) directory of the WebSphere Portal Express.
- command.sessionvalidator = (SessionValidatorAuth)
- The name of the command that serves as the session validator command.
- command.login = (LoginUserAuth)
- The name of the command that serves as the login command.
- command.logout = (LogoutUserAuth)
- The name of the command that serves as the logout command.
- redirect.login = (true)
- Turns on user-defined redirection after successful login. If a
URL has been specified under redirect.login.url, that URL is used as the URL for the redirection. If no
URL is specified, the portal determines the default page for the current
user and sends a redirect to that page in the protected portal area.
- redirect.login.ssl = (false)
- Turns on SSL in the system-defined redirection after successful
login. If no URL is specified, the redirect URL uses HTTPS.
- redirect.login.url [optional] = <none>
- Specifies the URL for redirection after successful login. If no
URL is specified, the portal determines the default page for the current
user and sends a redirect to that page in the protected portal area.
This setting does not affect implicit logins, such as single sign-on
with LTPA token or through an external security manager.
- redirect.login.authenticated.url [optional] = <none>
- Specifies the URL for redirection after the first access to a
protected page when the user has already been authenticated by an
external security manager (TAI) and a portal session does not exist
yet. If no URL is specified, the portal either displays the protected
page that was originally requested, or, if session resume is enabled,
the last page that the user had accessed in the previous session.
- redirect.logout = (false)
- Turns on user-defined redirection after successful logout. If
a URL has been specified under redirect.logout.url, that URL is used as the URL for the redirection. If no URL
is specified, the portal determines the default page in the public
portal area and sends a redirect to that page.
- redirect.logout.ssl = (false)
- Turns on SSL in system-defined redirection after successful logout.
If no URL is specified, the redirect URL uses HTTPS.
- redirect.logout.url = <none>
- Specifies the URL for redirection after successful logout. If
no URL is specified, the portal determines the default page in the
public portal area and sends a redirect to that page.
- ldapserviceattributename.attribute [optional] = (uid)
- Use this property to determine that portal workflow integration
uses a dedicated user attribute when identifying individual users
on WebSphere Process Server. Set this property to the user attribute
that is used by WebSphere Process Server during task authorization.
WebSphere Process Server uses the J2EE principal name for this purpose.
By default the J2EE principal name maps to the uid user attribute in most LDAP servers, except for Domino servers.
Domino LDAP servers use the cn attribute by default,
therefore for such a configuration set the ldapserviceattributename.attribute to the value cn. This property is optional.
- multiple.realms.enabled = false
- Multiple Realms Support parameters to allow login with uid@realm.
- multiple.realms.login.default.realm = <none>
- Multiple Realms Support parameters to allow login with uid@realm.
- multiple.realms.user.dn.template = <none>
- Multiple Realms Support parameters to allow login with uid@realm.
- host.name = <none>
- The default is that no value exists for host.name. In this case, portal URLs start with the host name of the incoming
request. If you want the host name in URLs be static, you enter
a host name here. For example, in case of a cluster installation you
can enter the name of the network traffic dispatcher here. If a host
name is entered, this entry is used to create the portal URLs.
- host.port.http = <none>
- The HTTP port (normally 80).
- host.port.https = <none>
- The HTTP-SSL port (normally 443).
- security.css.protection = (true)
- This parameter determines whether Cross-Site-Scripting security
protection is turned on. The default is true for enabling the protection.
- redirect.commands = (false)
- Specifies that a portal command is followed with an HTTP redirect.
This way URLs can be bookmarked. Using this feature results in a certain
performance overhead. Therefore it should only be used if needed.
- uri.context.path = (/wps)
- The context path under which the portal is running.
- uri.context.path.facade = (/wsrp)
- The context path for the additional WAR file that is used as a
facade web application for your WSRP implementation. This enables
you to use Secure Socket Layer (SSL) with Client Authentication for
WSRP and simultaneously use other means of authentication for the
portal, for example form based authentication. This separation is
required as J2EE allows only for one authentication mechanism per
WAR file.
- uri.home.public = (/portal)
- The servlet context of the portal engine for public (or anonymous)
pages, i. e. pages that users can view without entering a user ID
or password.
- uri.home.protected = (/myportal)
- The servlet context portal engine for protected (or personal)
pages. i. e. pages that users can only view by entering a user ID
and password.
- uri.home.doc = (/doc)
- The servlet context of the portal engine for the documentation
area.
- uri.home.substitution = (false)
- Determines whether a public URL should be translated to a protected
URL if a user session exists.
- wsrp.resourceproxy.basic.auth.credentialslot = <none>
- On a WSRP Consumer portal you can use this property to specify
a credential vault slot that contains the user ID and password credentials.
The resource proxy servlet will use the credentials from the credential
vault slot when fetching resources that are protected by HTTP basic
authentication. The user ID and password will be sent to all remote
resources that are referenced in the markup of the remote WSRP portlet.
- wsrp.resourceproxy.no.header.forwarding = <none>
- On a WSRP Consumer portal you can use this property to specify
the list of HTTP headers that are not forwarded from the client request
in addition to the host header and cookie headers. The host header
and cookie headers are never forwarded independent of how this property
is set.
- persistent.session.level = (0)
- Determines the level on which the persistent session should operate.
For more details about persistent session state and its possible
options refer to Configuring user session persistence. If you set this parameter to a value of 3 , this setting does not affect implicit logins, such as
single sign-on with LTPA token or through an external security manager.
- persistent.session.option = (0)
- Determines whether the user gets the option to resume the session.
If you set this property to 0, the level setting
for the property persistent.session.level is
applied during login, and the user has no choice whether to resume
the previous session or not.If you give users the resume option by
setting this property to 1, you should configure
the persistent session preservation level by setting the parameter persistent.session.level to 1 or 2. For more details about persistent session state and
the possible values for this parameter refer to Configuring user session persistence.
- timeout.resume.session = (false)
- Determines whether resuming the session after a session timeout
requires user authentication. The default value is false. If this property is set to false and the user
tries to continue working after a session timeout, the portal shows
an error message stating that the session has timed out and the user
has to log in again. If you set this property to true, the portal ignores the session timeout and does not show the error
message. The user can resume the previous session without authentication
and continue to work. In both cases the previous session is resumed
according to the setting of the persisted.session.level property.
- session.security.use.errorcode = (true)
- Use this property to specify whether the portal performs a redirect
or displays an HTTP error, if session security support is enabled
for the portal server and the user in the session does not correspond
to the authenticated user in the request. Session security support
is a hardening feature of WebSphere Application
Server. You can activate
it for each application server in the WebSphere Integrated Solutions Console under the section. If this session security support is active,
the application server checks for each authenticated request whether
the user who owns the current session matches the user who originated
the request. For example, this can be determined by the LTPA token.
The portal service configuration property only specifies how the portal
behaves, if it detects a mismatch between the session user and the
authenticated user.
If you set this property to true, the portal returns the HTTP error code that you define by the property session.security.errorcode. This typically results in an appropriate error message being
displayed.
If you set this property to false, you can specify a redirect URL by using the property session.security.redirecturl. For example, you can redirect to a specific error page which
is then displayed to the user.
By default this property is
set to true.
For further information about
session security support in general refer to the WebSphere Application
Server information
center.
- session.security.errorcode = (409)
- Use this property to specify the HTTP error code that is returned
if all of the following conditions apply:
- Session security support is enabled in the WebSphere Application
Server.
- The property session.security.use.errorcode is set to true.
- A mismatch of the user in the session and the authenticated user
is detected.
You must specify a valid HTTP error code. The default is error
code 409.
- session.security.redirecturl = <none>
- Use this property to specify the redirect URL to which portal
redirects if all of the following conditions apply:
- Session security support is enabled in the WebSphere Application
Server.
- The property session.security.use.errorcode is set to false.
- A mismatch of the user in the session and the authenticated user
is detected.
You must specify a value for this property, if the property session.security.use.errorcode is set to false. This property has no default.
- portal.session.protection = (true)
- Use this property to specify that, for each authenticated portal
request, portal checks whether the user in the portal session matches
the calling user of the current request. If this results in a mismatch,
the portal invalidates the existing session and creates a new one
for the calling user to make sure that both identities match. The
portal provides this hardening feature, which is independent of the
session security support provided by WebSphere Application
Server. By default this
property is set to true, therefore by default the
portal performs this check.
- portal.enable.filtering = (true)
- This flag determines whether the portal should use Portal Filtering
or not. The default is true.
- portlet.url.find = <none>
- URL that is used for find and set in global settings portlet.
- portlets.unauthorized.visible = (false)
- Determines what a user sees if they are not authorized to view
a portlet.
- portletcontainer.std.custom.windowStates = <none>
- This property defines custom window states that are handled by
the portal. This allows portlets to specify custom window states as
defined in the Java Portlet Specification 1.0. The portal allows portlets
to generate URLs and consequently invoke other portlets with a custom
window state if both of the following preconditions apply:
- The invoked portlet specifies a custom window state in its deployment
descriptor ( portlet.xml ).
- That window state is registered by using this property.
The property value is a comma separated list of custom window
states. An example is: portletcontainer.std.custom.windowStates
= winState1, myWinState .
- allow.derived.titles = (true)
- Determines if the title and description of derived pages can be
redefined by users. If the value is set to false, titles and description
of pages can only be changed on non-derived pages.
- wps.mappingurl.portal_url_identifier = (/!ut/p)
- This property defines an identifier for Portal URLs. For the specification
of the format of this property refer to the topic about URL mapping.
- wps.mappingurl.enabled = (true)
- This property defines whether URL Mapping is enabled or not. Possible
values are true to enable URL Mapping, or false to disable URL Mapping.
- navigation.portletmenu.mode = (0)
- The navigation.portletmenu.mode parameter
defines in which way portlet menus are integrated in the overall portal
navigation menu structure. Portlet menus are navigation parts that
are provided by the portlet itself. They can be added as a subtree
to the navigation menu item that references the page in which the
portlet resides. This parameter has the following three options:
0 Disabled: Portlet Menus are not displayed in the navigation
menu at all. This is the default value.
1 Current
selection: Only the portlet menus of the portlets that reside on the
currently selected page are added under the navigation menu item for
that page.
2 Everything: The portlet menus of all
portlets on all pages are added under the appropriate navigation menu
items in the navigation tree.
- navigation.expansion.defaultstate = (false)
- This determines whether the nodes in the navigation tree are expanded
or collapsed by default. The default is false, which means that the nodes are collapsed. Some exceptions apply;
for example, the Portal Administration navigation tree is expanded
by default.
Note: Setting this to true does not affect Web 2.0 themes,
as the expansion state is not returned from the portal REST service.
- page.reload.interval = (0)
- This defines the page reload interval for unauthenticated users.
Use it to specify the interval in minutes after which the portal page
hierarchy should be reloaded for an unauthenticated user. The reload
respects the most current access control settings for that user. If
this value is set to zero, no automatic reload occurs during the session.
- wsrp.caching.enabled = (true)
- Use this parameter to enable or disable WSRP markup caching. The
default for this parameter is true. This means that
WSRP markup caching is enabled, if no value is specified for this
parameter. For more details refer to WSRP Markup Caching.
- friendly.enabled = (true)
- This property determines whether friendly URL names can be set
for portal pages in the Manage Pages portlet. The default value is true . If you set this property to true , you can add friendly URLs for portal pages in the Manage Pages
portlet. "Friendly" means that you can use a name that is concise
and easy to remember to address a specific portal page. To add a
friendly URL for a portal page, click the Edit Page Properties icon for the page for which you want to add a friendly URL. You
can then give your portal users that URL, and they can access that
page by entering the URL in the Address field of their browser.
Note: When you create a URL Mapping or create or modify a page, make sure
that URL Mappings and friendly URLs in your portal do not match, partially
overlap, or otherwise interfere with each other. For example, do not
use strings such as home, ibm, ibm.com, and do not use strings that have
been used as URL Mappings or friendly URLs in your portal already.
Otherwise infinite browser redirect loops might occur, sometimes without
an error message. To determine such strings, create an export from
your portal by using the XML configuration interface and scan the
exported XML result output file for the string that you want to use
for your URL Mapping or for your friendly URL.
If this property is set to true , you can use the
property friendly.redirect.enabled to determine whether
a redirect should be sent if the incoming URL did not contain the
friendly URL prefix of the addressed page.
- friendly.redirect.enabled = (true)
- Use this property to determine whether or not a redirect should
be sent if the incoming URL did not contain the friendly URL prefix
of the addressed page. This property does not take any effect if friendly
URLs have been disabled by setting the property friendly.enabled to false. Valid values for this property
are as follows:
- true
- Set this property to true if you use an
External Security Manager in your portal deployment that is configured
to protect URLs based on their prefixes. This is the default value
of this property.
- false
- If you set this property to false , no
redirect is sent in the case previously described.
- friendly.pathinfo.enabled = (true)
- This property determines whether friendly URLs can contain path
information to a content item as part of the URL. The default value
is true. Support for path information in friendly
URLs also requires that the friendly.enabled property
be set to true.
- friendlyname.uniqueness.enforcement = (true)
- This property determines whether the portal enforces that new
friendly names are unique across existing non-private sibling nodes.
The default value is true . The enforcement does
not include derived pages with an inherited friendly name and siblings
that are moved in by a personalization rule.
- portlet.iwidget.markup.prefetching = (true)
- This property determines whether the markup of portlets on pages
in Client-side rendering mode should be loaded together with the markup
for the portal page. The default value is true. This
property defines the default markup prefetching behavior for pages
that are configured to use the Client-side rendering mode. The default
behavior can be overridden on a per portlet basis by declaring the
same property as a portlet init parameter in the deployment descriptor
(portlet.xml) of the portlet. To disable portlet
markup prefetching by default, set the value of this property to false. In this case the markup of portlets on pages in Client-side
rendering mode is fetched using separate HTTP requests.
- wcm.pages.enabled = (true)
- This property specifies whether web content pages are enabled.
The default value is true.
- wcm.config.seedlist.version = (1.0)
- This property specifies the version of the search seedlist format
being used by the portal. Supported values include 1.0 for seedlist format 1.0 and 0.9 for seedlist format
0.9. The default value is 1.0.
- wcm.config.seedlist.servletpath = (/seedlist)
- This property specifies the path to the servlet that generates
the search seedlist. The default value is /seedlist.
This section describes the portlet response headers.
- portletcontainer.response.headers.additionallyNotAllowed = <none>
- There is a predefined set of response header fields which are
not allowed to be used in portlet response fields. In addition to
these predefined header fields it is possible to define additional
fields, which are then also prohibited to be included into a portlet
response header.
Values must be separated by commas, if more
than one field is specified.
The following list shows the
header fields of the HTTP 1.1 (RFC 2616) specification that are by
default not allowed to be set:
- 6.2 Response Header Fields:
The response-header fields allow the server to pass additional
information about the response that cannot be placed in the Status-Line.
These header fields give information about the server and about further
access to the resource identified by the Request-URI.
- Accept-Ranges (Section 14.5)
- Location (Section 14.30)
- Proxy-Authenticate (Section 14.33)
- Server (Section 14.38)
- Vary (Section 14.44)
- WWW-Authenticate (Section 14.47)
- 7.1 Entity Header Fields:
Entity-header fields define meta information about the entity-body
or, if no body is present, about the resource identified by the request.
Some of this meta information is
optional; some might be
required by portions of this specification.
- Allow (Section 14.7)
- Content-Encoding (Section 14.11)
- Content-Language (Section 14.12)
- Content-Length (Section 14.13)
- Content-Location (Section 14.14)
- Content-MD5 (Section 14.15)
- Content-Range (Section 14.16)
- Content-Type (Section 14.17)
- Expires (Section 14.21)
- Last-Modified (Section 14.29)
- 4.2 Message Headers:
HTTP header fields, which include general-header (section 4.5),
request-header (section 5.3), response-header (section 6.2), and entity-header
(section 7.1) fields, follow the same generic format as that given
in Section 3.1 of RFC 822 [9]. Each header field consists of a name
followed by a colon ( : ) and the field value. Field names
are case-insensitive.
- portletcontainer.response.headers.forceAllowed = (none)
- This parameter enables you to re-enable the usage of the header
fields which are by default prohibited header fields. Values must
be separated by commas, if more than one field is specified.
- portlet.enable.transcoding = (true)
- Determines whether transcoding is enabled.
- portlet.automaximize = (false)
- If you set this to true, the portlet window is maximized when
a portlet is set into edit, configure or help mode.
- proxy.enable.app.config = (false)
- If you set this property to true, the Ajax
proxy ignores all proxy-config.xml files inside portlets.
- content.topology.writelock.timeout = milliseconds (default=25000)
- This setting controls the maximum wait time to obtain a writable
model before issuing a timeout warning. To add or change the settings,
open Resource Environment Providers in the WebSphere Integrated Solutions Console. Restart the portal
server after making your changes.
- content.topology.writelock.dump = true|false (default=false)
- This setting controls if a Java core dump is written in case of
a timeout event for debugging. To add or change the settings, open Resource Environment Providers in the WebSphere Integrated Solutions Console. Restart the portal
server after making your changes.
- com.ibm.wps.filestore.JCRWebdavTreeModelFactory.cacheClearOnRestart
= true|false (default=true)
- This setting defines whether the file cache content is invalidated
and fetched again after server startup or not. The default value
is true .
- actual.SSO.tokenUrl = your_URL_for_SAP_integration (no default)
- This parameter is optional. Use it to specify a referenced parameter
of SAP integration. Change the parameter name according to your chosen
reference in the SAP integration page properties. Specify the URL
for SAP integration as the value.
- proxy.cv.slot.regex = your regular expression with allowed
slot IDs
- This parameter is optional. You can use it to define a subset
of available slots in the Credential vault to which you want to limit
the access of the AJAX proxy. For details refer to the topic about AJAX proxy authentication.
Deployment Service
The Deployment
Service provides services for accessing the configuration parameters
required for the portlet deployment.
The portlet deployment
component is responsible for the integration of portlets into the
portal. It handles the correct deployment of portlet applications
and their WAR files into WebSphere Portal Express and WebSphere Application
Server. It uses the WebSphere Application
Server management services for the physical deployment and management of
WAR files in the WebSphere Application
Server. Management of WAR files includes installing, removing, redeploying,
starting, and stopping portlet applications.
Notes: - WebSphere Portal Express has the configuration
separated into two types:
- Deployed configuration. This is read-only. The deployed configuration
is always read from the file portlet.xml.
- Administrative configuration. This is read/write.
The deployed configuration can be modified by administrative
changes, for example, by using administrative portlets or the XML
configuration interface. The administrative configuration is never
overwritten by changes to the deployed configuration.
- Portlet applications appear in the Enterprise Application list
on the WebSphere Integrated Solutions Console. However,
you should never manage them from outside the portal. Instead, manage
them by using the portal administration portlets or the XML configuration
interface of the portal. You recognize web applications which comprise
a portlet application by their administrative name, also called the
display name. It is shown in the WebSphere Integrated Solutions Console. You can identify
the name of such a portlet application by a portal specific identifier
prefix PA_<name> . This identifier
is appended to the name. An example for such a name is PA_WPS_Welcome . The name in turn is derived from
the name of the WAR file when the portlet application is installed.
You can change this administrative name with an update of the portlet
application.
In the following list of parameters the values given
in parentheses are the default values.
- was.admin.host = (localhost)
- The WebSphere Application
Server administrative
host name. This parameter is used to adapt to the WebSphere Application
Server bootstrap host
name, if the default is not applicable.
- use.admin.user = (true)
- Use this key to select between two user authentication mechanisms
for the portal Portlet Deployment Manager to authenticate with
the WebSphere Application
Server administrative
services when portal security is enabled. Specify one of the following
two possible values:
- true
- Use a single preset shared user ID for all portal administrative
users who issue WAR deployment requests. This is the default. This
is a separate user ID that is common for all users who are allowed
to perform install or manage applications tasks. You must register
this user ID with WebSphere Integrated Solutions Console User Administrator rights.
- false
- Use the actual user ID by which the administrator issues the WAR
deployment request. Every portal user with portlet deployment rights
must be added to the WebSphere Integrated Solutions Console User list with administrator rights. Alternatively, you can
add the complete group of portal administrators to the WebSphere Integrated Solutions Console Group administrator
rights.
- was.notification.timeout = (300)
- This is the timeout value (in seconds). It specifies how many
seconds the deployment tasks waits for an application server event
during the management of WAR files. This value may have to be increased
on large portal installations.
- portletapp.starting.weight = (100)
- This is the value for the starting weight of the portlet applications
(war files). To ensure the correct initialization sequence, this value
must be higher than the starting weight of the portal itself.
- portletapp.shared.library.list
- This property defines a list of library references which are added
to each deployed WAR file during deployment. You can specify multiple
references separated by a comma ( , ). The library references must have already been defined in
the application server, and the JAR files must have already been deployed
at the location assigned in the reference definition.
- portletapp.reload.enabled = preserve
- Use this key to define the value for the reload property of the
deployed WAR file. This property can have the following values:
- true
- This enables reloading mode for all WAR files. Use this value
only for portlet development and portlet debugging purposes, but not
for production environments.
- false
- This disables reloading mode for all WAR files. This is the default.
- preserve
- When you specify this value, the setting from the file ibm-web-ext.xmi is applied, if available.
The default setting is false. Note: Do not enable reloading in a production environment.
Enable reloading only for portlet development and portlet debugging
purposes.
- discard.config.interval = (60)
- This property defines the minimum time interval for which the
configuration service workspace that is used during WAR file deployment
is kept. After this time expires, the workspace is discarded when
the portal runs the next deployment task. The unit of measure is minutes.
Valid values are listed in the following, together with their meaning:
- -1
- Never discard the workspace.
- 0
- Always discard the workspace immediately after the action that
required the workspace has been completed.
- > 0 (numerical value greater than 0)
- Time interval (in minutes) for which a workspace is retained before
it is discarded. It is then rebuilt for the next deployment task.
Notes: - Use good judgement when setting this property. The proper use
of this setting must be a compromise between performance and workspace
consumption for the following reasons:
- Discarding the workspace frequently has a negative impact on deployment
performance. The larger your portal installation is, the longer it
takes to discard and rebuild the workspace to save the configuration
changes during WAR file deployment.
- However, retaining a workspace keeps the wp_xxx temporary directories in the WebSphere Application
Server wstemp directory. Consequently, the temporary space that they occupy in
the file system grows every time a WAR file is deployed and every
time the portal is restarted.
- The configuration service workspace is not discarded immediately
after expiry of the time interval that you set. The cleanup is done
the next time that a deployment operation is called. It checks for
expired changes and discards the workspace that they occupy. If further
deployment operations occurred after the last time that the
timer interval expired and the workspace was released, the changes
in the last allocated workspace remain in the file system even on
portal shutdown. Nevertheless, the previous cleanup reduces the
volume of occupied disk space to only those temporary files that were
processed after the last cleanup interval.
The following values define file locations. All
these settings have default values and should only be enabled and
modified if the defaults are not appropriate.
- delete.temp.files = (true)
- This parameter determines whether temporary files that were created
during deployment in the directory application.repository.dir.name/temp are deleted or kept. The default is true , which means that the files are deleted. Change
the value to false only for debugging
purposes so that you can view the content of the temporarily expanded
WAR files. When you have completed debugging, change the value back
to true and delete the directories manually.
If you change the value to false, be
aware that the hard drive space required by the temporary directory
grows with each WAR file that you add or update.
- shorten.deployment.names = (true)
- Use this key to enforce shorter file names during deployment.
Some platforms, such as Windows impose a limit
to the length of a file path. This can cause deployment to fail if
the resulting path is too long.
- deployment.names.limit = (21)
- This is the threshold value for portlet application file and display
names. Longer names will be shortened if required.
The following setting is for debug purposes only.
Enable it only when instructed to do so by support personnel.
- deployment.debug.log.times = (false)
-
Data Store Service
WebSphere Portal Express uses a database to store configuration data for pages, clients,
markup, and all other resources.
The DataStore Service is responsible
for managing the data source of the portal as configured while installing WebSphere Portal Express. Normally there should
not be a need to modify any of the configuration parameters in the
DataStore service. The DataStore service parameters are listed in
the following:
- scheduler.cleanup.enabled = (true)
- Determines whether deletion of portal pages is performed later
by the scheduled cleanup service, or immediately after the user completes
the deletion task. This affects the deletion of portal pages and all
their dependent resources, such as components and portlet instances.
The default is true, which means that deletion
of portal pages is delayed and performed by the cleanup service.
Note: Even if this parameter is set to true and
delayed cleanup, deleted pages are no longer visible to users immediately
after deletion.
For details about this parameter and how
to schedule the cleanup service, refer to Delayed cleanup of deleted portal pages.
- datasource.machineid
- The value for this parameter is equivalent to the MAC address
of the server. It consists of a string of 12 hexadecimal figures.
Note: Do not change the value for this parameter.
The following properties are
domain specific
properties. They are paired. The last three pairs are analog to
the first pair. The possible valid values listed under the first property
xxx.datasource.dbms of the first
pair can also be specified for the first property of the following
pairs.
Note: Do not assign the same schema name twice for database
domains that reside in the same database instance. For example, if
the release database domain resides in a database named DB1 and uses the schema SCHEMA1, no other domain in
the same database instance can use that same schema name SCHEMA1. This restriction applies to domains that are in the same database
instance only. Using the same schema name more than once in different
database instances of the same database management system is no problem.
- rel.datasource.dbms = your_DBMS
- Use this parameter to specify the database management system (DBMS)
for the release database domain. The default value is . Valid values are listed in the following table. They
are also valid for the property xxx.datasource.dbms properties in the following three property pairs.
Table 1. Valid values for xxx.datasource.dbms properties | DBMS used |
DBMS value for xxx.datasource.dbms properties |
| IBM DB2 Universal Database™ for z/OS® |
DB2_ZOS |
| IBM DB2 Universal Database Enterprise
Server Edition |
DB2 |
| IBM DB2 Universal Database for
i |
DB2_ISERIES |
| Oracle Enterprise Edition |
ORACLE |
| Microsoft SQL
Server Enterprise Edition |
SQLSERVER2005 |
- rel.datasource.schema = ( RELEASE )
- Use this parameter to specify the schema that is used for database
objects in the release database domain.
- cust.datasource.dbms = your_DBMS
- Use this parameter to specify the database management system for
the customization database domain. The default value is . For valid values refer to rel.datasource.dbms.
- cust.datasource.schema = ( CUSTOMIZATION )
- Use this parameter to specify the schema that is used for database
objects in the customization database domain.
- comm.datasource.dbms = your_DBMS
- Use this parameter to specify the database management system for
the community database domain. The default value is . For valid values refer to rel.datasource.dbms.
- comm.datasource.schema = ( COMMUNITY )
- Use this parameter to specify the schema that is used for database
objects in the community database domain.
- jcr.datasource.dbms = your_DBMS
- Use this parameter to specify the database management system for
the JCR database domain. The default value is . For valid values refer to rel.datasource.dbms.
- jcr.datasource.schema = ( JCR )
- Use this parameter to specify the schema that is used for database
objects in the JCR database domain.
The following property specifies the
database
domain tracking daemon setting:
- domain.tracker.wait = (1000)
- Use this parameter to specify the time for which the domain tracking
daemon waits for a response by the database domain until it polls
again. The value is specified in milliseconds. The default value is 1000 (milliseconds), which is equivalent to 1 second.
Note: This daemon does not poll continuously, but only in case of errors.
Therefore increasing this value will not reduce normal database traffic.
For further information about data sources and
their configuration, refer to the WebSphere Application
Server Handbook.
Loader Service
The Loader Service
is responsible for dynamically loading class files in four categories:
commands, and supporting classes for screen templates, skin templates,
and theme templates. The service does so by looking up a given (class)
name in different packages. Upon loading the respective class file,
an instance of that class is returned. To optimize the efficiency,
the implementation of the service is free to cache loaded class files
or instances and return a cached instance. That means, that the implementation
of any such classes must be thread safe.
In cases where additional
or alternative commands are required, the following configuration
properties can be modified:
- command.path
- The package prefix(es) in which commands are searched.
Localizer Service
The Localizer
Service provides access to the configured default locale and the system
default locale. It also provides a list of supported bidirectional
languages.
Giving the system default locale is necessary because Locale.getDefault() is set to the default.
Although
the locale is set during installation time, it is possible to change
the locale at a later time by modifying the following properties in
the LocalizerService:
- locale.default.language
- The language of the locale, for example, EN or PT.
- locale.default.country
- The country or region code of the locale, for example, US or BR.
- locale.default.variant
- The variant code of the locale.
The default language must be supported by WebSphere Portal Express. If you leave all
three parameters without a specified value, the system locale is used
as the default locale.
All parameters are case-insensitive.
The ISO standard ISO-639 is used for the language codes of most languages.
For Hebrew the old language code iw is
used. The ISO standard ISO-3166 is used for the country/region codes.
Navigator Service
The Navigator
Service allows you to specify a number of settings. Among these are
settings for cache scope and cache expiration. Depending on your configuration,
you might be able improve your performance by modifying these settings.
For detailed information about page caching for improved performance,
refer to the section about tuning your portal.
Table 2. Settings that
influence remote caching| Key |
Meaning |
Default value |
| public.session |
Specifies whether an anonymous user always has a public session.
This may be useful when a portlet requires a session for anonymous
users. To enable public sessions for pages that anonymous users can
view without logging in, set this parameter to true. The setting of public.session influences the remote cache scope for public pages. If public.session is set to true, then the cache scope is set to non-shared (private). If public.session is set to false, then the cache scope is set to shared (public).
Note: Setting public.session to true might reduce performance.
|
false |
| public.expires |
Specifies the cache expiration time (in seconds) for caches
outside of WebSphere Portal Express and
for unauthenticated pages only. These caches must adhere to the HTTP
1.1 specification (RFC 2616). The public.expires key specifies the time after which HTTP caches should drop the response.
This can be further restricted by the remote.cache.expiration key. This value is used as a maximum value for the cache expiration
time and as a global default value for unauthenticated pages.
If the setting remote.cache.expiration is also set to a value greater than or equal to 0, the smaller one
of the two values is used.
WebSphere Portal Express calculates and aggregates
the remote cache information, that is the scope and expiration time,
by a number of parameters contributed by themes, pages, and portlets
besides the settings described here. Therefore WebSphere Portal Express can do any of the
following internally while processing a request:
- Reduce the cache lifetime
- Reduce the cache scope, for example, from public (shared) to private
(non-shared)
- Switch off the overall cachability of pages.
Therefore this value might not be static for all responses
resulting from requests to unauthenticated pages.
The
response of WebSphere Portal Express sets
the following header fields: - The Expires header with the expiration
time added to the system date and time.
- The Cache-Control : max-age = header
with the expiration time as its parameter.
The default setting specified in this file is 60 seconds.
If no value is specified, WebSphere Portal Express defaults the value to 60 seconds. |
60 (sec) |
| remote.cache.expiration |
Specifies the maximum cache lifetime (in seconds) of a page,
both public and private. Use this setting to specify a global value
for the expiration of pages in remote caches. Setting this value to
0 switches caching off in remote caches. If the legacy setting is
not available, this setting is used for authenticated and unauthenticated
pages. If the legacy setting is available, then the smaller of the
two values is used for unauthenticated pages only. In this case the remote.cache.expiration setting is used for authenticated
pages in general. If theme, composition, and portlets contribute remote
cache information, then the global settings also contribute to the
information. In this case the lowest of the values of all contributors
is used, including the global settings. The default
setting specified in this file is 60 seconds. If no value is specified, WebSphere Portal Express defaults the value
to zero (0 seconds).
|
0 (sec) |
| remoteCacheInfo.response.header.vary |
Specifies the HTTP headers that force a proxy to cache different
variants of the same URL. Use this setting to specify a comma separated
list of HTTP header fields to which WebSphere Portal Express should refer in its
vary field of the generated HTTP response. This is required to ensure
that proxy caches can invalidate entries in their cache if the specified
header fields do not match from request to request. |
User-Agent |
| public.cache-control |
Specifies the value which is set for the cache-control HTTP header field when the portal generates
a response in request for public pages. This header field controls
the behavior of all caching mechanisms along the request/response
chain. |
no-cache |
| private.cache-control |
Specifies the value which is set for the cache-control HTTP header field when the portal generates
a response in request for private pages. This header field controls
the behavior of all caching mechanisms along the request/response
chain. |
no-cache |
Registry Service
The RegistryService
loads and caches a small number of objects which are regularly accessed
in the engine. This improves performance, however the trade off is
that the cached objects are possibly stale compared to their database
counterparts. This applies particularly in a cluster environment.
If the age of those objects causes a problem, try reducing the refresh
rate for the respective entities.
- default.interval = (1800)
- The default interval for refreshing a bucket. The amount is specified
in seconds, for example default.interval = 1800.
- bucket.<bucket-name>.class
- The type of class that the bucket with the given name is caching.
- bucket.<bucket-name>.reload [optional = true]
- This parameter controls whether or not the bucket with the given
name is reloaded in frequent intervals.
- bucket.<bucket-name>.interval = (default.interval)
- The length of the reload interval for the bucket with the given
name. If no value is set, the default.interval setting is used.
- bucket.<bucket-name>.sorted [optional = false]
- This parameter controls whether or not the bucket with the given
name needs to keep the cached objects in a sorted order. The sorting
order is determined by the objects themselves.
The bucket names are described in the following:
- theme
- The theme bucket is used to cache the database representation
of all themes stored in the database.
- language
- The language bucket is used to cache the database representation
of all languages that are stored in the database.
- skin
- The skin bucket is used to cache the database representation of
all skins stored in the database.
- language
- The language bucket is used to cache the database representation
of all languages stored in the database.
- client
- The client bucket is used to cache the database representation
of all clients stored in the database.
- markup
- The markup bucket is used to cache the database representation
of all markups stored in the database.
Portlet Container Service
This section lists and describes the
PortletContainer service related settings.
- legacy.portlet.enable.filtering = (true)
- Flag that determines whether or not to use Portlet Filtering.
The portlet container service also contains the properties
for configuring parallel portlet rendering. For details refer to the
separate topic about parallel portlet rendering
Parallel portlet rendering.
Pipe Pool Service
Pipes are
used to buffer content. For example, for parallel portlet rendering
the pipes are used to pass portlet content between threads.
To improve performance, all pipes are held in a pool for reuse. Configuration
settings for the pool are located in the PipePoolService.
Variations
in the usage of the pipes result in increase or decrease of the pool
size. You can configure the pool size to be more stable by increasing
the strength of the hysteresis function. This smoothens how directly
the pool size follows the number of accesses. A second property defines
the compacting rate, that is how often the pool size is actually reduced
as determined by the hysteresis function.
- parallelRenderingPoolHysteresis = (10)
- Use this parameters to specify the number of accesses to the
pool that determines the strength of the hysteresis function. The
default is 10.
- parallelRenderingPoolCompactRate = (300)
- Use this parameters to specify after how many seconds the pool
size is actually reduced. The default is 300 seconds (= 5 minutes).
The pipes are also known as queues. You can
configure pipes that are managed by this pool by setting the following
parameter:
- parallelRenderingPoolQueueSize = (5120)
- Use this parameters to specify the size of the queues in bytes.
The default is 5120.
For details refer to the separate topic about
parallel portlet rendering
Parallel portlet rendering.
Content Access Service
Portlets can access content from remote systems that are located
on the other side of a firewall by invoking the Content Access Service.
The following settings are used to configure the Content Access Service,
but only for those portlets that call this service. You can configure
these settings at either of the following locations:
- Under the WP PortletServiceRegistryService in the WebSphere Integrated Solutions Console.
- In the property file PortletServiceRegistryService.properties under the items beginning with com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.
- com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.no.proxy.for
=
- Specifies host names for which ContentAccessServices does not
use a proxy, even if a proxy is configured. Values must be separated
by semicolon ( ; ). Wildcards are not supported.
Example: com.ibm.wps.pe.pc.legacy.service...no.proxy.for =localhost;127.0.0.1
- com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.protocol.handlers
=
- Assigns additional URL protocol handlers that Java uses to handle
connections to various URL protocols. Values must be separated by
a vertical bar ( | ). The default is usually sufficient, as
it supplies a handler for HTTPs URLs.
Example: com.ibm.wps.pe.pc.legacy.service...ServiceImpl.protocol.handlers
= com.ibm.net.ssl.internal.www.protocol
Proxy protocol and
port settings:
This section allows you to specify proxy protocol
and port settings for different protocols. You must specify for each
protocol the name and port number of the proxy servers that you use.
The general format is as follows:
- com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.proxy.http.host
= hostname
- Specifies an HTTP proxy host for HTTP URLs.
- com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.proxy.http.port
= port number
- Specifies the port for the HTTP proxy. If this is not specified,
80 is used as the default value.
- com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.proxy.https.host
- Specifies an HTTP proxy host for HTTPs URLs. The proxy must support
CONNECT requests, otherwise known as 'tunneling' requests.
- com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.proxy.https.port
- Specifies the port for the HTTP proxy. If this is not specified,
80 is used as the default value.
- com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.socks4.host
- Specifies a SOCKS V4 proxy host for any URL.
- com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.socks4.port
- Specifies the port. If this is not specified, 1080 is used as
the default value.
- com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.socks5.host
- Specifies a SOCKS V5 proxy host for any URL.
- com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.socks5.port
- Specifies the port. If this is not specified, 1080 is used as
the default value.
- com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.proxy.auth.enabled
- Specifies if authentication should be tried for proxied connections.
This applies to the proxy server, not to the origin server from which
the ContentAccessService is fetching. Also, this only applies to HTTP
proxy (with settings from proxy.http.* and proxy.https.*) and SOCKS
proxy (with settings from proxy.socks4.* and proxy.socks5.*).
- com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.proxy.auth.credentialslot
- Specifies if proxy authentication should be used for connections
that use a proxy server. You must provide the user ID and password
in a credential slot of the portal credential vault. You must also
specify the name of this slot in the content access service configuration.
The credential must have the type UserPasswordPassive. Proxy authentication applies to the proxy server, not to the origin
server from which the ContentAccessService is fetching. Also, this
only applies to HTTP proxy (with settings from proxy.http.* and proxy.https.*)
and SOCKS proxy (with settings from proxy.socks4.* and proxy.socks5.*).
If no proxy host is set, WebSphere Portal Express tries to load all
URLs directly. If no port is set, the default port for HTTP (80) is
used. Alternatively, you can socksify the TCP/IP stack of your system.
Examples:
The name of the HTTP proxy host: com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.proxy.http.host = host.somewhere.ibm.com
The name of
the HTTP proxy port:com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.proxy.http.port = 80
The name of the tunneling HTTPs proxy host:com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.proxy.https.host = securehost.somewhere.ibm.com
The name
of the HTTPs proxy port:com.ibm.wps.pe.pc.legacy.service.ContentAccessServiceImpl.proxy.https.port = 443
HTTP client service
Several
components of the portal need to open HTTP or HTTPs connections to
other resources. The HTTP Client Service provides a central point
for configuration properties to these outbound connections. You can
set global settings for the SSL configuration and proxy server usage.
Notes: - These settings do not currently replace all individual portlet
proxy configuration settings. To set the proxy settings for specific
portlets, consult the documentation for each portlet for how to modify
their specific settings.
- Some functional components of the portal can overwrite each of
the settings if the component configuration differs from the global
value. The following describes the global settings only; if a component
allows you to set component specific properties, these are described
in the respective component documentation.
- global.ssl.configuration = (NodeDefaultSSLConfig)
- Use this property to specify the name of an SSL configuration
to be used for secure communication as defined in the WebSphere Application
Server security configuration.
- global.sso.domain = domain name
- Use this property to specify the domain that starts with a dot,
for example .a.com and denotes the range of hosts
to which single-sign on cookies, such as LTPA, are forwarded from
a client request. If the property is not set, single sign-on cookies
are not forwarded to any remote host.
- global.proxy.http.host = host name
- Use this property to specify a proxy host for HTTP URLs. If no
proxy host is set, the portal tries to load all HTTP URLs directly.
- global.proxy.http.port = port number
- Use this property to specify the port for the HTTP proxy. If
no value is specified, 80 is used as the default value.
- global.proxy.https.host = host name
- Use this property to specify a proxy host for HTTPs URLs. If no
proxy host is set, WebSphere Portal tries to load all HTTPs URLs directly.
- global.proxy.https.port = port number
- Use this property to specify the proxy port for HTTPs URLs. If
no value is specified, 443 is used as the default value.
- global.proxy.auth.credentialslot = slot name
- Set this property if you want proxy authentication to be used
for connections that use a proxy server. You must provide the user
ID and password in a credential slot of the portal credential vault.
You then specify the name of this credential slot in this property.
The credential must have the type UserPasswordPassive. Proxy authentication applies to the proxy server only, not to the
target server of the outbound connection.
- global.proxy.excludehost = host name
- Use this property to specify a particular host for which no proxy
connection is used, even if a proxy is configured. You can set this
property multiple times. Specify one setting for each host that is
excluded from proxy connections.
Cache Manager Service
The Cache Manager Service is responsible for managing the different
caches used in WebSphere Portal Express . The portal
provides two different types of caches: shared and non-shared.
- Shared caches
- The shared caches are cluster aware. This means that deleting
an element from the cache on one cluster node results in deleting
that element from the corresponding cache instances on all other nodes.
This ensures that frequently changing data are kept consistent over
the whole cluster installation.
- Non-shared caches
- The non-shared caches are used for data where cluster awareness
is of no concern. This avoids unnecessary network communication overhead.
Plan well ahead and apply special care when modifying
these parameters. There are two levels of parameters:
- cacheglobal parameters
- They specify the default setting which is to be used for all caches
unless explicitly overridden by the corresponding cache instance parameter.
- cacheinstance.cacheidentifier parameters
- They are used to override a global setting, for example the size
of the cache, for a specific instance of a cache.
Changing some or all of these settings can dramatically
improve or impair portal performance. Therefore it is recommended
not to change the shared setting for any cache unless the consequences
are absolutely understood and agreed. If you want to determine the
optimal values for the size, lifetime, admit-threshold and replacement parameters, monitor
the cache parameters during the staging phase of your portal installation.
Use the Tivoli Performance viewer, that is the WebSphere Application
Server PMI client (PMI
= Performance Monitoring Interface) to find the optimal settings for
your environment.
The parameters for the Cache Manager Service
for both shared and non-shared caches are listed in the following:
- cacheglobal.enabled = [ true | false ]
- cacheinstance.cacheidentifier.enabled = [ true
| false ]
- Use this parameter to control whether caching is enabled or not.
Use this parameter with care !
- cacheglobal.size = number
- cacheinstance.cacheidentifier.size = number
- Use this parameter to define the number of elements that can be
put into the cache before eviction takes place. The eviction uses
a "near LRU" algorithm.
- cacheglobal.shared = [ true | false ]
- cacheinstance.cacheidentifier.shared = [ true
| false ]
- Use this parameter to define whether a cluster-aware cache is
to be used or not.
- cacheglobal.lifetime = number
- cacheinstance.cacheidentifier.lifetime = number
- Use this parameter to specify the lifetime of elements in the
cache in seconds. When the specified lifetime is up, elements are
not discarded from the cache immediately. They are evicted when
the next element is inserted. Specifying -1 means an infinite lifetime. In this case no timeout is applied and
the cache entry is never evicted.
- randomizePercent = number
- cacheinstance.cacheidentifier.randomizePercent= number
Use this parameter to randomize cache entry lifetimes to some
extent. If all entries in a cache have the same lifetime, this can
result in high loads on the database when reloading entries, as large
amounts of entries are evicted at the same time.
Specify the
value for this parameter as a numeric value given in percent. For
example, a value of 25 means that all cache
entry lifetimes are up to 25% more or less than the default lifetime
(given by the lifetime parameter). No cache entry will have a lifetime
less than 50% of the default value, no matter how large you specify
the value for this parameter. By default no value is specified. In
this case lifetimes are not randomized, and all cache entries have
the default lifetime.
If you set the default lifetime parameter
to infinite by the value -1 , the lifetime
randomization setting is not applied, even if you specify a value
for the randomizePercent parameter.
You can
view the actual randomized lifetime of a cache entry by enabling tracing
for class com.ibm.wps.services.cache.AbstractCache.
You can set the following additional parameters
for non-shared caches. (Setting them for shared caches does no harm,
they will be ignored.)
- cacheglobal.replacement= [aggressive | moderate | conservative]
- cacheinstance.cacheidentifier.replacement=
[aggressive | moderate | conservative]
- Controls the eviction algorithm behavior.
- cacheglobal.admin-threshold = number
- cacheinstance.cacheidentifier.admin-threshold
= number
- Admittance threshold. Use this parameter to keep unwanted entries
from the cache. An entry is cached only if it is put into the cache
as often as specified by the value for this parameter. If you want
each entry to be cached, set this parameter to zero ( 0 ).
The cache identifiers are described in the following:
- com.ibm.wps.pe.deployedresources
- Use this cache instance to cache servlet configuration information
and the database representation of all web modules stored in the database.
- com.ibm.wps.pe.portletregistry
- Use this cache instance to cache the database representation of
all portlets stored in the database.
- com.ibm.wps.pe.portletdefinition
- Use this cache instance to cache the database representation of
all portlet applications stored in the database.
State Manager Service
The State Manager Service is the access point for managing the navigational
state of the portal. The navigational state represents the current
view of portal resources as displayed to a user.
- preprocessors = (com.ibm.wps.state.preprocessors.selection.StandardPortalSelectionImpl
)
- This parameter specifies a list of one or more preprocessors that
are used. It can take multiple values.
Notes: - If you want to add your own custom preprocessors in the WebSphere Integrated Solutions Console, you must first
enter the default values in the following sequence and then append
your custom preprocessors to the end of the list. This is for the
following reasons:
- If you specify a value for this parameter, that value overwrites
the default value.
- The default value is mandatory. Therefore you cannot replace it
by a different value.
- The following preprocessors must be arranged in order, as for
requests they are processed in that order.
- The required syntax is (classname (, classname) * ) 1 .
The default value is as follows:
preprocessors = com.ibm.wps.state.preprocessors.urlmapping.URLMappingPreProcessor,
com.ibm.wps.resolver.friendly.preprocessors.FriendlyPreProcessor,
com.ibm.wps.resolver.portal.ResolvedPreprocessor,
com.ibm.wps.state.preprocessors.selection.StandardPortalSelectionImpl,
com.ibm.wps.state.preprocessors.selection.FragmentSelectionImpl,
com.ibm.wps.state.preprocessors.selection.ResourceSelectionImpl,
com.ibm.wps.state.preprocessors.eclipse.ExtensionPreProcessor,
com.ibm.wps.state.preprocessors.portlet.RequestParameterMerger
Of the default values given, the following two selection preprocessors
are alternative options. They process the page selected by the user.
All other preprocessors are for portal internal use only and must
not be changed.
Note: Both of the following selection preprocessors
are mutually exclusive. This means that they cannot be used in combination
with each other.
- com.ibm.wps.state.preprocessors.selection.StandardPortalSelectionImpl
- This value implements the standard portal selection behavior which
prefers displaying pages over displaying labels. This means that if
a user selects a label, the portal displays a page under that label,
rather than the label itself with the message saying that there is
no content available. (In this case the page displayed is the last
page that the user selected under this label, or if that page is not
available, the first available page under the label.) This value is
the default.
- com.ibm.wps.state.preprocessors.selection.SimpleSelectionImpl
- This value implements a simple selection strategy; it always displays
the element selected by the user, regardless of whether the user
selects a label or a page. If the user selects a label, the portal
displays that label with the message that there is no content available.
You can replace this value for the previously listed default value.
- keymanager.lru.size = ( integer )
- Use this parameter to specify the history expiration limit of
portal pages visited by users. The number that you specify defines
the minimum number of different pages selected by the user after which
the portal can discard the render parameters of a page. (The decision
whether the render parameters of the page are actually discarded depends
on the expiration policy of the internal cache that stores the render
parameters of those pages.) If the user returns to a page after visiting
the specified number of other pages and if the
render parameters of that page have expired, the portal displays that
page in its default state.
You can specify by which circumstances
the render parameters of a page are stored or discarded:
- 1
- Each time that the user selects a different page, the render parameters
of the portlets on the previously selected page can be discarded.
- A positive integer
- Specify the required number of pages. The render parameters of
a given page can be discarded after the user has visited that number
of other pages.
- 0
- Render parameters are always stored in the portal session memory
and never discarded.
Do not specify a value less than zero ( 0 ).
Negative values are considered to be not valid.
URL normalization for search of portal
pages by external search engines
The following parameter
is used to configure the normalization of the URL of your portal.
URL normalization is required to enable external search engines to
crawl the content of your portal. For this purpose URL normalization
performs the following:
- It removes all elements from a portal page URL that are used for
portal internal purposes. For example, these are actions, which are
coded into the URL and change the portal state.
- It reduces the portal page URL to those elements that are required
for a crawler to read the URL and crawl the portal page.
- com.ibm.wps.state.outputmediators.OutputMediatorFactory.normalization_xsl_file
= ( UrlNormalization_MIN.xsl )
- Use this parameter to specify the XSL stylesheet file that defines
the transformation that should be used in order to normalize the portal
URL. (This parameter needs to be set all on one line and concatenated.)
The default value is UrlNormalization_MIN.xsl. The
following two files are available to allow for a minimum or maximum
transformation:
- UrlNormalization_MIN.xsl
- This XSL stylesheet contains the states for portlet-mode,
window-state, renderparameters, selection, and locale in the normalized URL. This transformation represents the minimum
set of states that have to be defined in the URL. All other states
are removed from the URL. This value is the default.
- UrlNormalization_MAX.xsl
- This XSL stylesheet contains the states for portlet-mode,
window-state, renderparameters, selection, solo, locale,
and screen-template. This maximum transformation
represents the set of states that can be defined in a normalized URL
for a web crawler. All other states are removed from the URL.
The meaning of the different states listed for the
minimum and maximum normalization style sheets is as follows:
- portlet-mode
- Portlet modes allow a portlet to display a different user interface,
depending on the task that the user performs with the portlet. A portlet
has five modes of display: view, help, edit, edit_defaults,
config.
- window-state
- Portlet states allow users to change how the portlet window is
displayed within the portal. Users can choose from three different
states: maximized, minimized, normal.
- renderparameters
- Parameters set to render a portal page.
- selection
- Defines the selected portal page.
- solo
- A portlet can also be displayed in solo state. Solo state hides
the portal theme elements, such as a banner, page navigation, or tool
bar.
- locale
- Defines the language in which the page is presented.
- screen-template
- Defines the screen that is used on the portal page.
- theme-template
- Defines the theme that is used on the portal page.
You can also set up your own URL normalization.
To implement a URL normalization that is different than those provided
by the two XSL stylesheets that come with the portal, create your
own XSL stylesheet and set it as the value for the URL normalization
parameter:
- Here is an example for creating your own XSL stylesheet:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="text()">
</xsl:template>
<!-- Traverse through the tree starting at the root element -->
<xsl:template match="root">
<xsl:copy>
<xsl:copy-of select="@*"/>
<!-- Search for the state node with the attribute type = navigational -->
<xsl:apply-templates select="state[@type='navigational']"/>
</xsl:copy>
</xsl:template>
<!-- Selection of all states which should stay coded in the URL -->
<!-- Allowed States: portlet-mode, window-state, renderparameters (param, value, text),
selection, solo, locale , screen-template -->
<xsl:template match="state">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates select=" . . . "/>
. . .
</xsl:copy>
</xsl:template>
. . .
. . .
. . .
</xsl:stylesheet>
- Set the name of the new XSL stylesheet as the value for the URL
normalization parameter:
com.ibm.wps.state.outputmediators.OutputMediatorFactory.normalization_xsl_file =
UrlNormalization_Your_Own_Style_Sheet_File_Name.xsl
Administrator Unique
Names Mapping Service
Administration portlets and themes
create URL links to other administration portlets and pages. If these
links were hardcoded, they would no longer be usable if you changed
the unique names of these pages. Therefore a service for obtaining
those unique names is provided in the
AdminUniqueNamesMappingService. This file contains key-value pairs mapping internal keys to the
actual unique names which are assigned to the referenced pages.
Note: If you change the unique name of a portal administration page using
the Manage Unique Names portlet, you also need to update that name
in the properties. This is required so that the theme and administration
portlets still function.
The available mappings are defined
as follows:
# ----------------------------------------------- #
# Portal administration page unique names mapping #
# ----------------------------------------------- #
# Internal key unique name #
# ----------------------------------------------- #
#
#CONTENT_LAYOUT = ibm.portal.Content
#APPEARANCES = ibm.portal.Appearance
#MANAGE_PAGES = ibm.portal.Manage Pages
#UNIQUE_NAMES = ibm.portal.Custom Unique Names
#ASSIGN_ROLES = ibm.portal.Resource Permissions
#PROPERTIES_PORTLET = ibm.portal.Page Properties
#MY_FAVORITES = wps.My Favorites
#ORGANIZE_FAVORITES = wps.Organize Favorites
#SET_PERMISSIONS = ibm.portal.Locks
#MANAGE_LOG = ibm.portal.Enable Tracing
#MY_PORTAL = ibm.portal.Home
#ADMINISTRATION = ibm.portal.Administration
#PAGE_CUSTOMIZER = ibm.portal.Page Customizer
#PORTLET_MANAGER = ibm.portal.Web Modules
#MANAGE_MY_PORTLETS = ibm.portal.Portlets
#MANAGE_MY_PORTLET_APPS = ibm.portal.Applications
#MANAGE_WEBSERVICES = ibm.portal.Web Services
#IMPORTXML = ibm.portal.Import XML
#SEARCH_CENTER = ibm.portal.Search Center
#VIRTUAL_PORTAL = ibm.portal.Virtual Portal
#LOGIN = wps.Login
#SELFCARE = wps.Selfcare
#APP_PROPERTIES = ibm.portal.Template and Application Properties
#APP_PARAMETER = ibm.portal.Template Parameters
#APP_ROLES = ibm.portal.Application Roles
#APP_TEMPLATES = ibm.portal.Templates
#APP_MEMBERSHIP = ibm.portal.Application Membership
#APP_CATALOG = ibm.portal.Catalog
#APP_LAYOUT = ibm.portal.Template and Application Layout
#PZN_PICKER_PAGE = ibm.portal.Personalization.Picker
Examples of where these unique names are used are:
Theme links for 'New Page', 'Edit Page', and 'Assign Permissions'.
Portal Security Services
The following sections describe the different configuration services
provided for Portal Access Control and authentication.
Access Control Data Management
Service
The Access Control Data Management Service contains
the configuration settings for Portal Access Control. The domain short
names have to correspond to the domain names that are defined for
the Data Store Service.
The following set
of properties is mandatory for each database domain that contains
resources that need to be protected by Portal Access Control:
- accessControlDataManagement.domain.domain_short_name.adminuser = full distinguished name of the administrative
user for this domain
- Use this property to define the administrative user. As the value
specify a full distinguished name that corresponds to a valid entry
in the associated user repository. This property is mandatory.
- accessControlDataManagement.domain.domain_short_name.admingroup = full distinguished name of the administrative
group for this domain
- Use this property to define the administrative group. As the value
specify a full distinguished name that corresponds to a valid entry
in the associated user repository. This property is mandatory.
- accessControlDataManagement.domain.domain_short_name.virtualresource = name of the virtual root resource of
this domain
- This property specifies the virtual root resource. The value is
the name of a virtual resource that actually exists in the domain
and represents the root of the protected resource hierarchy in this
domain. This property is meant for internal use only; do not change
its value.
The administrative user and group are granted administrator
roles on the full hierarchy of protected resources starting from the
virtual root resource of the domain defined with the third setting.
These roles are granted in addition to the portal roles of the user
or group and therefore not displayed in the Access Control portlets.
A valid set of values to these properties could for example look like
the following:
accessControlDataManagement.domain.rel.adminuser=uid=Bob,o=Your Company
accessControlDataManagement.domain.rel.admingroup=cn=Admins,o=Your Company
accessControlDataManagement.domain.rel.virtualresource=PORTAL
accessControlDataManagement.domain.cust.adminuser=uid=Bob,o=Your Company
accessControlDataManagement.domain.cust.admingroup=cn=Admins,o=Your Company
accessControlDataManagement.domain.cust.virtualresource=PORTAL
accessControlDataManagement.domain.comm.adminuser=uid=Bob,o=Your Company
accessControlDataManagement.domain.comm.admingroup=cn=Admins,o=Your Company
accessControlDataManagement.domain.comm.virtualresource=PORTAL
accessControlDataManagement.domain.jcr.adminuser=uid=Bob,o=Your Company
accessControlDataManagement.domain.jcr.admingroup=cn=Admins,o=Your Company
accessControlDataManagement.domain.jcr.virtualresource=PORTAL
The following additional properties of the Access
Control Data Management Service are optional:
- accessControlDataManagement.enableNestedGroups = (true)
- Use this setting to determine whether the group membership of
groups is exploited at all by the Portal Access Control component.
Supported values are: true and false. The default is true.
- accessControlDataManagement.enableTargetResourceGroupInheritance
= (false)
- Use this setting to determine whether the group membership of
groups is exploited by the Portal Access Control component for permission
enforcement on users or groups. If you specify false, you can only get permissions on user groups via roles on the groups
and on users via roles on the direct groups of which the user is a
member. Supported values are: true and false. The default is false.
- accessControlDataManagement.reorderRoleNames = (false)
- Use this setting to determine whether the role name contains the
unique name or the title of the resource on which the role was created.
Specify true when you use an external
authorization provider, such as IBM Tivoli® Access Manager, as this makes
it easier to find the role names. Supported values are: true and false. The default
is false.
- accessControlDataManagement.externalizeAllRoles = (false)
- This property is only applicable for externalization of resources
through the user interface. the default value is false. If the property is set to false and a resource
is externalized, then the following things happen:
- The resource and all descendants of this resource that are not
private and not externalized so far are externalized.
- The roles and role mappings that exist on all resources that were
identified in the previous step 1 are written into the external security
manager object space.
- For the root resource that was chosen to be externalized, a role
mapping for the Administrator role for the executing user is created
in the external security manager object space.
If this property is set to true, then in addition
to the previous three steps, roles are created in the external security
manager object space for all action sets for the root resource that
have not already been created in steps 2 and 3.
- accessControlDataManagement.createAdminMappingXMLAccess = (true)
- This property is only applicable for externalization of resources
through the XML Configuration Interface. If the property is set to
false and a resource is externalized the following happens:
- The resource will be externalized.
- The roles and role mappings on the resource are written into the
external security manager object space.
If the property is set to true, then in addition
to the two previous steps, a role mapping for the Administrator role
is created for the executing user in the external security manager
object space.
Connecting to the user repository during
startup: Change the following two settings if you want the portal
to wait and retry connecting to the underlying user repository, if
it is not available during portal startup. This might be necessary
in scenarios where the user repository is only available in a certain
time frame after the initialization of the portal startup. As the
domain administrative users and groups have to be resolved, the portal
cannot start without connecting to the user repository. The service
startup performs the specified number of attempts to connect to the
user repository, each time waiting for the specified time interval
before starting the next attempt. If none of the attempts is successful,
the service startup quits with an exception.
- accessControlDataManagement.ldapFailoverNumberOfAttempts = ( 1
)
- Use this property to specify how many times the service startup
attempts to connect to the user repository. The default is 1 (once).
- accessControlDataManagement.ldapFailoverInterval = ( 60 )
- Use this property to specify how long the service startup waits
until it retries to connect to the user repository. This value is
specified in seconds. The default is 60 seconds.
Authentication Service
The
Authentication Service contains the configuration settings for portal
authentication. Authentication means that users identify themselves
in order to gain access to the system. Usually they do this by a user
ID and password.
- authentication.execute.portal.jaas.login = (false)
- Use this property to enable or disable the execution of the portal
JAAS login:
- false
- Disables the execution of the portal JAAS login. This is the default.
Disable this property only if you have no JAAS Login Modules defined
for the portal application login configuration.
- true
- Enables the execution of the portal JAAS login. You can enable
this property if you have JAAS Login Modules defined for the portal
application login configuration.
This is related to performance.
Use the following properties to define the custom
filters in the various authentication filter chains in the portal.
Each of these properties takes a comma-separated list of the fully
qualified class names of the custom filter implementations. For concept
information about authentication filters refer to
Configuring authentication filters.
- login.explicit.filterchain = <none>
- Use this property to specify the custom filters for the filter
chain that is triggered for an explicit login by user name and password.
The classes listed in this property must implement the interface com.ibm.portal.auth.ExplicitLoginFilter.
- login.implicit.filterchain = <none>
- Use this property to specify the custom filters for the filter
chain that is triggered for an implicit login, that is if the user
is already authenticated to WebSphere Application
Server but has no portal
session yet. The classes listed in this property must implement the
interface com.ibm.portal.auth.ImplicitLoginFilter.
- logout.explicit.filterchain = <none>
- Use this property to specify the custom filters for the filter
chain that is triggered for an explicit logout. The classes listed
in this property must implement the interface com.ibm.portal.auth.ExplicitLogoutFilter.
- logout.implicit.filterchain = <none>
- Use this property to specify the custom filters for the filter
chain that is triggered for an implicit logout, that is if the user
got a session timeout. The classes listed in this property must implement
the interface com.ibm.portal.auth.ImplicitLogoutFilter.
- sessiontimeout.filterchain = <none>
- Use this property to specify the custom filters for the filter
chain that is triggered directly after an idle timeout of the session
occurred. The classes listed in this property must implement the interface com.ibm.portal.auth.SessionTimeoutFilter.
- sessionvalidation.filterchain = <none>
- Use this property to specify the custom filters for the filter
chain that is triggered for every request before the action handling
and rendering is processed. The classes listed in this property must
implement the interface com.ibm.portal.auth.SessionValidationFilter.
- filterchain.properties = <none>
- Use an arbitrary set of properties according to the previous pattern
to specify properties for any of your custom filters. The property
value is then available to the specified filter class in the SecurityFilterConfig object passed to its init method.
Credential Vault Service
You
can use the Vault Service configuration to specify Vault Adapter implementations
that are used by the Credential Vault Service to store credential
secrets. By default two Vault Adapter implementations are available: default-release and default-customization. Those Vault Adapters store credential secrets in the portal server
data store. For each implementation, define a unique string type,
a class name, and a domain. Optionally, you can specify a configuration
file, managing resources, and a read only flag.
You can define
the following properties for each Vault Adapter Implementation Type.
In order to differentiate the settings for each type, the properties
are in the format
vault.type.key . Replace
type by the Vault
Adapter Implementation Type, and replace
key by the key. The following list shows the keys that you
can append:
- class
- Use this key to specify the Vault Adapter Implementation Class
Name, but without the .class extension. This parameter
is mandatory.
- config
- Use this key to specify the path of a configuration file that
your adapter may need . This parameter is optional.
- domain = (rel)
- Use this key to specify the database domain where the segment
and slot configuration data is stored. In the special case of the DefaultVault, this also specifies where the actual credentials
are stored. This parameter is mandatory. Possible values are all available
database domains as specified in the DataStore Service. The default
value is rel; this specifies the release domain.
- manageresources = (false)
- Use this key to specify whether the VaultAdapter should create
and delete resources. This parameter is optional.
Note: If you set
this parameter to true, the adapter must have internal
support to manage resources. If you omit this parameter, it will default
to false .
- readonly = (true)
- Use this key to specify whether the underlying vault for this
adapter should be considered read only. This parameter is optional.
Note: If you set this parameter to true, the manageresources parameter is ignored. If you omit this parameter, it will default
to true .
Additionally, you can set the following configuration
values:
- systemcred.dn
- Specifies the Distinguished name (DN) of the vault administrative
user. All system credentials are stored under the user's account.
This key is set to the portal administrative user by default.
- export.userDN
- This is the user DN value of the XML Access user that is allowed
to import/export secrets via the XML Configuration interface. This
is usually the same user DN string as defined in the same configuration
file under the key systemcred.dn. This
user needs authority to use the XML Configuration interface and has
to be used during the import/export. Otherwise an import/export of
credential secrets is not possible.
- export.cipher
- The cipher used during export for encryption. This cipher has
to be available via Java JCE in the WebSphere Portal Express system. The default
value is AES.
- export.keyLength
- Number of bits used as key length for the cipher. The default
value is 128.
- export.enforceSSL
- This field controls if credential import/export must be done via
secured HTTP connection (value=true) or if it shall be allowed to
import/export credentials also via an unsecured HTTP connection (value=false).
The default value is true.
External Access Control Service
The
External Access Control Service is responsible for collecting any
authorization data from external security managers, such as IBM Tivoli Access Manager. These are the parameters set by the configuration of external
security managers procedures.
The following configuration parameters
can be modified in External Access Control Service. However, plan well ahead and apply special care when modifying
these parameters.
General properties of the External Access
Control Service:
These properties are used for general purposes
of the External Access Control Service.
- externalaccesscontrol.ready = (false)
- This flag indicates whether the configuration in this file has
been configured to connect to the External Security Manager. The default
is false.
- externalaccesscontrol.server = WebSphere_Portal
- externalaccesscontrol.application = WPS
- externalaccesscontrol.cell = cell
- Role name representations are qualified with a context built
by these three parameters. For example, the Administrator@External_Access_Control/xxx/xxx is represented as follows:
- Tivoli Access
Manager: Protected
object space entry
/WPSv6/Administrator@External_Access_Control/xxx/xxx/WPS/WebSphere_Portal/cell
Access Manager configuration:
Use the following
properties to configure the connection between WebSphere Portal Express and your Tivoli Access
Manager.
- externalaccesscontrol.pdroot = (/WPSv6)
- After you completed the AMJRTE and SrvSslCfg configuration tasks, the following directives are required to allow WebSphere Portal Express to use Tivoli Access
Manager as an External Security Manager. Provide the root of your
Protected Object Space for Portal Server entries.
- externalaccesscontrol.pduser = sec_master
- externalaccesscontrol.pdpw = passw0rd
- Use these parameters to provide an administrative user ID and
password with adequate rights in Tivoli to create, delete, modify
the objects in the Protected Object Space. You can use the WebSphere Application
Server PropFilePasswordEncoder
utility to mask the password. Using PropFilePasswordEncoder will
remove any comments and uncommented properties. Therefore create a
back up copy of this file for future reference. Example for IBM i Linux Windows:
AppServer_root/bin/PropFilePasswordEncoder
wp_profile_root/PortalServer/config/properties/ExternalAccessControlService.properties
externalaccesscontrol.pdpw
Example for :
Note: This command should
be typed on one line in a command line window.
- externalaccesscontrol.pdurl=file:///${WAS_INSTALL_ROOT}/java/jre/PdPerm.properties
- Use this parameter to specify the URL location of the Access Manager
properties file for AMJRTE. This URL must be in the format file:///directory_path_to_properties_file . HTTP URLs are not supported.
- externalaccesscontrol.createAcl = (true)
- This parameter is optional. Use this parameter to specify whether
Access Control Lists (ACLs) are created in Access Manager for roles
that are stored externally. The default is true.
If this parameter is set to false, the Access Manager
administrator will be responsible for all ACL linkages between Tivoli Access
Manager and WebSphere Portal Express. Possible values for
this parameter are:
- true
- A Tivoli Access
Manager ACL
will be created for every WebSphere Portal Express resource. This is
the default.
- false
- No ACLs will be created for portal objects.
- externalaccesscontrol.pdactiongroup = ([WPS])
- externalaccesscontrol.pdAction = (m)
- These parameters are optional. Use these parameters to specify
the action group and the customized actions to map to portal role
membership. If these items do not exist, they will be created at startup.
The values previously given are the default values.
Auditing Service
The auditing
service allows you to log a set of events into a separate audit log
file. All events are organized in groups. For example, the logging
events User created and User deleted are grouped together
and can therefore only be switched on or off together. The section Available events lists and describes
the events that are available for auditing.
The audit logging
output is written to the audit log file. No other log messages are
written to this file. For an explanation of the contents of the audit
log file refer to the section Audit log file.
Auditing service configuration:
By default the audit logging service is disabled. This means that
the service is loaded, but does not register any event listeners for
audit logging. The auditing service configuration is controlled by
the AuditService.
- audit.service.enable = (false)
- This is the global switch. Use it to switch the service on (true)
or off (false). The default setting is false.
The actual log file access of the service can be
configured by using the following two properties:
- audit.logging.class =
com.ibm.wps.services.audit.logging.impl.AuditLoggingImpl
- This property points to the logging class which writes the actual
log statements to the log file. By default, this is set to the
default implementation. Under normal circumstances there is no
reason to replace it with another class.
- audit.logFileName = log/audit_$create_time.log
- This property defines the location and the name of the audit log
file. The placeholder $create_time is replaced
by a timestamp during filename generation. A second placeholder $APPSERVER_NAME is used for a vertical cluster configurations
to make the log file name unique. Example:
audit.logFileName = log/audit_$APPSERVER_NAME_$CREATE_TIME.log
The auditing service allows
you to have the transaction ID written to the audit log file. The project ID can also be written to the audit
log file. As these IDs can be very long and might not be required
in every environment, you can disable the inclusion of the IDs.
- audit.showTransactionID.enable = (true)
- Use this property to disable transaction IDs in the audit log.
To do this, change the value to false. The default
value is true.
- audit.projects.enable = (true)
- Use this property to disable project IDs in the audit log. To
do this, change the value to false. The default value
is true.
You determine the events that you want to be logged
by enabling the appropriate properties as required. Set the events
that you want to enable to the value true. The following
groups of events are defined:
audit.groupEvents.enable
audit.userEvents.enable
audit.portletEvents.enable
audit.roleEvents.enable
audit.roleBlockEvents.enable
audit.ownerEvents.enable
audit.resourceEvents.enable
audit.externalizationEvents.enable
audit.userInGroupEvents.enable
audit.webModuleEvents.enable
audit.applicationRoleEvents.enable
audit.principalToApplicationRoleMappingEvents.enable
audit.roleToApplicationRoleMappingEvents.enable
audit.domainAdminDataEvents.enable
audit.designerDeployServiceEvents.enable
audit.impersonationEvents.enable
The default value for all of these settings is false. That means that no events will be logged by default,
even if you have switched the service on by setting the property audit.service.enable to true. For more
details about which events are included in each group refer to Available events.
To enable
one or more groups of events, change the default value of the appropriate audit.eventGroup.enable property to true.
Audit log file:
The
log file contains one audit log message per line. All log messages
start with a timestamp, followed by the optional transaction ID, the
message code and the event message. Each event message contains
the following:
- The user ID of the user who has performed the action which triggered
the audit event
- Additional information about the event itself.
Events for actions that run in a transaction are written to
the log file when the transaction is committed. If the transaction
is rolled back, no event messages are written to the log file.
Events for actions that do not run in a transaction are written
to the log immediately. In such cases it is not guaranteed that the
related action was completed successfully.
Available events:
This section lists the events that you can
log by using the auditing service. They are listed by the groups in
which they are available. If you enable one group, all events in that
group are logged.
Table 3. Groups of
events for the audit logging service| Audit logging group |
Audit logging event |
Meaning of the event |
| audit.groupEvents |
Group created event |
A new user group has been created via portal
UIs. |
| audit.groupEvents |
Group modified event |
A user group has been modified via portal
UIs. |
| audit.groupEvents |
Group deleted event |
A user group has been deleted via portal
UIs. |
| audit.groupEvents |
User created event |
A new user has been created via portal UIs. |
| audit.groupEvents |
User modified event |
A user has been modified via portal UIs. |
| audit.groupEvents |
User deleted event |
A user has been deleted via portal UIs. |
| audit.portletEvents |
Portlet Application created event |
A new web module or portlet application has
been created via portal UIs. |
| audit.portletEvents |
Portlet Application modified event |
A web module or portlet application has been
modified via portal UIs. |
| audit.portletEvents |
Portlet Application deleted event |
A web module or portlet application has been
deleted via portal UIs. |
| audit.roleEvents |
Role assigned event |
A portal role has been assigned to a user.
The user has been given the specified type of access permission on
all resources that are affected by this role. For example, this can
be EDITOR on Page1. |
| audit.roleEvents |
Role unassigned event |
A portal role has been unassigned from a
user. The user no longer has the specified access rights on the resources
that are affected by this role. For example, the user is no longer
EDITOR on Page1. |
| audit.roleBlockEvents |
Role block modified event |
The portal role block information of a resource
has been changed. The event message contains a list of blocked and
non-blocked roles on the given resource. As roles can either be inherited
or propagated, there are two separate lists for inheriting roles and
propagating roles. If only propagating role blocks have been changed,
the list for inheriting roles is empty and vice versa. |
| audit.ownerEvents |
Resource owner modified event |
The owner of a resource has been changed. |
| audit.resourceEvent |
Resource created event |
A new resource has been registered. This
event is triggered when the resource is registered in Portal Access
Control. |
| audit.resourceEvents |
Resource modified event |
A registered resource has been modified. |
| audit.resourceEvents |
Resource deleted event |
A registered resource is no longer registered
in Portal Access Control. This usually happens when a resource is
deleted. |
| audit.externalizationEvents |
Resource externalized event |
A resource has been externalized. This means
that access permissions to this resource are no longer controlled
by Portal Access Control, but by an external Access Manager. For example,
this can be Tivoli Access Manager. |
| audit.externalizationEvents |
Resource internalized event |
A resource has been internalized. It is now
controlled by Portal Access Control and no longer by an external Access
Manager. |
| audit.userInGroupEvents |
User added to group event |
A user has been added to a group. The user
is now a member of this group and therefore inherits access rights
from the group. |
| audit.userInGroupEvents |
User removed from group event |
A user has been removed from a group. The
user is no longer a member of that group and does no longer have the
inherited access rights. |
| audit.webModuleEvents |
Web Module installed event |
A new web module has been installed or deployed.
|
| audit.webModuleEvents |
Web Module uninstalled event |
An installed web module has been uninstalled. |
| audit.applicationRoleEvents |
Application role created event |
An application role has been created. |
| audit.applicationRoleEvents |
Application role deleted event |
An application role has been deleted. |
| audit.principalToApplicationRoleMappingEvent |
Application role assigned event |
An application role has been assigned to
a user. The user has been given the access permissions contained in
all the roles that are aggregated in this application role. |
| audit.principalToApplicationRoleMappingEvents |
Application role unassigned event |
An application role has been unassigned from
a user. The user no longer has the access permissions contained in
all the roles that are aggregated in this application role. |
| audit.roleToApplicationRoleMappingEvents |
Role added to application role event |
A portal role has been added to an application
role. All permissions contained in the portal role are added to the
application role. Effective immediately, these added permissions are
given to all users or groups to whom the application role is currently
assigned. |
| audit.roleToApplicationRoleMappingEvents |
Role removed from application role event |
A portal role has been removed from an application
role. The users who had this application role no longer have the access
permissions that are contained by this role. |
| audit.domainAdminDataEvents.enable |
Domain administration data initialized event |
The administrative data for a domain, such
as administrative user, administrative group, and virtual root resource,
has been initialized during the startup of the portal. For the lifetime
of the current portal process, this user and group have administrative
permissions on the domain resource hierarchy, starting from the virtual
root resource. For details about this refer to the Access Control
Data Management Service. This event is always thrown for each defined
domain during server startup. As this is done by the system, no performing
user will be logged. |
| audit.designerDeployServiceEvents.enable |
Component installed event |
A portlet application has been created by
using IBM Lotus Component Designer. |
| audit.designerDeployServiceEvents.enable |
Component modified event |
A portlet application created by using IBM Lotus Component
Designer has been modified. |
| audit.designerDeployServiceEvents.enable |
Component uninstalled event |
A portlet application created by using IBM Lotus Component
Designer has been deleted. |
| audit.impersonationEvents |
Impersonation started event |
A user started impersonation with another
user. |
| audit.impersonationEvents |
Impersonation ended event |
A user ended impersonation with another user. |
| audit.impersonationEvents |
Impersonation attempted with no permission
event |
A user tried to impersonate another user
but has no permission. |
Puma Store and Validation services
The following sections list and describe the configuration services
for Portal User Management (PUMA): the Puma Store Service and the
Puma Validation Service.
Puma Store Service
The Puma Store
Service contains the configuration settings for Portal User Management.
The following properties configure both the Portal User Management
and the PUMA SPI:
- store.puma_default.user.fbadefault.filter =
- Defines the default search attribute for users. Usually this is
the same as the Relative Distinguished Name (RDN) attribute of the
LDAP. Depending on your environment, it might be a different attribute.
The value for this property should correspond to the value of one
of the following parameters in wkplc.properties, depending on your security configuration:
- federated.ldap.loginProperties
- standalone.ldap.loginProperties
- store.puma_default.group.fbadefault.filter =
- Defines the default search attribute for groups. Usually this
is the same as the RDN attribute of the LDAP. Depending on your environment,
it might be a different attribute. The value for this property should
correspond to the value of one of the following parameters in wkplc.properties, depending on your security configuration:
- federated.ldap.loginProperties
- standalone.ldap.loginProperties
- store.puma_default.user.base.attributes =
- Defines the attribute subset that portal loads during direct user
lookups, for example at Login. Attributes that are not defined in
this list are loaded by a separate request to the backend user store.
- store.puma_default.user.minimum.attributes =
- Defines the attribute subset that portal loads during attribute
searches for users. Attributes that are not defined in this list are
loaded by a separate request to the backend user store.
- store.puma_default.group.minimum.attributes =
- Defines the attribute subset that portal loads during attribute
searches for groups. Attributes that are not defined in this list
are loaded by a separate request to the backend user store.
- store.puma_default.userManagement.cacheMode = (true)
- Defines whether Puma uses a cache or not. The default for this
property is true.
- store.puma_default.logDuplicateKeyExceptions = (true)
- Use this property to determine whether the DataStore component
writes DuplicateKeyException error messages out to the portal log
or not. This does not influence the error handling: With either setting,
the exceptions are handled without an error to the portal system.
- true
- This is the default. If this property is set to true or if the property is not set at all, the exception error messages
are written to the log. The exceptions are handled without error to
the portal.
- false
- If you set this property to false, the
error messages are not written out to the log. The exceptions
are handled without error to the portal.
The following properties configure only the
Portal User Management, but not the PUMA SPI:
- store.puma_default.puma.commonname = ( {0} {1} )
- The Registration / Edit My Profile portlet
can generate the common name (CN) of a user automatically. This property
defines how the CN is generated. You can define dynamic and static
parts. Dynamic parts are added by using {X}, where X stands as a reference number to
the puma.commonname.X that defines the attribute
that you want to place here. Dynamic parts can only be user attributes
that are available and valid. The default is {0} {1}.
- store.puma_default.puma.commonname.parts =
- Defines the number of dynamic parts in the common name.
- store.puma_default.puma.commonname.X =
- The user attribute for dynamic part X. X must be between 0 and puma.commonname.parts -1. The default is puma.commonname.0
= givenname and puma.commonname.1 = sn.
Puma Validation Service
The PUMA Validation Service contains the configuration settings for
the Validation component of PUMA.
Properties for user validation:
- user.YOURATTRIBUTE.max = (60)
- Defines the maximum number of characters that is allowed for the
defined YOURATTRIBUTE. The default is 60.
- user.YOURATTRIBUTE.min = (1)
- Defines the minimum number of characters that is allowed for the
defined YOURATTRIBUTE. The default is 1.
- user.YOURATTRIBUTE.charset = (ascii)
- Defines the character set against which characters are validated.
Supported values are ascii and unicode. The default is ascii.
- user.YOURATTRIBUTE.extra_chars = ( -._ )
- Defines extra special characters which are not in the supported
character set, but should be treated as valid. By default, the dash,
period, and underscore are valid: -._
Notes: - The YOURATTRIBUTE portion of the property
needs to be spelt in uppercase.
- The sets of attributes listed in the following sections follow
the same pattern as the one previously.
Settings for the attribute user.fbadefault.filter defined in the Puma Store Service:
- user.UNIQUEID =
- For this property specify the value of the user.fbadefault.filter attribute that is defined in the Puma Store Service.
- user.UNIQUEID.min = 1
-
- user.UNIQUEID.max = 60
-
- user.UNIQUEID.charset = ascii
-
- user.UNIQUEID.extra_chars = -._
-
Properties for group validation:
- group.RDN=
- For this property specify the value of the group.fbadefault.filter attribute that is defined in the Puma Store Service.
- group.extra = -,_
-
- group.RDN.min = 1
-
- group.RDN.max = 200
-
Properties for password validation:
- password.min_characters = 5
-
- password.max_characters = 60
-
- password.charset = ascii
-
- password.extra_chars = -._
-
The XML configuration interface
For hints
on how to export a configuration from an existing portal and import
it to another portal, refer to the documentation about the portal
XML configuration interface.