Book Review: Oracle WebCenter 11g PS3 Administration Cookbook by Yannick Ongena

A few months back, in August, I received an electronic copy of the book: “Oracle WebCenter 11g PS3 Administration Cookbook” by Yannick Ongena (Packt Publishing, 2011). I promised you then you write a review on it and now I finally deliver on that promise.

Image

Main conclusion: if you want to get started with WebCenter 11g, this book will help you take your first steps on many of the most important areas of Web Center (Portal). The recipes in the book provide clear instructions on getting things going. Where the Web Center documentation can be a little overwhelming – the Web Center Developer’s Guide has 69 chapters and presumably over 1500 pages of content – Yannick’s book is clear, straightforward and easy to follow.

I am not exactly sure about the intended reader for the book. The title and Yannick’s introduction mention Administration and a technical person responsible for administration. Many recipes however discusses topics and tasks I would associate with developers. So presumably both administrators and developers will benefit from the book. Note that the traditional roles of developer, administrator and end user are not as clearly defined with Web Center Portal: business or end users can take a lot of control over the portalat run time, potentially performing tasks traditionally associated only with developers. However, many run time activities are probably to complex for ordinary business users – so a technically skilled person who is typically active at run time in the run time environment is looked at to help out. In comes the administrator. Even though that may not be the usual Middleware Administrator turned DBA but more of a portal & content administrator. Well, that is for each organization itself to figure out. The persons responsible for creating the WebCenter portal, editing it at run time and taking care of its infrastructure and environment will all benefit from this book.

Set up of the book

The book consists of over one 100 recipes such as “Creating a template at runtime”, “Enabling tagging functionality to pages” and “Adding custom content to a navigation model”. Each recipe is a fairly short – typically 2 to 3 pages – that is structured according to clear template:

  • title and introduction to the recipe
  • getting ready – what do you need to have set up in order to apply the recipe
  • how to do it – what are the steps to go through, usually with screenshots to illustrate the instructions; note: the screenshots are in color in the e-book and gray scale in the printed edition
  • how it works – what is really going on internally or behind the covers when you work your way through the recipe
  • there’s more – suggestions for additional steps, related recipes or functionality etc.

Once used to this structure, it is helpful and pleasantly consistent.

The book contains a little over 330 pages. Given the enormous breadth of functionality in WebCenter Portal, that is not very much. And that is both a strength and a weakness. The book will not overwhelm the reader. Its physical size (in so far you can call it physical size for an e-book) is such that you will not be overly daunted. 330 pages – you can take that in. However, it also means that in many areas, only the surface can be scratched – and many other areas are not touched upon at all. That is of course a constant balancing act for the author – which topics to cover, to what extent, and which subjects to ignore (with pain in your heart most of the times).

The approach taken with the recipes – that are intended to be stand alone as well – have a drawback in addition to the obvious advantage that you can read them and apply them in random order and as they are required in a specific situation. The drawback is that the recipes are frequently a little too simple. The getting ready section for a recipe should not get longer than the how to do it – I understand that – but it means that the recipe will primarily describe the first steps to take in a certain direction, not the more advanced decisions or fine tuning decisions made later on. Since the recipe has no previous context to draw upon, they all start more or less from scratch. It’s a bit like making day trips and starting from the same location every day – compared to a case based book where you make a journey across the country, starting the day trips at various subsequent locations as it were.

I prefer the case based books for reading (back to back). The recipe approach makes for a better reference manual. That is where Oracle WebCenter 11g PS3 Administration Cookbook is at its best I think: as a reference for quickly finding out how to go about (or at least how to start out with) a certain task.

To do the book justice though: I did read it back to back and it gave me good overview of many different areas and provided inspiration for topics to revisit and try out in more detail at a later stage.

The content

After the last reshuffle, the Oracle WebCenter product is now defined with four main building blocks (maybe even four different products and entries in the price list): Sites, Content, Portal and Social. Yannick does not mention the Sites product (the acquisition of Fat Wire probably came after the deadline of the book) and merely brushes upon Content and Social. The book is focused on the areas of WebCenter now called WebCenter Portal. The book contains one chapter on Spaces – but that is clearly not the heart of the matter. Building, constructing and deploying an enterprise portal is.

The 14 chapters in the book are:

1: Creating an Enterprise Portal with WebCenter

Get started with a WebCenter Portal application, first in JDeveloper, then on the integrated WebLogic Server using the WebCenter Composer. After just a few pages, your first WebCenter Portal application is running and you learn how to start editing the portal at runtime.

2: Consuming Portlets

This chapter discusses not just the consumption of portlets in WebCenter portal pages, it also explains how to create such portlets (in a very simple my first portlet example). It mentions in passing that ADF taskflows can be published as portlet – but unfortunately it does not dwell on it. It also neglects to explain how the simple portlet created in this chapter can be deployed to be consumed at run time.

Using the standard portlet provider shipped with the WebCenter extension to JDeveloper and the integrated WebLogic Server, this chapter describes the consumption of portlets, both at design time and run time. The last part of this chapter on ‘wiring portlets together’ is quite in depth. It includes a substantial portion of code – taken from a Page Definition file for a page containing two portlets – to illustrate the integration at design time of the portlets in the page, using page variables. Finally, the chapter explains contextual wiring at run time – one of most complex topics in the book in my opinion.

3: Navigation Models and Page Hierarchies

Chapter three introduces the reader to the design time and run time aspects of Navigation Models and the Page Hierarchy. I found this to be very clear and instructive. Through this chapter, it is very easy to quickly have the menu and navigation flow of the portal constructed. It is a lot less abstract than portions of the previous and next chapter, clearly illustrated and therefore quite inviting.

4: Managing the Resource Catalog

An important aspect of enterprise portals created with WebCenter is the ability to edit the pages – and even add pages – at run time. Editing a page includes the ability to add components – such as static content items, portlets, images, pieces of text, custom task flows, shipped WebCenter (service) taskflows and more. The set of components available to user to include into the portal at run time is defined through a Resource Catalog. This chapter describes the process of configuring the resource catalogs at both design time and run time with the components exposed to end users in various roles. This chapter is quite thorough and in depth, containing many examples of configuration files and even some Java code to determine at run time which catalog to display to a user and which resources in a catalog to expose.

5: Managing the Look and Feel of Your Portal

For a chapter concerned with the Look and Feel, this chapter could have done with a lot more screenshots I think. However, the content is quite clear on how to get going with templates that define the overall layout structure and the recurring content for portal pages, such as boiler-plate, navigation and action buttons.

The introduction to the chapter also mentions an introduction to custom skins – which I typically associate with CSS like style definitions. However, as the chapter progresses, it seems that Yannick mixes the terms page style and skin, both indicating “how the content will be displayed on your page” [in terms of the layout of the content facet within the page template]. So this chapter is not on Skins as defined in ADF applications, but on (custom) page styles for portal pages. Like almost anything in a WebCenter Portal application, page templates can be defined both at design time as well as run time. This chapter describes both ways. Page styles are created at design time in this chapter – and require fairly advanced ADF Faces skills.

6: Integrating Content with Document Services

Embedding content into the enterprise portal is one of the key responsibilities for portal editors (I am not sure I would that a Portal administrator, but perhaps I should) and to some extend portal developers too. This chapter discusses the various ways in which content can be integrated or mashed up into the WebCenter Portal application.

Yannick makes a brief remark on identity propagation and how that ensures that users will only see content they are entitled to see. From personal experience I know that quite a lot can be involved with this -so I find this off the cuff remark a little too casual. I understand this book is not meant to provide full instructions, but this is very light weight.

Although the chapter makes mention of Oracle Portal, the File System and alternative content systems implementing the CMIS specification, it really assumes that Oracle Content Server (part of UCM) is used. If you do not have Content Server – the chapter is of little value to you. Having said that, if you do have Content Server, this chapter is very valuable as it gives a good overview of creating the connection with the Content Server, writing and using Content Queries – to add dynamically populated folders to the navigation model for example – and leveraging the WebCenter Document Services such as the Content Presenter and the Document Explorer. This is one of the chapters where you can never have enough illustrations it seems, even though Yannick included a substantial number already.

7: Discussions and Wiki Services

Discussions or Forums and Wikis are popular examples of Social Networking services. This chapter introduced them, as well as Announcements (not included in the title, but certainly interesting in its own right). Note that these topics require a full WebCenter Suite (as it has been known so far) environment – JDeveloper with WebCenter extension will not do.

Announcements seem to have been implemented through some special, internal discussion forum. That means that in order to use Announcements, you have to first get the Discussions Server up and running. Yannick states “Announcements are very powerful in combination with the link service. It allows you to link an announcement to another resource like a document or an event. This will be discussed in the next chapter when we talk about Organizing and finding content.” However, he does not really deliver on that promise: chapter 8 discusses how to create a link to an announcement, but not from an announcement. That would have been a very valuable example to show. The recipe on creating an announcement is pretty sparse as it is, as is the entire discussion of the Wiki Service. I get the impression that the author is not a big fan of the Wiki feature, as the two recipes devoted to the Wiki are less than three pages worth of content, not really exuding enthusiasm and inspiration.

8: Organizing and Finding Content

This chapter discusses Tagging and Linking. Especially linking can provide a knowledge network, created mainly through collaboration and user generated feedback. In my opinion, linking is at the core of Enterprise 2.0. Tagging can help too – especially when suggestions, recommendations and search are fueled from the tags added by users. I am not sure how well tags are used in WC, outside the tag cloud component – and Yannick does not really enlighten me in this chapter. The discussion on links though is very good. It could have been a little more in depth, for example discussing questions such as: how can we present links on resources to the end user? how can we create links to custom resources?

This chapter makes me wonder what algoritm is behind the ‘related links’ taskflow that derives links to other resources given the context of a current resource, based on ‘tag-similarity’.

Interestingly enough, this chapter on finding content does not discuss the search services in WebCenter. These are not discussed at all in the book.

9: Using Polls and Surveys

A very straightforward chapter on a quite straightforward topic: creation at run time of polls (or surveys), managing existing polls and analyzing the results of polls. Note that a poll and a survey is the same thing – only perhaps the term survey is used for more extensive sets of questions put to the user.

I am wondering whether the poll results can be somehow exported and/or analyzed using custom SQL. Well, that is beyond the scope of this chapter.

10: Integrating External Content and Applications

This chapter explain how integrate external assets, sites and applications into the WebCenter portal. One way of doing this is by providing the portal user links that take him or her to a meaningful (location in a) external site. This chapter describes how external applications can be registered and how WebCenter can perform logging in to external applications on behalf of the user – provided the user enters his or her credentials for the external application at least once.

Image

As administrator I would really be interested to know how and where the user credentials (with passwords) are stored for all the external applications.

The chapter does not go into detail to explain if and how the navigation to the external application can be made context sensitive: how based on the current context in the WebCenter Portal a specific page or resource in the external application can be deep linked to. That would be interesting to know.

The chapter continues with clear and useful though fairly condensed descriptions of the WebClipping Portlet and the OmniPortlet that can be used at run time to embed content into portal pages that is fetched in real time from external sources.

11: WebCenter Spaces

Once the flagship of the WebCenter product, Spaces seem less prominent in the current product positioning. It is discussed in this chapter – also in a not so prominent way as one would have expected some time ago. This is justified I think. This chapter provides an overview of the most common tasks around using and configuring Spaces – all performed at run time. One topic that is not mentioned – and perhaps should have been – is the customization of Spaces. I believe that for the widespread acceptance of Spaces, the ability to perform customization is quite important.

12: Securing Your WebCenter Portal

Chapter 12 is one Administrators will really appreciate. It contains a good discussion of authentication and authorization and even transport level security (SSL) – a discussion with more WebLogic Server console screenshots than anywhere in the book. This discussion as well as several other in this chapter – is not very WebCenter specific – but very useful all the same.

13: Managing WebCenter Portal Applications

This chapter start off with deploying applications to a stand alone WebCenter environment, and undeploying applications from that environment – from within JDeveloper using a connection to the Application Server. Next it discusses [briefly] the management of connections – to database, content repository, discussion and announcement server, mail server and various others servers and services – in Enterprise Manager. Another important topic for administrators is the distribution or propagation of portal configuration definitions (meta data) created at run time from one environment to another. The chapter concludes with a high level introduction of some of the logging and monitoring facilities in Enterprise Manager.

14: WebCenter Analytics and Activity Graph

Chapter 14 discusses two facilities in WebCenter that help provide insight in the traffic on the portal – to pages, taskflows, discussion forums etc. – and the (trends in) specific activities of individual portal users . It is a little confusing to distinguish between Analytics (the former) and Activities (the latter) – they are somewhat thrown together in this chapter even though they are fairly distinct.

WC Analytics comes with an Analytics Collector and Activities Gathering Engine. Similar – but very different at the same time.

Both Analytics and Activities also come with a number of task flows. Analytics task flows are used to provide insight (to portal administrators, content editors etc.) in the traffic on the portal.

Image

Yannick discusses in quite a lot of detail which reports are available and how you can add custom queries. He mentions how through analytics, we can get insight in the popularity of blogs. This is the first time he mentions blogs – as the Blog Services in WebCenter are not introduced anywhere else in the book. Perhaps that would have been a good addition in the chapter on Discussions and Wikis.

He is much less eloquent on the Activities. He mention the Activity Stream – a real time list of activities on the Portal. Unfortunately, he does not explain how the ‘recommendations and personalization scenarios’ that he referred to in the beginning of chapter 14 can be implemented using data gathered on activities. The usefulness of the activity stream does not really come across. This chapter also leaves me with the question how a user can filter the activities presented to him or her in the activity stream. The recipe as described would lead to an avalanche of activity-references with no filtering at all.

The title

I do no get this Packt policy of including the PS indication in the titles of books. In this case, the title contains the PS 3 or Patch Set 3 reference. Oracle releases Patch Sets about every four months or so. Using a specific PS reference suggests a life span for a book of fairly short period. Which is a commercially interesting strategy and one that does not do justice to book and author. By the time Yannick’s book was released, the PS 4 for WebCenter had been out for some time. And his book is completely valid for PS 4 and probably will be for PS 5 and most of PS 6 as well. So why include the patch set reference in the title?

Interestingly enough, the Preface of the book contains the following section:

Image

It clearly states that the book covers 11gR1 of WebCenter, not just PS 3 as the title suggests. It then oddly enough contains the contradictory suggestions to download JDeveloper 11.1.2 (11gR2) and to refrain from that version as it is not [yet] compatible with WebCenter. The latter statement is true – but why include the first one then contradict it on almost the next line.

Note that – as noted in this snippet from the book – for chapters 5 (on Content Server), 7 (Wiki and Discussions), 11 (Spaces) and 14 (Analytics and Activty Graph) you will need to set up either UCM and/or the full WebCenter installation. For these and other chapters you will need a database (for example Oracle XE) with the WebCenter Schema (for example for tags, links and polls).

Like I have argued above, I am not sure about the word Administration in the title either. It is both more and less than an Administration Cookbook. Many aspects of Administration are not discussed in a lot of detail – or even at all. At the same time, many elements are discussed that I would not consider administration. I do not expect an Administrator to be using JDeveloper for example – yet half of the recipes describe activities in JDeveloper. As an administrator, I would have expect more (in depth) recipes in areas such as performance and tuning, back up and recovery, monitoring, problem analysis and resolution and management of the MDS Repository for meta data (and most of the definition of the enterprise portal).

That does not mean of course that the book is any less good, only that the title is somewhat off the mark.

Miscellaneous

Oddly enough – and a little annoying – the URL mentioned in the book are not active hyperlinks in the PDF version that I have been reviewing. Seems like a missed opportunity for any e-book.

An area that deserves a little more attention in my opinion is ‘design time customization’ that allows fine tuning of the standard taskflows provided by Oracle for the WebCenter Services and also the concept of Customization Layers that allow customizations that depend on the current context such as role, department, region, age, time of day/week/year etc.

With any product, I will look for areas to extend and integrate. APIs and other hooks to integrate custom content, behavior and events. Clearly that is not what one can expect from a book that is called an Administration Cookbook and has to try to discuss everything and the world in a mere 330 pages. However, the fact that custom business objects can be tagged and linked and dealt with by the search service should at least have been mentioned, I believe. Having said that, I realize that part of the strength of the book is that by showing the first steps for various services and functional areas, it piques ones curiosity, raises many follow up questions and inspires the reader into further explorations.

The author

I first came across Yannick through his great blog: http://www.yonaweb.be/. Many excellent and sometimes much more in depth explanations of WebCenter and UCM related activities and features are on the blog. Yannick also publishes several YouTube tutorials on WebCenter. Yannick’s Twitter account is yannick_ongena.

Additional details

The book’s homepage on the Packt Web Site: http://www.packtpub.com/oracle-webcenter-11g-ps3-administration-cookbook/book. See http://www.packtpub.com/toc/oracle-webcenter-11g-ps3-administration-cookbook-table-contents for the detailed table of contents.

The book sells at roughly 25 euro for the e-book edition and around 40 euro for a printed copy.

Summary

This book is valuable for anyone starting out with WebCenter Portal. It helps to quickly get an overview of what WebCenter Portal is and can do – and it also helps the reader to quickly start doing things. The recipe-based structure of the book means that individual topics are accessible and easily explored.

The book is not only primarily useful for administrators: Portal developers will hugely benefit as well. And some administrators will find a number of important areas somewhat under-developed.

Readers already well acquainted with WebCenter may still discover a number of new topics and areas or perhaps a tip or trick in a familiar area. However, on the whole the book is of relatively introductory level and does not offer deep insights to experiences WebCenter developers, administrators or users.

Yannick has done an excellent job in making the wonderful world of WebCenter accessible to a broad audience that will hopefully find its way to this book. And I personally hope he will create a sequel with more in depth technical recipes (for example on APIs and custom extension points) and discussions on architecture and user experience.