Shared database domains
Database domains classify and help you determine how to distribute portal data. To maximize data availability, you can distribute portal data across multiple databases and for some domains, share data between multiple lines of production. You can choose to transfer a single database domain or multiple domains.
When you separate WebSphere® Portal data, you can store each category of data in its own set of database tables or the file system. The sets of databases tables and schemas for portal resources are called database domains. Database domains support the storage and transfer of data by category, for example, Configuration, Release, Customization, Community, and IBM® Java Content Repository (JCR). When you separate your data, you can share domains across multiple portals. You can also spread the different domains across different database types. For example, you can choose to leave LikeMinds data on your default database and move all other data to another database. The separation of the domains can be used to support production environments, where the production nodes are split into separate clusters. Each cluster can run independently, but share the Community and Customization database domains, for example. Each of these clusters is called a line of production.
Preferences are kept in layers that are modifiable based on portlet modes. For example, you can find one layer of default preferences that are defined by the portlet deployment descriptor. This layer is modifiable within the CONFIG mode that is supported by WebSphere Portal. In WebSphere Application Server, the values of the portlet deployment descriptor are read-only. WebSphere Portal provides one more preference layer that enables portal administrators to specify different default values per portlet window. This capability is supported through the portlet mode EDIT_DEFAULTS, and applies to all who use the same portlet window. There is no such preference layer in WebSphere Application Server. Both products support the standard modes: VIEW, EDIT, and HELP. When a user customizes a portlet on a page in any standard mode, the user can change their personal portlet preferences. Default preferences on a per page or per portlet base cannot be set in any standard mode; you need to use custom portlet modes instead. Portlet preferences are stored in the customization domain when stored by users (typically in edit mode) on the entity level. Whereas, when you use configure mode, you're working on the portlet definition level and the portlet preferences are stored on the release level.
- Data cannot be transferred to an Apache Derby database.
- Data cannot be transferred from an IBM DB2 Universal Database™ for z/OS database.
z/OS only: The only two supported database management systems for WebSphere Portal are Derby and DB2® for z/OS. Therefore, you can transfer data only from Derby to DB2 for z/OS.
- Configuration data
- This data defines the portal server setup, such as database connection, object factories, and deployment descriptors. This type of data is constant during the run time of a server node. Configuration data is typically kept in property files and is either protected by file system security or application server administration rights.
- Release data
- This data includes all portal content definitions, rules, and rights that are designed
externally then brought into the portal by a staging process, such as Page Hierarchy, available
Portlets and Themes, Templates, Credential Slots, Personalization Rules, and Policies. These resources are typically not modified during production and need
administrative rights to do so. Administrators typically create release data on an integration
server and stage it to the production system. Release data is protected by access control and
contains only data, not code. In an environment that consists of multiple lines of production, one
copy of the release data exists per cluster. Release data includes the following two separate domains:
- Release: Contains portal static site configuration, including access control, pages, and portlets.
- JCR: Contains authored content, Personalization rules, and theme policy definitions.
- Customization data
- This data is associated with a particular user only and cannot be shared across users or user groups. Typical examples are Portlet Data or Customized Pages (Implicitly Derived Pages). Because this data is scoped to a single user only, access control protection is simplified.
- Community data
- This data includes all resources that are modified during production. Typically, users and groups are allowed to modify or delete shared resources. Community resources are protected by access control.
Database domain | Sharable | Storage method |
---|---|---|
Release | no | database |
Customization | yes | database |
Community | yes | database |
JCR | no | database |
Feedback | yes | database |
LikeMinds | yes | database |
Type | Portlet mode | Domain | Shareable between multiple lines of production |
---|---|---|---|
Administrator preferences | config | release community |
no |
Shared preferences | edit_defaults | release community |
no |
Personalized preferences | edit | customization | yes |
For maintenance and staging purposes, you can take a single line of production out of service while another line is still serving requests with the old data. After the first production line is updated and back in service again, the second line is updated by using the same approach. Updates of data in the shared domain are critical because they influence the other production line.
The capacity of the entire environment must be greater than the intended use so that individual servers can be taken out of production without affecting application availability. To ensure that all of the system resources are available for the portal, production systems must be dedicated to the portal. You must not run any other server software that is not related to the portal.
- Community
- Customization
- Feedback
- LikeMinds
- Release
- JCR
Configuring portlet entity caches for multiple lines of production
You need to configure the portal cache settings, if you plan to use multiple lines of production and if portal users customize portlets to change their personal portlet preferences. Since portal caches portlet entities, if the cache is not refreshed portal preference changes created on a first line of production are not visible on the second line of production. It is important to cache the most relevant portlet entities. Disabling these caches degrade portal performance. You must therefore choose a cache lifetime, which balances your need for data coherence between lines of production and your need for portal performance. You can configure the lifetime of the corresponding portal caches com.ibm.wps.pe.portletentity and com.ibm.wps.pe.portletentitycounter. Both caches are accessed many times during portal request processing.
- cacheinstance.com.ibm.wps.pe.portletentity.lifetime=900
- cacheinstance.com.ibm.wps.pe.portletentitycounter.lifetime=900
Sharing of VMM databases
The VMM database feature makes it much simpler to use multiple repositories, since this capability is achieved through configuration, rather than development, with the use of the new VMM. In essence, with this feature you can map entries from multiple individual user repositories into a single virtual repository. The federated repository consists of a single named realm, which is a set of independent user repositories. Each repository might be an entire external repository or in the case of LDAP, a subtree within that repository. The root of each repository is mapped to a base entry within the federated repository, which is a starting point within the hierarchical namespace of the virtual realm. The Virtual Member Manager (VMM) databases for a full repository and for the property extension can be shared between lines of production. If the VMM databases are out of service, WebSphere Portal does not function.