2 Understanding Oracle WebCenter Portal

This chapter introduces you to Oracle WebCenter Portal and helps you understand what you must consider when using WebCenter technology to build an application.

This chapter includes the following sections:


This chapter is intended for developers of Framework applications. Developers should review this chapter carefully to determine what options are available to them.

2.1 What Is Oracle WebCenter Portal?

Oracle WebCenter Portal provides design time and runtime tools for building enterprise portals, transactional web sites, and social networking sites. Typical WebCenter use cases include employee intranets, customer extranets, dashboards, blogs and wikis, community discussion forums, online stores, and many others. WebCenter provides the tools you'll need to create these kinds of applications.

Figure 2-1 provides an overview of the Oracle WebCenter Portal architecture, showing the major components that comprise the product.

Figure 2-1 Overview of Oracle WebCenter Portal Architecture

Description of Figure 2-1 follows
Description of "Figure 2-1 Overview of Oracle WebCenter Portal Architecture"

2.2 Introducing the WebCenter Portal: Framework

The Oracle WebCenter Portal: Framework provides portal-specific features to a Framework application. These features include page hierarchies, navigation models, delegated security, customization, and others. Portals can also include features like portlets, content management system integration, personalization, social computing services, search, analytics, and more.

From the perspective of an end user, a portal is a web site with pages that are organized by tabs or some other form of navigation. Each page can contain portlets, static content, dynamic content, and task flows. Authorized users can also customize their view of a portal by adding their own pages, adding portlets of their choosing, and changing the Look And Feel of the interface.

For a complete overview of the Oracle WebCenter Portal: Framework, Chapter 8, "Understanding Framework Applications."

2.3 What Are the Main WebCenter Portal: Framework Features?

This section discusses a few of the major features that can be used in a Framework application. These features support integration of remote applications, page customization, content integration, personalization, security, and others.

2.3.1 Portlets and Pagelets for Accessing Remote Applications and Services

This section discusses two technologies–portlets and pagelets–that let you integrate remote applications into your portal pages. What Are Portlets?

A portlet is a reusable Web component that can draw content from many different sources. Portlets provide a means of presenting data from multiple sources in a meaningful and related way. Portlets can display excerpts of other web sites, generate summaries of key information, perform searches, and access assembled collections of information from a variety of data sources. Because different portlets can be placed on a common page, the user receives a single-source experience. In reality, the content may be derived from multiple sources.

For information about the different ways you might create portlets and how you might use portlets, including the pre-built portlets available with WebCenter Portal, see Chapter 57, "Introduction to Portlets." For information about consuming portlets on pages and linking them, see Chapter 62, "Consuming Portlets." What Are Pagelets?

A pagelet is a reusable user interface component similar to a portlet, but while portlets were designed specifically for portals, pagelets can be run on any web page, including within a portal or other web application. Pagelets can be used to expose platform-specific portlets in other web environments.Any HTML fragment can be a pagelet, but pagelet developers can also take advantage of many of the features available to portlet developers to write pagelets that are parameterized and configurable, to dynamically interact with other pagelets, and respond to user input using Ajax patterns.

Oracle WebCenter Portal's Pagelet Producer provides a collection of useful tools and features that facilitate dynamic pagelet development. For detailed information about pagelet development and configuration using the Pagelet Producer, see Chapter 65, "Creating Pagelets with Oracle WebCenter Portal's Pagelet Producer." What is the Difference Between Portlets and Task Flows?

As explained in Section, "What Are Portlets?," portlets are reusable Web components that can draw content from many different sources. Portlets can manage and display anything from static HTML to Java controls to complex web services and process-heavy applications.

A single portlet can also have multiple instances—in other words, it can appear on a variety of different pages within a single portal, or even across multiple portals if the portlet is enabled for Web Services for Remote Portlets (WSRP). You can customize portlets to meet the needs of specific users or groups.

Task flows let you build customizable applications with reusable units of business logic. They represent a modular approach for defining control flow in an application. Each task flow represents a reusable piece of business logic. With isolated memory and transaction scopes, task flows are decoupled from the surrounding application. This decoupling allows task flows to be included in Oracle WebCenter Portal's Composer, for instance.

A task flow encapsulates control flow rules, activities, and managed beans to implement business modules. Task flows are easily reusable within WebCenter Portal applications. You can drag and drop task flows onto any customizable WebLogic Portal application page. In this sense, you can think of a task flow as a "local portlet" that can be reused and dropped into any ADF application.

While task flows are high-level implementations of business processes, they do not host data-access or business logic. Task flows must interact with data controls and declarative bindings for these purposes. These data controls and bindings in turn interact with the ADF Business Components framework.

Following the Oracle-submitted standard JSR 329, you can expose your task flows as standards based portlets. In this way, one application encompasses both the base application functionality and the portlets to be consumed for integration. When you revise your application, the portlets are naturally and automatically updated right along with it, rather than requiring a separate development project. To support JSR 329, the Oracle WebCenter Portal: Framework provides the Oracle JSF Portlet Bridge. For more information about the Oracle JSF Portlet Bridge, see Chapter 58, "Creating Portlets from JSF Applications Using the Oracle JSF Portlet Bridge."

In addition to consuming task flows as portlets, you can consume task flows as shared libraries in a JSF application to enable you to embed these JSF fragments directly. You can wrap the transactions around the task flows along with the other functionality in their application. For more information, see Chapter 14, Getting Started with ADF Task Flows" in the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.

2.3.2 Oracle WebCenter Portal's Composer Allows User Customization

Composer is an easy, browser-based environment that you can add to existing JSF applications. End users can then use Composer to edit the page at runtime to create their own mashups. To make pages editable at runtime in this way, you simply add Composer design time components to a page in JDeveloper. If you create a blank page in JDeveloper with just Composer components, users have the ability to redesign the page while in Edit mode using Composer. Some of the tasks they can perform include:

  • Editing page settings and parameters

  • Adding content to the page

  • Editing component properties and parameters

  • Wiring components to page parameters

  • Arranging content on the page

  • Changing the layout for components on the page

  • Removing components from the page

The Composer tag library provides the components that you can add to make a page editable at runtime and define the behavior of content on the page (for example, move, sequence, or hide components).

In Composer, the Component Catalog dialog box, which is displayed by clicking the Add button on the page, displays the default runtime Resource Catalog Viewer. Users can browse the components in the viewer and then add them to the page. By default, the viewer displays the default Resource Catalog, which contains all of the Oracle ADF components and portlets available to the application. To control what components are visible to users in the viewer, you can modify the default Resource Catalog, or create one or more of your own Resource Catalogs. Resource Catalogs can contain items such as portlets, layout components, task flows, documents, and Oracle ADF Faces components.

For more information about implementing Composer components in your application, see Chapter 19, "Enabling Runtime Editing of Pages Using Composer."

2.3.3 Content Integration with Supported Content Repositories

JCR (Java Content Repository API, also known as JSR 170) adapters enable you to make data stored in content management systems, such as Oracle WebCenter Content, Oracle Portal, or even your file system, available to your application.

Using JDeveloper, you can use the prebuilt JCR data control to grab the content and drop it onto your page. You can leverage the provided prebuilt user interface to display the content in your Framework application. This architecture enables you to build your user interface once and then at deployment time or during runtime, switch to whatever back end is required without having to recompile or rebuild the application. In addition, you do not need to learn the intricacies of each content management system's custom APIs. For example, you could create a data control that selects content from any JCR 1.0 compliant repository or file system. When the data control is created, you can drop it onto a JSP document as a table.

If you retrieve data from a content repository other than Oracle Portal, Oracle WebCenter Content, or the file system, then you can create your own JCR adapter. From the Content Repository Configuration page of the Create Data Control wizard, you can choose the content repository from which you want to retrieve data.

The Content Presenter task flow lets you conveniently add content to your application. Content Presenter allows you to select a single item of content, multiple content items, or query for content, and then select a template to render the content on a page in a Framework application. In addition, you can design custom display templates for Content Presenter. See Chapter 28, "Creating Content Presenter Display Templates." For more information, see also "Adding Content Using Content Presenter" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces and Chapter 26, "Managing Content Repository Connections."

2.3.4 Search Framework

Search is one of the most common and useful features of any web application. Oracle WebCenter Portal: Framework has a unified, extensible Search framework that enables the discovery of information and people through an intuitive user interface. The powerful Search framework enables you to seamlessly include enterprise-wide search capabilities into your application. With all relevant and secure information easily navigable, users do not need to switch between applications performing multiple searches. See Chapter 44, "Integrating the Search Service."

2.3.5 Resource Catalogs Help Organize the Development Experience

The Resource Catalog provides a federated view of the contents of one or more otherwise unrelated repositories within a unified search and browse user interface. Resources are created and published in their source repository, then exposed to the developer through the JDeveloper Resource Palette and to the end user through the Resource Catalog Viewer. The Resource Palette contains the WebCenter Portal Catalog, which includes elements that are commonly used in portal development.

Resource Catalogs can contain the following components:

2.3.6 Application Security

With the Oracle ADF extensions provided in Oracle WebCenter Portal, you can define security for an entire application, a page hierarchy, part of a page hierarchy, navigational components, or a single page. You can define security for individual actions provided by customizable components. In addition, for Oracle WebCenter Portal: Services that connect to back-end servers using web services, you can provide secure identity propagation with WS-Security.

Because Oracle WebCenter Portal security is based on the JAAS and J2EE standards, enterprise roles defined in the existing identity management store can be leveraged directly when securing a Framework application. You need not synchronize roles within the application being built. It just references and uses the defined users and roles directly. Note also that you can use file-based security for the development phase of the application and then easily switch over to enterprise identity management at deployment time.

Oracle WebCenter Portal also provides application roles that you can use to represent the policy of an application. By associating permissions with an application role defined within the policy store, you can keep them self contained within the application. On deployment, you can then associate users and enterprise roles with the application roles to grant those permissions to end users.

In some cases, it is desirable to leverage existing applications that have their own authentication mechanism, such as email. The email system is often on a different authentication system (with different user names and passwords) than the new application. The application must map the email user to the application user such that end users do not have to enter their user names and passwords each time they need information. Oracle WebCenter Portal: Framework provides the means to securely manage these user names and passwords with the External Application functionality.

For more information about options for securing your Framework application, see Chapter 68, "Securing Your WebCenter Portal: Framework Application."

2.4 Introducing Oracle WebCenter Portal: Services

Oracle WebCenter Portal: Services expose social networking and personal productivity features through services, which, in turn, expose subsets of their features and functionality through task flows.

Table 2-1 describes each of the available services.

Table 2-1 Oracle WebCenter Portal: Services

Service Description Chapter

Activity Graph

Leverages collective intelligence to benefit search and social applications.

Chapter 45, "Integrating the Activity Graph Service"


Enables you to display usage and performance metrics for your Framework application.

Chapter 46, "Integrating the Analytics Service"


Provides the ability to post announcements about important activities and events to all authenticated users.

Chapter 32, "Integrating the Announcements Service"


Provides easy integration of a blog application within the context of your application.

Chapter 31, "Integrating Wikis and Blogs"


Provides the ability to create threaded discussions, posing and responding to questions and searching for answers. Also provides an effective group communication mechanism for important activities and events.

Chapter 33, "Integrating the Discussions Service"


Provides content management and storage capabilities, including content upload, file and folder creation and management, file check out, versioning, and so on.

Chapter 29, "Integrating the Documents Service"


Provides the ability to create and maintain a schedule of events relevant to a wider group of users. Events are published to all authenticated users.

"Working with the Events Service" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces

Chapter 51, "Integrating the Events Service"

Instant Messaging and Presence (IMP)

Provides the ability to observe the status of other authenticated users (whether online, offline, busy, or away) and to contact them instantly.

Chapter 34, "Integrating the Instant Messaging and Presence Service"


Provides the ability to view, access, and associate related information; for example you can link to a solution document from a discussion thread.

Chapter 42, "Integrating the Links Service"


Provides the ability to create, publish, and manage lists. Users can create lists from prebuilt structures or create their own custom lists.

"Working with the Lists Service" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces

Chapter 47, "Integrating the Lists Service"


Provides easy integration with IMAP and SMTP mail servers to enable users to perform simple mail functions such as reading messages, creating messages with attachments, replying to or forwarding existing messages, and deleting messages.

Chapter 35, "Integrating the Mail Service"


Provides the ability to "jot down" and retain quick bits of personally relevant information.

Note: This service is available only in Oracle WebCenter Portal: Spaces.

"Working with the Notes Service" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces


Provides a means of subscribing to services and application objects and, when those objects change, receiving notification across one or more selected messaging channels.

Chapter 48, "Integrating Notifications"

People Connections

Provides social networking capabilities, such as creating a personal profile, displaying current status, and viewing other users' recent activities.

Chapter 37, "Introducing the People Connections Service"


Enables you to survey your audience (such as their opinions and their experience level), check whether they can recall important information, and gather feedback.

Chapter 36, "Integrating the Polls Service"


Enables you to deliver content within your application to targeted application users based on selected criteria.

Chapter 66, "Personalizing WebCenter Portal Applications"

Recent Activities

Provides a summary view of recent changes to documents, discussions, and announcements.

Chapter 49, "Integrating the Recent Activities Service"


Provides the ability to access the content of many different web sites from a single location—a news reader.

Chapter 52, "Integrating the RSS Service"


Provides the ability to search services, the application, or an entire site.(This includes integrating Oracle Secure Enterprise Search for WebCenter Portal searches.)

Chapter 44, "Integrating the Search Service"


Provides the ability to assign one or more personally relevant keywords to a given page or document.

Chapter 43, "Integrating the Tags Service"


Provides the ability for geographically diverse teams to originate and collaborate on web documents.

Chapter 31, "Integrating Wikis and Blogs"


Provides a personal, at-a-glance view of business processes that require attention (including a request for document review, and other types of business process that come directly from enterprise applications).

Chapter 50, "Integrating the Worklist Service"

WebCenter provides task flows for these services through the Oracle WebCenter Portal: Services Catalog. For information about how to prepare your application to consume these task flows, see Chapter 7, "Preparing Your Application for WebCenter Portal Services."

How Oracle WebCenter Portal: Services Integrate with Each Other

WebCenter Portal: Services are designed to be integrated with each other. Here are some examples of the ways WebCenter Portal: Services work together:

  • The Search service is designed to search any WebCenter Portal service in your application. For example, if you have the Documents service in your application, then the search operation looks for terms in document names and in the documents themselves. The results include tag hits, so any matching tags on your documents and pages are also returned, with relevance based on the quality and frequency of tags.

  • The Links service lets you view, access, and associate related information across services. For example, in a discussion forum, you can link to a related discussion forum, document, URL, or event. The Links service also supports bidirectional links between objects, such as a link from a discussion topic to a document and back to the discussion topic.

  • The Presence icon can appear in any WebCenter Portal service where a user is indicated. For example, click the author's name on a document to invoke a context menu and send an instant message or mail to that person.

  • The Recent Activities service lets you view the most recent additions or changes to the announcements, documents, discussions, and pages in your application.

2.4.1 WebCenter Portal: Services and the REST APIs

You can access many of the WebCenter Portal services through their REST APIs. REST APIs allow you to create rich, interactive client-side applications. REST commands use standard HTTP methods as requests to point to the resource being used. Every request returns a response, indicating the status of the operation. If the request results in an object being retrieved, created, or updated, the response includes a standard representation of that object.

For more information and a complete list of the services that include REST APIs, see Chapter 53, "Using Oracle WebCenter Portal REST APIs."

2.5 Introducing Oracle Application Development Framework (Oracle ADF)

This section briefly introduces Oracle ADF and discusses how WebCenter Portal benefits from Oracle ADF technology.

2.5.1 What Is Oracle ADF?

The Oracle Application Development Framework (Oracle ADF) is an end-to-end application framework that builds on Java Platform, Enterprise Edition (Java EE) standards and open-source technologies to simplify and accelerate implementing service-oriented applications. Used in tandem, Oracle JDeveloper and Oracle ADF give you an environment that covers the full development life cycle from design to deployment, with drag-and-drop data binding, visual UI design, and team development features built in.

2.5.2 Why Is Oracle ADF Important for WebCenter Portal Developers?

You can build portals using a variety of different technologies and approaches, and WebCenter supports a variety of open industry standards for portal-building. Oracle ADF provides a solid foundation for WebCenter Portal development, which allows integration with the entire Oracle Fusion Middleware stack. Oracle WebCenter Portal lets you build portals that plug into this overall architecture, leveraging features provided by the rest of the stack.

2.5.3 What Does Oracle ADF Technology Include?

Oracle ADF uses a set of standard JSF components that include built-in Ajax functionality. Ajax is a combination of asynchronous JavaScript, dynamic HTML (DHTML), and XML. This combination allows requests to be made to the server without fully re-rendering the page. While Ajax allows rich client-like applications to use standard Internet technologies, JSF provides server-side control.

Oracle ADF provides over 150 rich components, including hierarchical data tables, tree menus, in-page dialogs, accordions, dividers, and sortable tables. Oracle ADF also provides data visualization components, which are Flash and SVG-enabled and capable of rendering dynamic charts, graphs, gauges, and other graphics that can provide a real-time view of underlying data. Each component also supports skinning, along with internationalization and accessibility.

ADF task flows represent a critical component for you to understand and use in your application development. They provide a modular approach for defining control flow in an application. Instead of representing an application as a single large JSF page flow, you can break it up into a collection of reusable task flows. In each task flow, you identify application activities, the work units that must be performed in order for the application to be complete. An activity represents a piece of work that can be performed when running the task flow. Task flows also have the advantage of being able to be packaged and deployed with the application, rather than requiring a separate deployment like remote portlets. For more information about task flows, see the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.

2.6 Introducing Oracle JDeveloper and the WebCenter Portal Extension

Oracle JDeveloper is an integrated development environment (IDE) for building service oriented applications using the latest industry standards for Java, XML, web services, portlets, and SQL. JDeveloper supports the complete software development life cycle, with integrated features for modeling, coding, debugging, testing, profiling, tuning, and deploying applications. JDeveloper's visual and declarative approach and Oracle ADF work to simplify application development and to reduce mundane coding tasks. For example, code for many standard user interface widgets, such as buttons, lists of values, and navigation bars, are prepackaged for you. All you need to do is select the appropriate widget from the Component Palette and drop it into your application.

WebCenter Portal's extension for Oracle JDeveloper includes all the development functionality you need for building Framework applications. Oracle WebCenter Portal components are readily accessible from a catalog of resources.

Figure 2-2 Oracle JDeveloper and the WebCenter Portal Extension

Description of Figure 2-2 follows
Description of "Figure 2-2 Oracle JDeveloper and the WebCenter Portal Extension "

The WebCenter Portal extension also provides several wizards to help you with essential development tasks such as building portlets, consuming an existing portlet, creating a data control to a content repository, and securing your application. By significantly reducing the amount of coding you do, JDeveloper and the WebCenter Portal extension dramatically increase your productivity as a developer.

In JDeveloper, the easiest way to ensure that you properly define an application and its projects with the appropriate technology scope is to apply an application template. An application template automatically partitions the application into projects that reflect a logical separation of the overall work. The WebCenter Portal extension provides two templates optimally configured for building Framework applications:

  • WebCenter Portal – Framework Application template. Prepopulates the application with a project and libraries optimally scaled for the creation of data controls and consumption of portlets and Web 2.0 services. Includes Oracle WebCenter Portal: Framework features like site navigation, page hierarchies, delegated administration, and page templates.

  • WebCenter Portal – Portlet Producer Application template. Prepopulates the application with a project and libraries scoped for the creation of portlets.

It is not required that you use these templates. If you prefer, you can create your own Framework applications and portlet applications by manually scoping the application technologies and creating the relevant projects. For more information, see Chapter 3, "Preparing Your Development Environment."

For more information about JDeveloper, access the many educational aids from the JDeveloper Start Page, accessible from JDeveloper's Help menu.

2.7 Understanding the Application Life Cycle

The portal life cycle describes the path a portal takes from development through production. Phases of the life cycle include development, testing, staging, and production. For detailed information on the life cycle, see Chapter 9, "Understanding the WebCenter Portal Life Cycle."

2.8 Design Questions to Consider Before You Start

When you design your Framework application, you must consider the needs of your audience. In particular, it is important to think about what features and capabilities your Framework application end users, administrators, and developers need. Before you begin to actually build a Framework application, take a look through the questions listed below and use the answers to help plan your application.

This section includes the following subsections:

2.8.1 User Considerations

The following list suggests questions you should ask about the end users of your Framework application:

  • How many users are there? If your Framework application must serve a large number of users, then you must take that into account when you define your deployment environment.That is, you must choose a topology that can support the number of users you expect to access your Framework application and set the configuration parameters of the different services accordingly.

    To help you decide which Oracle Application Server configuration best supports your Framework application, see the Oracle Fusion Middleware Enterprise Deployment Guide for Oracle WebCenter Portal.

  • Do users need to edit pages and create enterprise mashups by adding resources? If you plan to let users edit pages, you must add Oracle WebCenter Portal's Composer components to your application. You should also consider questions such as which areas you want to make editable and what resources to make available to users.

    When you design your application, you must choose where to insert the Composer components to make those areas of the page editable. Components that allow users to add to the page must appear in a Resource Catalog at runtime. You can also choose to have different catalogs available depending upon the context of the application or the user's privileges.

    If you choose to allow page editing, the application must be able to associate the customizations with particular users, which means some form of authentication is required for users of the application. Furthermore, since the user's customizations are stored in Metadata Storage (MDS), you must ensure that your deployment system has access to MDS for the storage and retrieval of customizations.

    For more information about the Composer and exposing resource catalogs, see Chapter 19, "Enabling Runtime Editing of Pages Using Composer."

  • Do users need to customize their portlets? Portlets can optionally include a customization mode (Edit mode) that enables an authenticated user to customize the portlet at runtime. The Edit mode might allow the user to enter things such as the portlet's title or a parameter that affects the content of the portlet. For example, you could implement an Edit mode that enables the user to enter ticker symbols for a stock portlet. When the user's changes are applied, the portlet displays the prices for their chosen ticker symbols.

    If you choose to implement customization, then you must also implement some form of security for the application consuming the portlet. Only authenticated and authorized users can customize an application.

    In considering portlet customization, you should also consider whether the portlets are load balanced. If they are load balanced, then you must use database backed customization to ensure that all of your middle tiers can access to the user's customization data. Otherwise, the user has to personalize the same portlet multiple times.

    For more information, see Chapter 57, "Introduction to Portlets."

  • Which services do your users need to access? WebCenter provides a variety of services, such as Documents, Discussions, Search, People Connections, and Instant Messaging and Presence. You must decide which of these services your users need and then configure those services. When the desired services are installed and configured, you can add task flows to your application pages that access those services. The services that you choose to implement can also impact the topology you choose. For example, you might choose to have WebCenter Portal's discussion server and content repositories reside on different systems, which must both be accessible to your application.

    For more information, see Table 2-1, "Oracle WebCenter Portal: Services" and Chapter 7, "Preparing Your Application for WebCenter Portal Services."

  • Will there be both authenticated and unauthenticated (public) users? Several of the WebCenter Portal services offer limited functionality for unauthenticated users. For example, unauthenticated users can view but not contribute to discussions, and the REST services (most of them) are only available to authenticated users. Due to this loss of functionality, it sometimes works better to create special public pages designed just for unauthenticated users.

    Use the portal page hierarchy editor to set delegated administration security policies on individual pages or on multiple pages. For more information, see Section 8.5.2, "Securing Your Portal Pages."

2.8.2 Site Administrator Considerations

The following list suggests questions you should ask about the administrators of your application:


It is critical that the Framework application administrator and the developers communicate when the application is under construction. At design time, developers must make many choices that determine what the administrator can do to the application at runtime. For example, if the developers choose not to implement skins, then the administrator has no control over the look and feel of the application. Hence, the administrator and the developers should ensure that they consult over these decisions at design time.

2.8.3 Developer Considerations

The following list suggests questions you should ask about the developers who will contribute to your application:

  • Do developers and administrators want to use the Oracle WebCenter Portal: Framework features in their application? Generally, developers should consider using the Framework application template to create framework applications. The template ensures that a new application is provisioned properly with the correct framework technology scopes and features. These portal-specific features include page hierarchies, delegated administration, navigation models, and page templates. In addition, runtime administration tools allow authorized users to modify and change these portal features. For more information Chapter 8, "Understanding Framework Applications."

  • Should developers build task flows or portlets as reusable components? Thanks to the Oracle JSF Portlet Bridge, developers can make their task flows into JSR 286 portlets. Hence, they have the option of creating reusable components either as task flows, which can potentially be made into JSR 286 portlets through the bridge, or directly as JSR 286 portlets. If the primary purpose of the component is inclusion in one or more portals, then developers may prefer to build it directly as a JSR 286 portlet, without going through the bridge. If the primary purpose of the component is local execution in a JSF application, then the developer may prefer to create it as a task flow first and then, optionally, use the bridge to run it as a JSR 286 portlet. Building task flows means that the components can be used in other ADF applications without having to repackage them as portlets first.

  • Do developers need to integrate content from content repositories (for example, Content Server, file system, or Oracle Portal)? If you have content located in content repositories to expose in the Framework application, then you must use JCR adapters and data controls to make that content available.

    For information about including content through JCR data controls and adapters, see Chapter 26, "Managing Content Repository Connections."

  • Will the visible/editable content of the WebCenter Portal: Framework application vary depending upon the identity of the user? If you plan to have content in your Framework application that is not for everyone, then you must set up a security model with login and user roles that enable you to control access. Components, portlets, and pages can display or not display, depending upon a user's identity. If the content is open to everyone (for example, a Human Resources Framework application with content for all employees), then you might not need to implement access control. The Oracle WebCenter Portal: Framework page hierarchy feature allows you to set security policies on individual or multiple pages in the page hierarchy. For more information, see Section 8.5.2, "Securing Your Portal Pages."

    Furthermore, with Composer, you can allow users to edit the content within the application. Again, you must consider whether you want to restrict that capability to certain users and, if so, you must factor that into your security model.

    For more information about implementing a security model for your Framework application, see Chapter 68, "Securing Your WebCenter Portal: Framework Application."

  • Does your WebCenter Portal: Framework application need to provide access to external applications? In many cases, you might have external applications to surface in your Framework application. For example, you might have email, Human Resources, or financial applications that you would like users to be able to view from within the application. To provide seamless interaction for the user, you must employ an external application credential store of some kind.

    For more information about accessing external applications from your Framework application, see Chapter 68, "Securing Your WebCenter Portal: Framework Application."

    If you have legacy external application portlets that were built for Oracle Portal, then you can reuse those portlets in a Framework application. This feature allows users to view these portlets from their Framework application rather than having to open each application separately or go back to Oracle Portal. When building such portlets, though, you must remember that they typically must authenticate themselves to the external application before retrieving and displaying any data. As previously mentioned, such authentication requires a credential vault, where the Framework application can store the credentials necessary for logging into the external application. Oracle WebCenter Portal: Framework provides choices in Oracle JDeveloper for incorporating portlets based on external applications.

    For more information about external application portlets, see Section 68.13.3, "Managing External Applications."

  • Will the WebCenter Portal: Framework application be developed by a team of developers? If your Framework application is being developed by a team, then you must think about some additional design considerations. For example, when doing team development, you must be much more aware of which files various JDeveloper actions touch, and may want to take advantage of JDeveloper's ability to integrate code management systems.

    For more information about team development, see Chapter 4, "Working Productively in Teams." See also Chapter 1, "Developer's Quick Start Guide."

2.9 Overview of WebCenter Accessibility Features

Accessibility involves making your application usable by persons with disabilities such as low vision or blindness, deafness, or other physical limitations. In the simplest of terms, this means creating applications that can be used without a mouse (keyboard only), used with a screen reader for blind or low-vision users, and used without reliance on sound, color, or animation and timing.

Oracle software implements the standards of Section 508 and WCAG 1.0 AA using an interpretation of the standards at http://www.oracle.com/accessibility/standards.html.

This section describes accessibility features that are specific to WebCenter Portal. For general information about creating accessible ADF Faces pages, see the Developing Accessible ADF Faces Components and Pages section in the Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development Framework. For information about accessibility features in JDeveloper, see the help topics available by selecting the JDeveloper Accessibility node under JDeveloper Basics in the online help table of contents.

2.9.1 Generating Accessible HTML

WebCenter Portal provides several Composer components that you can add to your application pages to make them editable at runtime. These components provide attributes that are used to generate accessible HTML. To ensure that the pages you create are accessible, you must set these attributes, listed in Table 2-2.

Table 2-2 Accessibility Attributes for WebCenter Portal's Composer Components

Component Accessibility Attributes


No accessibility attributes.


No accessibility attributes.


shortDesc—Mandatory. This attribute transforms into an HTML alt attribute.

accessKey—Optional. This attribute sets the mnemonic character used to gain quick access to the component.


No accessibility attributes


shortDesc—Mandatory. This attribute transforms into an HTML alt attribute.

accessKey—Optional. This attribute sets the mnemonic character used to gain quick access to the component.


No accessibility attributes


shortDesc—Mandatory. This attribute transforms into an HTML alt attribute.

2.9.2 Accessibility Features at Runtime

When you enable users to customize a page at runtime, you must ensure that any customizations are also accessible to all users. For all components that users can create at runtime, all accessibility-related attributes are shown in the Property Inspector where users can set them appropriately.

For a list of accessibility-related attributes for WebCenter Portal-specific components, see Table 2-2. For a list of accessibility-related attributes for other components, see the Developing Accessible ADF Faces Components and Pages section in the Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development Framework.

2.9.3 Accessibility Considerations for Portlets

IFrames are not very well accommodated by today's screen readers and so are not permitted by some accessibility standards.


Portlets created using the Oracle JSF Portlet Bridge have the requireIFrame container runtime option set to true as these portlets are too complex to render directly on Oracle ADF pages due to JavaScript issues.

WebCenter Portal provides an optional attribute in the adf:portlet tag called renderPortletInIFrame. You can set this attribute to false to avoid ever using IFrames. For detailed information, see Section 62.6.4, "What You May Need to Know About Inline Frames."