Understanding Portal Framework, Creating and Visualizing Portal Navigation Embedded

By | February 12, 2014 | 0 Comment

Here I am, with some basic but required at very first step If someone is planning to go with the Portal Application.

By that, I mean Oracle Webcenter Framework or the application which will be based on Custom Webcenter Application framework or If at all you want to develop a portal/website by using various Portal Features.

So, let’s take it from scratch and take it to implementation level.

First I will make you understand what exactly Webcenter Framework is and how it flows, how portal lives and cycles its life; I mean the request and response cycle.

Do it then, what is a Framework Application?

A WebCenter Portal: Framework application is a portal. From an end user perspective, a portal is a web site with pages that are organized by tabs or some other form(s) of navigation.

Each page can contain a nesting of sub-pages that are related hierarchically. Any page can contain multiple portlets, task flows, or other elements, giving users access to different information and tools in a single place.

An administrator can modify a portal at runtime by, for example, adding new pages or changing the look and feel. If authorized through delegated administration, individual users can modify their view of a portal as well.

Figure shows an example portal. It includes navigation (tabs, bread crumbs, links),

content (portlets, task flows, images), administration features, and so on.

Simple Example of Portal Framework Application :

Portal Application

You can also develop the same with the help of various Portal features and tools.

Portal end users may also see personalized views of a portal page. A personalized view is a view that has been modified with content that is based on information collected about that user.

Not to worry, I will come up with next post, explaining how one can achieve Personalization in Webcenter framework application.

So, In an whole, What Features Does the Oracle WebCenter Portal: Framework Provide?

Navigation models, Page hierarchies, Pages, Page templates , Navigation Registries, Delegated administration

Customization, Catalogs and the Catalog Registry, Skins and Portal Preferences

For all these topics, mentioned above, I will come up with detailed post one by one. Let’s see when I will be able to draft all these for you people.

Refer this screen shot, for complete technology stack which you will be leveraged with in Jdeveloper :

Technology Stack for Portal Application

 

Now, Before diving into the specific concern here, Let’s have a look at the Portal life cycle as well.

This will help us to design the application base.

The portal life cycle refers to the path a portal takes from development through production. The phases of the life cycle typically include development, testing, staging, and production. Each phase requires certain tasks to be performed. Some tasks are performed only once, like setting up a content repository. Others are performed more frequently, like nightly builds.

First Phase : Development

Roles Responsible : Developers, Content Modelers, Content Contributors

The development portal is primarily source control and file-based. Developers work locally in JDeveloper and deploy to the Integrated WebLogic server. The development portal typically employs test data and content. Some of the features that are developed in this phase of the life cycle include:

Portlets, task flows, shared libraries, skins, navigation models, page templates, display templates, content models, data transfer and interportlet communication, security

The code from the development environment is built (usually nightly) and deployed to a clean, independent, targeted environment.

Other than Development, Testing, Staging, Production will be the possible life cycle for any portal.

One last flow before dig in to the specific topic:

Data flow from Staging to Production Environment:

Staging to Production Data Flow

Now come to the point, Building a Navigation Model for Your Portal :

Let’s deal with it now. We will take it one by one, So far, we have discussed the Basic Portal application and its life cycle and concerned Phases of any portal.

You can refer my earlier posts on the same and create webcenter framework application.

What else, we would need to do in application to conceptualize a navigation model for portal :

First, What exactly a navigation model is : The navigation model defines the content, structure, and metadata of the navigation.

When you create the navigation model, you specify the items to include and the hierarchy of those items.

Navigation model may include pages, Content, Other navigation model, Portlet and Task flows, External applications and external links.

When you create a new Framework application, a navigation model is created for you

(default-navigation-model.xml).

You can build on this seeded navigation model or create your own. You might even want to create different navigation models for different user types.

Recommendation says, that if you want to develop your own navigation model, then please do not extend your default model, rather create your own and then make it default. It will do the part.

Let’s do this practical as well, Starting with the Creation of an application based on Custom webcenter application framework.

While creating one, just ensure one step to follow :

Seeded Customization Option

This will grant all necessary permissions to all your new resources which you will be going to create in application.

Go to the finish and explore the Project section of the application to see the default navigation model.

Default Navigation

 

Default Navigation Source Code

Open the file and go to the source tab to see what all the default code your template gives you.

Let’s go further with your application then,

Creating a Navigation Model

If the default navigation model provided out of the box does not meet your

Requirements, you can create your own navigation model.

To create a navigation model:

In the Application Navigator, right-click the node where you want to create the

navigation model (for example /oracle/webcenter/portalapp/navigations) and choose New.

In the New Gallery, expand Web Tier, select Portal and then Navigation, and click OK.

In the Create Navigation dialog , in the File Name field, enter a name for the XML file that represents the navigation, for example navigationModel1.xml.

7

8

 

In the Directory field, enter the full directory path of the location under which to create the file.

Select Create as a Portal Resource to add the navigation model to the resources registry, allowing it to be managed at runtime through the Resources Manager.

If you do not select this option now, you can add the navigation model to the resources registry later by right clicking it and choosing Create Portal Resource.

This is what you will get after you finish up things:

9

 

In the Design view for the navigation model, select the new navigation model in the Navigation column and define general properties as required:

In the Navigation Filter field, enter the name of a Java class to use to filter out selected resources in the navigation model based on specific criteria. The Java class should implement the

oracle.adf.rc.spi.plugin.catalog.CatalogDefinitionFilter interface.

Resources are automatically filtered based on security. If a user does not have access to a particular resource, it is not displayed when the navigation model is rendered on a page.

In the Visible field, specify whether the navigation model is available for use in the application. This field takes an EL value. The default is #{true}, which means the navigation model can be used by other users and is available in dropdown lists of navigation models.

Use the Navigation Attributes section to set display options for the navigation model as desired. The options available are the same as those for individual resources.

Save this file and you will be good to go with your new navigation model.

Now, What else you need to do to see it working, need to add as much resources as your business requirements says.

You can add resources to a navigation model in two ways:

Drag and drop resources from different areas in JDeveloper onto the navigation model in Design view.

Use the options on the Add new node menu in the Design view for the navigation model

10

 

In this menu, you will get all the available resources to your application.

Add different resources and set their respective options as per your business or project requirements.

Now next step would be to make this created model available to your application.

How one should be able to do that :

To select the default navigation model:

1. In the Application Resources pane of the Application Navigator, right-click the adf-config.xml file, and choose Open.

2. Click the Source tab.

3. Locate the ADF preference with the following id:

oracle.webcenter.portalapp.navigation.model

4. Set the value attribute to the path of the navigation model that you want to use as

the default for the portal.

Save it for further use.

Refer this screen shot for details :

11

 

That will be all for a basic Navigation model which one need to create if at all he do not want to use the default navigation model provided by the application template.

You can refer this application to give it a start.

Please come up with different scenarios as navigation model is a vast scope for different implementation ways.

Navigation Model Implementation

0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *