Is JSR 168 Not Supported by WebCenter Patch Set 3?

This question may came up when you try to build a JSR 168 portlet or attempt to open one in JDeveloper 11g R1 PS3. In the latter case what happens is that your portlet gets automatically upgraded to a JSR 286 portlet. Given that JSR 286 supersedes JSR 168, most of the time this doesn’t cause problems. However, if for some reason you HAVE to create or edit a JSR 168 portlet without upgrading it, you’ll need to use a Patch Set 2 or earlier JDeveloper for it (or any other tool supporting JSR 168 portlets).

Despite the fact that JDeveloper automatically upgrades your portlets, deploying JSR 168 portlets to the Fusion Middleware 11g Patch Set 3 is fully supported.

This topic is covered by the Oracle Fusion Middleware Upgrade Guide for Oracle SOA Suite, WebCenter, and ADF:

15.4.2.1 About Upgrading JSR168 Portlet Producers to JSR286

Oracle WebCenter 10g supports Java portlets based on the Java Portlet Specification, JSR 168; Oracle WebCenter 11g supports Java portlets based on Java Portlet Specification version 2, or JSR 286. JSR 286 is an extension of JSR 168, and is backward compatible with JSR 168.

In Oracle WebCenter 10g, Oracle JSF Portlet Bridge is based on and conforms to JSR 301, whereas in Oracle WebCenter 11g, Oracle JSF Portlet Bridge conforms to JSR 329.

In JDeveloper 11g, when you open for the first time an existing portlet producer application containing JSR 168 portlets, portlets are automatically upgraded to be JSR 286 compliant. If the application is a portlet bridge application, it is further automatically upgraded to be JSR 329-compliant.

In most cases, the upgraded portlets continue to work exactly as they did before. However, there are a few cases in which JSR 168 portlets function differently when upgraded to JSR 286; these portlets must invoke a JSR 168 compatibility mode to run under JSR 286.

In Oracle WebCenter 10g, a portlet producer application contains the portlet.xml and oracle-portlet.xml files. When you upgrade a portlet producer application, the oracle.portlet.xml file is deleted, and all its details are moved to portlet.xml. The navigation parameters stored in oracle.portlet.xml are converted into public render parameters and are added to portlet.xml. For information about how JSR 168 parameters are handled in an upgraded JSR 286-compliant portlet producer application, see Section 16.4, “Migration of JSR 168 Portlet Producers to JSR 286: Handling of Portlet Elements.”

What is the PortalWebAssets Project?

When creating an application based on the WebCenter Portal Application template, you end up with two projects: Portal and PortalWebAssets. You’ll spend most of your time in the Portal project, but you should understand what the PortalWebAssets project is good for. The Understanding the PortalWebAssets Project section of the WebCenter Developer’s Guide gives a good summary:

Static resources for a web application, like HTML and image files, are typically bundled and deployed with the application. Requests for both dynamic and static resources are generally handled by the host application server. One way to optimize server performance is to separate the static resources from the application and deploy them on a different (possibly less expensive and more scalable) server. WebCenter Portal applications support this scenario with a static application resources project, which can include static resources like HTML and images. By default, this project is called PortalWebAssets, but you can rename the project if you wish.

WebCenter PS3 Launch Demo Preview

If you have visited oracle.com lately, you may have noticed the banner ad about our web cast, officially launching WebCenter 11g Patch Set 3. To whet your appetite, here is a screen shot of the portal we built for the launch. The demo walks you through some of the key aspects of this portal, including personalization, analytics, social services, content integration, business user editing experience, as well as the developer’s view.

If you want to find out how you can get a hold of this sample, tune in on Wednesday, February 2nd, at 10:00am pst.

Patch Set 3 New Features for Portlet Developers

If you’re a portlet developer, WebCenter 11g R1 Patch Set 3 has a handful of new features for you as well.

Most importantly, WebCenter now supports the development of JSR 286 portlets, thus eliminating the need for the Oracle-specific portlet descriptor, oracle-portlet.xml. You can build, test, and deploy JSR 286 portlets. First, you have to walk through the portlet creation wizard by creating an application based on the Portlet Producer Application template.

Then, you need to create a new portlet in your “Portlets” project.

On the JDeveloper design time experience side, the biggest change is the Design view for the portlet.xml portlet descriptor. After you have created the skeleton of your portlet code, you can easily go back and edit the generated code in a very easy to use, declarative manner.

As you can probably see in these screen shots, the editing experience of previously generated portlet meta data became very straight-forward.

Defining portlet events, parameters, security settings are all available to you.

And as always, you can switch to the source view to take a look at the generated code or make changes there manually.

About the Portal Administration Console

The new Portal Admin Console is a capability that is a core capability of most portal products, including WebLogic Portal and Oracle Portal. Starting with Patch Set 3, WebCenter has a formal admin console as well, that empowers portal administrators big time.

When you create a new application based on the WebCenter Portal Application template, the admin console is part of your application, by default. To access it, you have to log in as a user, member of the administrator role, such as weblogic (default password: weblogic1).

The first screen shot (below) gives you a quick view of all the resources that portal administrators can manage at runtime, including pages, page templates, navigation models, resource catalogs, skins, page styles, content presenter templates, and more. In the screen shot we see two pages, Home, and Products. Notice that Products has sub-pages (it has an icon linking to its sub-pages in the second column). Also, the security settings for Products has been overwritten; this is indicated by the little lock in the Access column. Last, the menu on the Actions icon shows you the list of actions you can perform on pages.

The second screen shot (below) shows that there are two navigations in our portal: Default Navigation and Peter Navigation.

The third screen shot (below) shows the editing experience for resource catalogs. (In previous releases you couldn’t edit resource catalogs at runtime, and the JDev editing experience was supported on the XML source level.)

The fourth screen shot (below) shows the Services tab. In this tab there are four service types that you can manage: content, external applications, portlet producers, and polls. Here we see how documents from the content server can be accessed, and managed.

The fifth screen shot (below) shows the WSRP portlet producer registration UI. Under “Portlet Producers” you can register portlet producers in the context of your portal (you don’t have to go to Enterprise Manager any longer for runtime portlet producer registration).

The sixth screen shot (below) demonstrates how you can manage your portal’s security configuration. You can manage the role memberships by adding and deleting users and groups.

The last screen shot (below) displays how portal administrators can change the portal preferences, including the defaults for the page template, resource catalog, navigation model, and skin.

Hidden Gems for Developers in WebCenter Patch Set 3

We have made a handful of improvements to the developer experience for WebCenter Portal developers. Let’s review three of them, in no particular order.

WebCenter-specific artifacts in the EL Editor

In PS3 we have grouped the WebCenter-specific EL constructs under a dedicated node in the EL Editor, making it very easy to access the security, navigation, or personalization context from EL. When it comes to the EL Editor, it’s very easy to get lost, hopefully this makes it easy to reference the various WebCenter artifacts.

New resource catalog: WebCenter Portal Catalog

We created a new resource catalog for portal developers, containing basic components that we expect many extranet and public facing web sites to leverage. On one hand, as a best practice, this is a list of light-weight components we recommend you to use, on the other hand it’s a convenient way to access these components. And best of all, you can expand this list or shape it the way you like by editing this resource catalog – or even by creating a new one.

WebCenter task flows: almost 100

One of the frequent questions we get from prospects and customers is “how many portlets/components does WebCenter have”. Well – if you qualify this question and ask “how many out of the box task flows does WebCenter provide in its development environment”, I know the answer to this one: 90. Here are a few screen shots for your review.

WebCenter Enterprise Methodology Group

Yet another sign of WebCenter gaining a lot of traction… Lining up nicely with the WebCenter 11g PS3 release date,Yannick Ongena kicked off the WebCenter Enterprise Methodology Group. The WebCenter Methodology Group is the fourth in the family, following the footsteps of the ADF, BIEE, and SOA-BPM community.

This group is a place to discuss best practices and methodologies for WebCenter Enterprise development, including effort by “experts” in WebCenter to discuss high level issues than those discussed on the OTN User Interaction Forums.  This effort is an overall part of getting WebCenter experts, advocates and programmers to start collaborating at user group events and OOW to get “WebCenter out there“.

WebCenter 11g Patch Set 3 Released

While formally only a patch set, from a feature perspective WebCenter 11g Patch Set 3 is a major mile stone with fundamental new capabilities. This version has been in the works for over a year and we’re very excited about it. If there’s only one thing to note about this release, than it would be the following:  this is the converged portal platform with support for broad portal and extranet site use cases and incorporates the best features from all of the previously acquired portal products, including WebLogic Portal, WebCenter Interaction, fka: ALUI (fka: Plumtree), as well as Oracle Portal.

In this release WebCenter Spaces has evolved big time; but the new features that the WebCenter Portal Framework offers are more significant than ever before (more about it soon).

Main themes of the release:

  • Portals & Sites
  • Team & Social
  • Enterprise Mashups
  • Content Management
  • Personalization
  • Search & Discovery
  • Desktop Integration & Mobile
  • Analytics & Management

If you want to learn more about this release (including download, documentation, white papers), your best starting point is the WebCenter home page on OTN: http://webcenter.oracle.com and the Release Highlights page.

Scrolling Twitter Gadget in Oracle WebCenter in Less than 2 Minutes

In a previous post we saw how to build a twitter portlet using the Fusion Middleware stack in a few minutes. If you’re more on a quick prototyping or proof of concept project, you can do something similar or even more visual without any coding whatsoever. Twitter has a set of gadgets that you can integrate into your Web site. Here are the more-or-less trivial steps:

  1. Find the gadget you want to use: http://twitter.com/about/resources/widgets
    For example, if it’s the search widget, you can customize it by specifying the Search Query, the Title, and the Caption. 


    When done, click the Finish and Grab Code button and copy the source provided.

  2. Create a WebCenter page.
  3. Drop an HTML Markup component on the page and specify the Value field by pasting the code you copied to the clipboard above. The parameters are self-explanatory, modifying them is very straight-forward.
  4. Save your changes, and return to your page. Here is what my scrolling Twitter gadget looks like.

Book Review: Web 2.0 Solutions with Oracle WebCenter

It’s always a good sign when a product is worth writing books about. Pliniu Arbizu and Ashok Aggarwal’s 276 page book came out a few weeks ago, in September 2010, published by Packt. To the authors’ credit, this is the first book about WebCenter written by “outsiders”; a team of non-Oracle employees, who are users of the product just like you are. Packt Publishing contacted me a while ago to review the new, Web 2.0 Solutions with Oracle WebCenter eBook, and as part of it (disclaimer comes here) I was glad to receive an environmentally friendly, kindle and ipad compatible, ultra-green, digitally dedicated PDF copy.
The book is very easy to read and follow, thanks to the many-many screen shots; pretty much every major statement or step in the book is supported by a product image. This helps you understand the product even if you don’t follow the steps on your computer: you’re on a train, a flight, or cruise.

The first chapter attempts to answer what WebCenter is. As a product manager of WebCenter, this is one of the hard questions we get asked every so often. It’s tough to answer it mainly because WebCenter has so many faces, the problem space it provides solutions for is so big. I found this chapter a little short, especially when you start at the very basics like PC, operating systems, and office tools. But again, maybe it’s just the product manager of me talking. . .

When it comes to enterprise software, the first challenge is installation. Colorful screen shots of the PDF copy bring color to the otherwise gray topic.

Chapter 3 walks you through the installation steps of JDeveloper, the WebCenter extension, and a subversion source control system. By the end of the chapter you have JDeveloper up and running, and testing the pre-deployed portlets in your development environment.

Chapter 4 provides an excellent way of familiarizing you with the development environment: it has you build a Web service, consume it in a standards-based (JSR 168) portlet; and finally, consume the portlet in a WebCenter application.

Chapter 5 covers page templates and ADF BC; so I was a little puzzled by the chapter title: Design and Personalization.

Chapter 6 is all about portlets. It gives a nice example how the fancy DVT (Data Visualization Tool) charts can be leveraged in portlets.

Chapter 7 discusses wikis, blogs, and discussions. A novum in the chapter that I never thought about before is using the Web Clipping portlet to surface wikis on pages. I told you: WebCenter has many faces.

Chapter 8 describes search, tagging, and linking.

Chapter 9 covers Composer and the resource catalog (business dictionary).

Chapter 10, the last chapter gives a brief overview of WebCenter Spaces.

I hope Packt and the authors are OK with me posting a screen from Chapter 6, just to give an idea of what you can build by following the steps of the book.

If you are absolutely new to WebCenter and are the type who enjoys learning by example, who likes following exact steps, this book is for you.