To make the most effective use of a portal and content management platform, personalization is a critical component of delivering the most value to end users. Regardless of what type of constituents you may be serving, content relevance is key to supporting business goals like self-service, communication within a geographically distributed organization, lead generation and customer loyalty effectively. This especially holds true when serving external parties, as they generally have a lower threshold for digging through your site to locate a particular item of interest and are apt to leave or dial a helpdesk if their efforts cannot locate the relevant information.
Optimal delivery of content can be achieved through a variety of methods, but it is generally a blend of security and filtering via meta data that can drive the most return with the least amount of upfront effort and ongoing upkeep. In a portal environment various platform components have their strong suits and by combining the capabilities of enterprise portal and content platforms much of the groundwork for personalization can be achieved in a configuration-based manner.
In our discussion we will cover terminology and concepts, example scenarios and technical implementation strategies to help showcase how personalization of content can be achieved within a portal.
To lay a foundation for our examination, the following concepts and terminology will help us to convey how various layers of technology interact to ultimately provide personalization to end users.
Security and Filtered Delivery
It is important to understand what content is sensitive and needs true security, opposed to simply targeted, filtered delivery. There is often times some confusion that in order for content to be delivered in a personalized manner it needs to have certain security applied to it. Often times it is more the case that they a variety of content is actually accessible to a broad audience, but only portions of it make sense given the context of a particular group of users. Essentially this means that some of the personalization will be delivered implicitly (filtering based on metadata) and or filtered explicitly (based on security settings applied to the materials to be evaluated for delivery).
Coarse and Fine Grained Security
In traditional portal development there has always been a discussion of where and how security should be applied throughout a solution. To help visualize the strategy, security has been placed into two camps – coarse grained and fine grained. Coarse-grained security secures large portions of applications at a page or collection of related functionality level. Fine-grained security dictates what buttons can be seen by the end user based on their role and security groups within those applications. Fine-grained security is ideally powered by a entitlement server technology that centralizes and simplifies access to the management of this detail. Fine grained security can also be used to describe row level visibility within applications, which is one of the finest levels of granularity possible. For the purposes of this discussion we will be focusing on security just above the row level and higher, starting with individual content items and working our way to large sections of content and application functionality. Using the terms fine-grained and coarse-grained help to drastically simplify discussions around security and set the stage for discussing personalization of content.
Pages, Portlets and Rows
Taking the above concept and refining it, we can turn the above information toward our challenges around personalization. It is no different from the challenge of implementing a traditional security model, however unlike content personalization, fine-grained application security is a must and has to be addressed before applications are released to an audience, instead of being an added value to an existing system. For the purposes of the personalization that we are discussing above, it turns out that we end up generally concerned with page, portlet and row level considerations to implement an effective personalization model. The former two are considered coarse grained, the later fine grained.
For the best return on efforts to setup personalization it is critical to catalog the information and applications that we wish to deliver to end users. For each item provide a description, note the intended audience and the level of security needed for the item, identifying if it should be accessible only to a particular group of users or a specific user. The line items in the catalog allow the portal and content teams to understand if Coarse (Site, Page, Portlet) or Fine (User) grained approaches are needed for the various areas of content. A visual chart later in this article will further detail Coarse and Fine grained technical implementation approaches in relation to portal and content technologies. Please see the following examples that highlight this cataloging method (please note that all company names are fictional)
A. Bits and Bytes Software, LLC Sales Team
In an effort to increase sales effectiveness, B&B Software would like to provide a collection of documents entitled Northeast Sales Enablement Materials to be will be delivered within their corporate intranet that are geared toward a sales team within a specific geography. Unlike a company salary report, this sales collateral does not need to be secured, but we will want to make certain that it is promoted directly to the intended audience. This will allow members of the Northeast sales team to quickly access this collateral directly within the context their portal experience in a regional sales dashboard, without having to browse or search for it.
|Item||Description||Audience||Security Level||Groups / Users||Granularity|
|Sales Documents||Sales collateral to enable sales teams for specific geographies||Geographically-based sales teams||Open||Open||Coarse|
The Northeast Sales Enablement Materials should have meta data applied to them or inherited from a parent folder that they may reside in that indicates the geography that they are intended for. In the example above the content can be delivered via a portlet(s) that queues off of a preference set at the regional dashboard level, noting the region that is active. This indicator could be the region that matches meta data on the collateral or a start node id for a folder that contains that region’s specific content. It would also be possible to use profile information from a sales user’s profile to pass to the display portlet, alerting it to the relevant region. To provide the highest level of flexibility the sales collateral should be stored in a content management system within regional folders, that roll up to a parent folder that holds all sales collateral. This will allow an aggregate view of the content to be easily displayed if needed.
B. Our People’s Genome, Inc Research Directors
A team of research directors at a pharmaceutical organization need to collaborate on certain items that detail drug development road maps. This content, unlike the above, does need explicit security, in addition to being available in a personalized manner within the context of the director’s portal experiences. In this case both meta data and security can be applied to this content, both allowing it to be delivered to the correct audience. In addition to the roadmap materials the portal will provide more implicit delivery of personalized content, showing news that is related to key terms identified within the roadmap documents. Unlike the actual development road maps, this is public information, but highly relevant to assisting in development and provided to help the directors stay up-to-date with all relevant information.
|Item||Description||Audience||Security Level||Groups / Users||Granularity|
|Drug Development Road map Documents||Documents that detail development plans for various drugs||Research Directors||Secured||Research Directors||Fine|
|Drug News||News that may be related to particular drug development road
The drug development documents will be stored in a document management system and will have explicit security applied to them, letting only research directors access them. Within the collaborative space in the portal a portlet will present items for collaboration based on the node in which the documents reside in the document management system. The user credentials from the portal will be passed to this portlet that surfaces the documents, to ensure that only documents a user has access to are displayed. The listing of documents will also return meta data about each item. This meta data can be broadcast to another portlet on the page (via WSRP2 or JSR 286) which will display related drug development news based on the meta data terms from the documents.
C. Yummy Foods, Inc HQ to Franchise Communication
Yummy Foods has seen excellent year over year growth of their organization through its franchises, but has begun to struggle with providing relevant content to enable it’s franchises to continue to grow sales in their respective locations. In order to solve this headquarters has decided to provide all of their franchisees with various marketing, sales and performance information through an portal intranet solution. It is important to note that employees of a store also have some access to this portal. To reduce the burden on the store owners, headquarters has decided to provide standard benefit information and various employee forms in the portal as well. Sales materials for the store owners are designed to be deployed at a national level, but marketing plans are designed for particular geographies. The marketing and sales materials should only be accessible by store owners. The marketing collateral requires targeted delivered to the proper regions, so as not to confuse the franchises and have them follow incorrect plans, although they do have the ability browse to see what other regions are doing. The performance information needs to also be secured and will be delivered to the franchisees through reports that are only for a particular store. In order to motivate franchisees to perform at a higher level, general financial information is also posted that showcases the highest performing stores within the organization. Only franchisees should have visibility into to this performance information.
|Item||Description||Audience||Security Level||Groups / Users||Granularity|
|Marketing Materials||Documents that detail development plans for various drugs||Franchise Owners||Secured||Geographically based groups consisting of Franchise Owners||Coarse|
|Sales Materials||News that may be related to particular drug development road
|Franchise Owners||Secured||Franchise Owners||Coarse|
|Employee Benefits||Standard employee benefit information that will be provided by
headquarters as part of the franchise arrangement
|Franchisee Individual Performance||Financial performance information for a specific franchisee||Franchise Owners||Secured||Individual Franchise Owners||Fine|
|Top Franchisee Performance||Particular financial information for the top stores that is
intended to motivate other stores
|Franchise Owners||Secured||Franchise Owners||Coarse (this portlet will only be available on the franchisee
area of the portal)
In order to service the franchisees and the employees the portal is logically divided into 2 sections, one for employees, another for owners. The content management system supporting the portal is also divided into two sections in a similar fashion. Within the employee section benefit materials are stored with open access, as all users can browse, search for and open this content (please note that security could be placed on these items if the materials varied by country and the franchise organization operated globally). The remainder of the materials above are all delivered to franchisees via a dashboard page within the portal. Based on profile data for a franchisee a portlet within the dashboard will display the relevant marketing materials. This portlet takes the profile information about the franchisees location and executes a search query, combining the geography with a node ID that indicates the search should focus on the marketing materials area. The sales materials are delivered in a similar fashion, but pass a user’s identity into the search, opposed to just a geography. This will allow the search to respect the security of a franchisee and ensure that employees cannot access the content. Top Franchisee Performance information will be delivered in the same manner. Finally, the Franchisee Individual Performance is retrieved in a similar fashion, but each performance document in the content system will be secured on a per franchisee basis and will be displayed only to a single user.
Technical Implementation of “Personalization” for Portal Content
The following chart outlines various levers to drive content personalization within a portal. Note the Coarse Enablers and Fine Enablers illustrate where potential attributes that can impact the granularity of personalization reside within the stack. Each layer of the stack can influence the one below, with the exception of the directory service layer, which should ideally be consumed by each layer to form a consistent security model throughout the stack. If this is not possible, various parameters, preferences and metadata can be sent to the content integration provider (portlet code) to allow it to still provide content based on what a complete security integration would actually provide.
Generic Portlet Types that Return Personalized Content
The following samples outline approaches displaying a listing of content from a content repository within a portlet for a particular audience or specific user. For most use cases, a single, generic portlet can be used to return the appropriate items that can leverage the points within the diagram above, exposed as parameters to be consumed by the portlet. The parameters can be bound to a starting node in the content system (starting folder) and or used along with a query against the system to return documents within particular meta data. On top of this the actual user context can be passed back into the content system, which provides the finest level of granularity to the results that are returned to the end users. If correctly written or natively available, a single portlet can be used to fulfill all of these examples and can be deployed many times within a portal instance, configured slightly different each time though preferences to meet a particular use case.
a. Region-based Content – Returns a listing of items from the repository based on what high level navigation area a user is in queuing off of an attribute of the particular portal area. This area would generally be a functional section of the business like sales, marketing, research, etc.
b. Region-based Content 2 – Portlet similar to that above that queues based on meta data associated at a page level within a business are to which it is deployed within and executes a query against the content repository to pull back related documents.
c. User-based Content – Portlet that acts as a generic delivery vehicle based on profile attributes tied to a user account that are passed into it .
d. User-based Content 2 – Secure via explicit user group security at the portlet level with the parameters pre-configured for the actual portlet that is delivering dynamic information that is based on a pre-defined query for that user group. As an example, the preference could contain an ID that indicates a node in the content system from which to display a listing of content items from.
Taking Personalization to the Next Level
With all of the above being said, personalization can be taken a step further with some innovative content delivery solutions that have the ability to weigh what content to display to end users based on their interactions with the systems, as well as other data available about the user. This technology is very similar to that of Amazon.com and can be used to power a series of decisions for content delivery that are driven by behavior, making a user more likely to find information that is specifically relevant to their needs. Without having to make a large deviation in business processes for content management or technical architecture, a tool like Oracle Real Time Decisions or similar technology can be injected into the above approaches at a portlet level to further filter what content may be returned to the end user.
Personalization of content delivered through a portal does not need to be complex and can often be achieved by leveraging existing attributes from the portal and user, rarely needed to get more involved for most content. The largest impacts of personalization are also generally seen by implementation solutions using coarse grained personalization methods with minimal effort. These small investments can have a large impact on usability within a portal, reducing the amount of time that users spend searching for information and increasing their satisfaction with the portal service.