Configure a web content authoring environment
Install the authoring portlet
Pages that include the Web Content Manager authoring portlet and the local rendering portlet are created when you first install WebSphere Portal. Run the authoring portlet configuration task if you have previously uninstalled your authoring or local rendering portlets. The authoring portlet configuration task will automatically create Web Content Manager pages and install the authoring portlet and local rendering portlets.
Install on AIX, IBM i, Linux, Solaris, and Windows
- Open a command prompt and run...
cd WP_PROFILE/ConfigEngine ./ConfigEngine.sh configure-wcm-authoring \ -DPortalAdminPwd=foo \ -DWasUserid=username \ -DWasPassword=foo
- Log out of the portal and log back in.
- Select Web Content from the product banner to access the authoring portlet.
- If the authoring portlet does not display after installing in a cluster, we might need to activate the portlet.
Install on z/OS
- Start the Customization Dialog.
- Navigate to the Configure Web Content Manager panel:
Configure WebSphere Portal | WebSphere Portal for z/OS | Application Configuration Tasks | Configure Web Content Management | Deploy Authoring Portlets | Define variables
- Select the option for the variables to define, and follow the panels to define the variables.
- Generate the customization jobs.
- Follow the Customization Dialog instructions for submitting the customization jobs.
- If the authoring portlet does not display after installing in a cluster, we might need to activate the portlet.
Locale consistency
The language displayed in the authoring portlet is determined by the region or locale of the user. There are, however, some elements of the authoring portlet that use WebSphere Portal functions, such as date selection fields. These will be displayed using the locale of the WebSphere Portal server. For this reason, the language and locales of the site being created, the client and server should be consistent.
If the site contains content in different languages, then a separate Web Content Manager authoring applications should be setup for each language on different WebSphere Portal Servers. These can then be combined into one site using a staging server.
If a user changes their locale, any currently opened Web Content Manager dialogs will be closed. A user will also have to start a new session before it is displayed using the new locale. It is best practice to have the client's correct locale set prior to using Web Content Manager.
Web content authoring options
We can tailor the authoring behavior of the web content environment by changing configuration settings such as workflow, profiling, and version control.
Manage authoring options in the WCM WCMConfigService service.
Enable workflows
As default, the IBM Web Content Manager application will workflow content items only. We can update the WCM WCMConfigService service to enable workflows for different items.To enable workflows, create a new property for the item type to which to apply workflow, and specify a value of...
com.aptrix.pluto.workflow.WorkflowControl
We can enable workflow for the following item types:
- Content items (control.Content)
- Presentation templates (control.Style)
- Authoring templates (control.Template)
- Taxonomy items (control.Taxonomy)
- Categories (control.Category)
- Site area items (control.SiteArea)
- Library components (control.Cmpnt)
For example to enable workflow for authoring templates:
Property name control.Template Value com.aptrix.pluto.workflow.WorkflowControl To disable workflow for an item type, set the property to "false". For example, to disable workflow for authoring templates:
Property name control.Template Value false
If workflows are enabled for the following items, a workflow view will not be available in the item views navigator.
- Site areas.
- Taxonomies and categories.
- Workflows, workflow stages, or workflow actions.
Individual items can still be moved through workflow stages by accessing them through the normal item views and approving them.
Only content items can be moved through a workflow using the web content API. If you enable workflows for other item types, you will not be able to approve or reject these items using the API.
Enable profiling
As default, the Web Content Manager application will profile content items only. We can update the WCM WCMConfigService service to enable profiling for different items.To enable profiling, create a new property for the item type to which to apply profiling, and specify a value of com.aptrix.pluto.taxonomy.ProfileControl for the property. We can enable workflow for the following item types:
- Content items (control.Content)
- Presentation templates (control.Style)
- Authoring templates (control.Template)
- Taxonomy items (control.Taxonomy)
- Categories (control.Category)
- Site area items (control.SiteArea)
- Library components (control.Cmpnt)
For example to enable profiling for components:
Property name control.Cmpnt Value com.aptrix.pluto.taxonomy.ProfileControl
To disable profiling for an item type, set the property to "false". For example, to disable profiling on components:
Property name control.Cmpnt Value false
Version control options
By default version control is enabled with the following properties:
- versioningStrategy.AuthoringTemplate
- versioningStrategy.Component
- versioningStrategy.Content
- versioningStrategy.PresentationTemplate
- versioningStrategy.Taxonomy
- versioningStrategy.Workflow
- versioningStrategy.Default
We can use the following values to specify version control settings:
always A version is saved every time a non-workflowed item is saved, or every time a workflowed item is published. manual Versions will only be saved when a user with at least editor access chooses to save a version. This setting causes the following changes in the interface:
- The Save Version button is available in the read mode of non-workflowed items and in workflowed items in the published state.
- The Save and Version button is available in the edit mode of non-workflowed items and in workflowed items in the published state.
never Disable version control for an item type. If a version control strategy is not defined for an item type, then the version control strategy specified in by the versioningStrategy.Default property is used.
Inheritance options
By default, inheritance is automatically propagated down to each item. We can disable automatic inheritance by specifying the following property:
Property name default.inherit.permissions.enabled Value false When this setting is specified, it is applied only to new items. The inheritance on existing items will remain unchanged.
Hierarchical item locking options
When a content item is being edited, it is locked. Other users are prevented from editing the content item until it is unlocked. Locking of site areas, taxonomies and categories is configurable and is not enabled by default. To enable locking for hierarchical item types, specify the following properties: change the following parameters to "true":
Property name Value wcm.authoringui.lock.taxonomies true wcm.authoringui.lock.categories true wcm.authoringui.lock.siteareas true wcm.authoringui.lock.projects true When locking is enabled for site areas, we cannot create any children within the locked site area. For example, if a site area is locked, we cannot create any new site areas or content items within that site area until it is unlocked. This applies only to direct children of the locked parent. Items that are descendants of the children of a locked parent are not affected.
Define valid mime types for the image element
You define the mime types of files allowed to be uploaded into the image element using the imageresourcecmpnt.allowedmimetypes property and a list of mime types for the value. For example:
- Property name: imageresourcecmpnt.allowedmimetypes
- Value: image/gif,image/jpeg
This will prevent users uploading non-image files into the image element.
Active content filtering
Active content filtering provides the ability to strip specified HTML fragments from HTML entered in elements. This includes rich text and HTML elements. Active content filtering is configured using the active.content.filtering.enable property. By default, active content filtering is enabled.If enabled, this will prevent a user from introducing malicious code into a website such as cross site scripting.
For example, if a user entered this code into an HTML element:
Welcome <a href="javascript:window.alert("boo!")">my link</a> <script language="javascript">window.alert("boo 2!")</script> Click the link for a surprise.It would be changed to this when saved:
Welcome <a href="<"- active content removed -->">my link</a> <"- active content removed --> Click the link for a surprise.
Set the default child placement position
We can set the parameter wcm.authoringui.childPlacementDefault to specify the default placement of new content items.
Property value Description start This setting will, by default, place a new content item as the first content item within a site area. end This setting will, by default, place a new content item as the last content item within a site area.
- If this parameter is not set, the default child position will be "end".
- The default placement position specified in an authoring template will override this setting for content items created with that authoring template.
Set the size of the breadcrumb library dropdown
We can set the parameter wcm.authoringui.breadcrumbLibrariesMaximum to specify the number of libraries that should be shown in the authoring interface breadcrumb. For example, wcm.authoringui.breadcrumbLibrariesMaximum=16
- If this parameter is not set, only the first 10 libraries are displayed.
- The value of this parameter must be an integer between 5 and 50.
- IBM recommends that its value should be between 10 and 20.
- If more than this number of libraries exist, the remaining libraries are accessible using the Select from all libraries option.
Expired items
By default, expired items are displayed alongside published and draft items.
To determine if expired items are listed in views, we can specify the wcm.authoringui.showexpireditems property in the WCM WCMConfigService service.
- If set to true, expired items are displayed alongside published and draft items.
- If false, only published and draft items are displayed.
- If not specified, this setting defaults to true.
Configure authoring portlet search
We can change the configuration of the authoring portlet to change how search works.Manage authoring portlet search options in the WCM WCMConfigService service.
We can specify the following properties:
- wcm.authoringui.advancedsearch.searchonselection
- Possible values are true or false.
- If set to true, when you click Advanced Search, an advanced search will automatically be executed based on any text currently entered in the basic search. If nothing has been entered in the basic search, advanced search is not automatically executed.
- If false, advanced search will not automatically be executed if there is existing text in the basic search field.
- If the property is not specified, this setting will default to the false behavior.
- wcm.authoringui.simplesearch.addstar
- Possible values are true or false.
- If set to true, a wildcard character is added to the end of text entered in the basic search. For example, searching for Span will automatically search for Span* and will display search results that have a title, description or keywords that begin with the word Span such as Spanish.
- If false, only exact matches to the text entered in the basic search field will be searched for.
- If the property is not specified, this setting will default to the false behavior.
- wcm.authoringui.advancedsearch.addstar
- Possible values are true or false.
- If set to true, a wildcard character is added to the end of text entered in the advanced search. For example, searching for Span will automatically search for Span* and will display search results that have a title, description or keywords that begin with the word Span such as Spanish.
- If false, only exact matches to the text entered in the advanced search field will be searched for.
- If the property is not specified, this setting will default to the false behavior.
Import large files and images
Overview
Because importing large files into Web Content Manager can have a negative impact on performance, we can adjust several settings to ensure better performance when importing files.Before updating the settings for large file handling, review the following considerations:
UNIX note: If we are running on a UNIX operating system, ensure that you have used the ulimit -f command to set the maximum size of files that can be created to be at least the size of the largest file you would need to upload to the content server. The command ulimit -f unlimited removes any limit on file size. When setting the size, also make sure the system has sufficient disk space to support the setting.
Disk space requirements: When importing files, a temporary directory is used to store the files during the upload process. If the size of the uploaded files exceeds the available disk space for the temporary directory, the import operation fails. When uploading large files, ensure that there is sufficient disk space to accommodate the import. The location of the temporary directory is specified by the jcr.binaryValueFileDir property in the WP_PROFILE/PortalServer/jcr/lib/com/ibm/icm/icm.properties file.
- Log in to the WebSphere Integrated Solutions Console.
- Click...
Resources > Resource Environment > Resource Environment Providers > WCM WCMConfigService > Custom properties
Cluster note: If we are using this web content server as part of a cluster, ensure that we use the WebSphere Integrated Solutions Console for the deployment manager when manipulating configuration properties.
- For the resource.maxUploadSize property, specify a value in megabytes corresponding to the size of the largest file to allow to be imported. For example, if you do not want to allow files larger than 34 MB to be imported, update the resource.maxUploadSize property to have a value of 34. Although IBM recommends that this value not exceed 100 MB, we cannot upload files larger than 512 MB.
- For the resourceserver.maxCacheObjectSize property, specify a value of 300 KB or less.
- Add the transaction.sync.remove property, and specify a value of true.
- Click Servers > Server Types > WebSphere appservers > portal_server > Server infrastructure > Administration > Custom Properties
- Add the protocol_http_large_data_inbound_buffer property, and for the value specify the maximum file size in bytes. This value should correspond to the value you set for the resource.maxUploadSize property in the WCM WCMConfigService service.
Note that the protocol_http_large_data_inbound_buffer property uses bytes. So if you specified a value of 34 MB for the resource.maxUploadSize property, you would specify a value of 35651584 bytes for the protocol_http_large_data_inbound_buffer property.
- Click Resources > JDBC > Data sources > datasource_name > Custom properties
- Specify the fullyMaterializeLobData property with a value of false.
- Click Resource > JDBC > Data sources > datasource_name > Connection pool properties.
- Increase the maximum number of database collections allowed for the application server by increasing the value of the Maximum connections field to a value greater than the default 50 connections.
- If we are working with files larger than 100 MB, increase the web containers transaction timeout setting.
- Click Servers > Server Types > WebSphere appservers > portal_server > Container Services > Transaction service.
- Increase the value of the Total transaction lifetime timeout setting from the default setting of 120 seconds.
- Increase the maximum number of threads allowed in the thread pool used by the web container.
- Click Servers > Server Types > WebSphere appservers > portal_server > Thread pools > WebContainer.
- Set the value of the Maximum Size field to 100 threads.
- For IBM HTTP Server Version 7, increase the connection timeout value for connections to the application.
- Click Servers > Server Types > web servers > web_server > plug-in properties > Custom properties > New.
- In the name field, enter ServerIOTimeout.
- In the value field, enter the timeout value in seconds.
The default value is 60 seconds. However, when working with large files, this default value is typically insufficient and can cause a false server error response to be sent, which in turn causes the portal to reissue the request. Specify a timeout value that is long enough to allow a failing request to receive a response, or enter -1 for an unlimited timeout value.
- Click Save to save the configuration changes.
- Restart the portal for the settings to take effect.
If the portal's policy cache manager indicates that a number of web container threads are hung, set the cacheinstance.com.ibm.wps.policy.services.PolicyCacheManager.lifetime property in the WP CacheManagerService service to a value of -1. This setting reduces the database connections and load times and helps prevent threads from hanging.
Increasing time-outs
If users are experiencing timeout errors when saving items, we can increase the total transaction lifetime timeout setting of the WebSphere Portal server.The total transaction lifetime timeout setting is changed using the WebSphere Integrated Solutions Console.
Go to...
Servers | Server Types | WebSphere appservers | portal_server | Container Services | Transaction Service
The total transaction lifetime timeout setting should be changed to the same amount on all the servers in the web content system.
Alternatives to increasing server time-outs
Increasing the total transaction lifetime timeout setting may not always be the best solution to server time-outs as increasing this setting too much may cause a drop in performance. Timeout errors generated when saving items occur when the current transaction finishes before the item has been saved. If the item we are saving contains large amounts of data, it may be better to redesign the item rather than change the total transaction lifetime timeout setting:
Option Details Authoring Templates If a large number of elements have been added to an authoring template, you may experience a timeout error when saving. Instead of using a single authoring template, create multiple authoring templates containing only those elements required for a specific task. Presentation templates and components You may receive timeout errors when saving presentation templates or components containing large amounts of HTML or rich text in their designs. You should instead create multiple HTML or rich text components and then reference these in the presentation templates or component designs. Site areas and content items You may receive timeout errors when saving site areas and content items containing elements that use large amounts of HTML. You should instead create multiple HTML or rich text components and then reference these in element designs.
If a large number of elements have been added to a site area or content item, you may also experience a timeout error when saving. In this case, you should reduce the number of elements stored in the site area or content item.
Downloadable files Another alternative to creating web content containing large amounts of HTML or rich text is to provide information on the website in the form of downloadable files. These can be stored as file resource elements.
Configure remote server access for links
Before adding links to files and documents stored in remote content management systems into web content elements, configure the server with information about the remote system and the settings used to handle communication with the system.
IBM Content Manager and SSL usage: IBM Content Manager Services for Lotus Quickr provides the capability to link to documents stored in IBM Content Manager. These links are generated according to the base service URL configured in IBM Content Manager Services for Lotus Quickr, as specified by the urlBaseService property in the cmpathservice.properties file. If you have enabled Secure Sockets Layer (SSL) encryption for the portal, verify that the base service URL reflects the https protocol and not the http protocol to ensure that links are generated correctly. Refer to the documentation for IBM Content Manager Services for Lotus Quickr for details on how to update the urlBaseService property.
To prevent linking to unsafe servers, specify a list of allowed domains that the portal can access using the portal's AJAX proxy component. We can use the global AJAX proxy configuration to customize the outgoing HTTP traffic, such as applying specific HTTP timeout values or configuring an outbound HTTP proxy server. To do this, map the URL patterns for the ECM server to the federated_documents_policy dynamic policy using the WP ConfigService configuration service.
- From the dmgr console...
Resources | Resource Environment | Resource Environment Providers | WP ConfigService | Additional Properties | Custom Properties | New
- Enter the property name wp.proxy.config.urlreplacement.federated_documents_policy.suffix, and set the string value to the URL pattern of the ECM server.
For example, to enable the server to access information from the ECM server ecm.example.com on port 10038 over HTTP, you would add:
wp.proxy.config.urlreplacement.federated_documents_policy.1=http://ecm.example.com:10038/*
The value of the property key suffix can be any value as long as it is unique within the set of keys mapping to the federated_documents_policy.
- Create additional properties as needed for any other ECM servers that you need to access through the server.
- Save the changes, and restart the portal server.
If a user tries to access a server (for example, www.example.com) that has not been added to the list of allowed domains, the following message is displayed:
Access to remote server www.example.com has not been granted. Please contact the system administrator.
Set up support for federated documents
Overview
Before we can access metadata from federated documents, you need to configure access to the remote servers containing the documents and specify information about the feeds or service documents used to retrieve the documents. We can also tune the cache settings that are used with the federated documents feature.
Authentication requirement: Before we can use the federated documents feature, complete one of the following steps:
- Enable single sign-on (SSO) in IBM WebSphere Application Server between the portal server and the content management system.
- Use a content management system that supports HTTP basic authentication, and enable a credential vault slot that stores the credentials to authenticate with the remote server.
If we are setting up single sign-on between IBM Lotus Quickr and the portal server, export the SSO key from the Lotus Quickr server and import it into the portal server, rather than the other way around.
See also
- Configure access to remote systems for federated documents
- Configure the federated documents feature
- Cache tuning for federated documents
Parent: Configure a web content authoring environment
Related
Manage portlets in the cluster
Set service configuration properties
Inserting a link to remote content
IBM DB2 Content Manager publication library
AJAX proxy configuration