<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CE4FQXc5cSp7ImA9WhBWFUs.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160</id><updated>2013-04-09T20:01:50.929-07:00</updated><category term="install" /><category term="bpm" /><category term="siebel" /><category term="ucm" /><category term="site template" /><category term="iis" /><category term="ses" /><category term="javascript" /><category term="layout managers" /><category term="documentation" /><category term="coherence" /><category term="tutorial" /><category term="task list portlet" /><category term="webcenter" /><category term="cookbook" /><category term="peoplesoft" /><category term="adf" /><category term="sap" /><category term="portlet" /><category term="pivot table" /><category term="jquery" /><category term="dvt" /><category term="jdeveloper" /><category term="declarative component" /><category term="site studio" /><category term="skin" /><category term="content presenter" /><category term="twitter" /><category term="mds" /><category term="mac" /><category term="task flow" /><category term="tuning" /><category term="weblogic" /><category term="portal" /><category term="discussions" /><category term="oow" /><category term="process spaces" /><category term="inline editing" /><category term="webcenter spaces" /><category term="content" /><category term="enterprise deployment guide" /><category term="ohs" /><category term="json" /><category term="ebs" /><category term="shared library" /><category term="deploy" /><title>GEORGE MAGGESSY</title><subtitle type="html">Collaborate to think collectively.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://george.maggessy.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://george.maggessy.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/FwmLx" /><feedburner:info uri="blogspot/fwmlx" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUACRX49fyp7ImA9WhVVFkU.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-3925220310472292133</id><published>2012-05-10T13:58:00.001-07:00</published><updated>2012-05-10T14:02:44.067-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-10T14:02:44.067-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ucm" /><category scheme="http://www.blogger.com/atom/ns#" term="content presenter" /><category scheme="http://www.blogger.com/atom/ns#" term="webcenter" /><category scheme="http://www.blogger.com/atom/ns#" term="portal" /><category scheme="http://www.blogger.com/atom/ns#" term="inline editing" /><title>Inline Editing in Content Presenter for Multiple Data Files [Addendum]</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
This post is to add the “&lt;em&gt;Create new web content in Site Studio&lt;/em&gt;” missing functionality to my previous post. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-XgPV8l4Nix8/T6wr46zKxrI/AAAAAAAADjE/yN7lS-gjQU8/s1600-h/image%25255B13%25255D.png"&gt;&lt;img alt="image" border="0" height="182" src="http://lh4.ggpht.com/-DbGZ_jr4s-Q/T6wr5R8-gmI/AAAAAAAADjI/jUlGapFTGC8/image_thumb%25255B7%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="581" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The highlighted button will open the Site Studio Content Wizard in a popup.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-TKJ43UW3xDc/T6wr51MC-7I/AAAAAAAADis/OFpTWPsZ1WY/s1600-h/image%25255B11%25255D.png"&gt;&lt;img alt="image" border="0" height="352" src="http://lh3.ggpht.com/-wyGDzwDwhE4/T6wr6ZE9huI/AAAAAAAADi0/uJywF1cNtdM/image_thumb%25255B5%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="393" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
You can download the new source code from &lt;a href="https://sites.google.com/site/gmaggessfiles/gmaggess-files/EditMultipleDataFile.zip"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/mQl500h_VJ4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/3925220310472292133/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2012/05/inline-editing-in-content-presenter-for_10.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/3925220310472292133?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/3925220310472292133?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/mQl500h_VJ4/inline-editing-in-content-presenter-for_10.html" title="Inline Editing in Content Presenter for Multiple Data Files [Addendum]" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-DbGZ_jr4s-Q/T6wr5R8-gmI/AAAAAAAADjI/jUlGapFTGC8/s72-c/image_thumb%25255B7%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://george.maggessy.com/2012/05/inline-editing-in-content-presenter-for_10.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MAR3Y9fCp7ImA9WhVVFU8.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-8637925514060741251</id><published>2012-05-03T16:23:00.000-07:00</published><updated>2012-05-08T16:57:26.864-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-08T16:57:26.864-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="content presenter" /><category scheme="http://www.blogger.com/atom/ns#" term="webcenter" /><category scheme="http://www.blogger.com/atom/ns#" term="portal" /><category scheme="http://www.blogger.com/atom/ns#" term="inline editing" /><title>Inline Editing in Content Presenter for Multiple Data Files</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
If you are not familiar with Content Presenter, please stop reading this post and look into the &lt;a href="http://docs.oracle.com/cd/E28389_01/webcenter.1111/e10148/jpsdg_content_presenter.htm#CCHDAHGB"&gt;documentation&lt;/a&gt;, after that you might want to come back to this post. I guarantee it will be really useful in the future.&lt;br /&gt;
&lt;br /&gt;
As you might already know now, Content Presenter task flow only allows inline editing for single data files (CDF). Many customer have requested the same functionality when displaying multiple CDFs simultaneously, for example, as a result of a CMIS query. Such feature is currently not supported by Content Presenter, however there is a way of accomplishing such functionality by tweaking your content presenter template. Let me explain the trick here.&lt;br /&gt;
&lt;br /&gt;
I’ve created 2 content presenter templates. The first one displays a list of data files.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt; = &lt;span class="kwrd"&gt;'1.0'&lt;/span&gt;?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;jsp:root&lt;/span&gt; &lt;span class="attr"&gt;xmlns:jsp&lt;/span&gt;&lt;span class="kwrd"&gt;="http://java.sun.com/JSP/Page"&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;="2.1"&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;          &lt;span class="attr"&gt;xmlns:af&lt;/span&gt;&lt;span class="kwrd"&gt;="http://xmlns.oracle.com/adf/faces/rich"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;          &lt;span class="attr"&gt;xmlns:dt&lt;/span&gt;&lt;span class="kwrd"&gt;="http://xmlns.oracle.com/webcenter/content/templates"&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;          &lt;span class="attr"&gt;xmlns:f&lt;/span&gt;&lt;span class="kwrd"&gt;="http://java.sun.com/jsf/core"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;dt:contentListTemplateDef&lt;/span&gt; &lt;span class="attr"&gt;var&lt;/span&gt;&lt;span class="kwrd"&gt;="nodes"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:panelGroupLayout&lt;/span&gt; &lt;span class="attr"&gt;layout&lt;/span&gt;&lt;span class="kwrd"&gt;="vertical"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="nodeListPanel"&lt;/span&gt; &lt;span class="attr"&gt;valign&lt;/span&gt;&lt;span class="kwrd"&gt;="top"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                           &lt;span class="attr"&gt;inlineStyle&lt;/span&gt;&lt;span class="kwrd"&gt;="#{composerContext.subView == 'contentContribution' ? 'border:2px dashed blue' : ''}"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:iterator&lt;/span&gt; &lt;span class="attr"&gt;rows&lt;/span&gt;&lt;span class="kwrd"&gt;="0"&lt;/span&gt; &lt;span class="attr"&gt;var&lt;/span&gt;&lt;span class="kwrd"&gt;="node"&lt;/span&gt; &lt;span class="attr"&gt;varStatus&lt;/span&gt;&lt;span class="kwrd"&gt;="iterator"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                         &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="#{nodes}"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="i1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;               &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:panelGroupLayout&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="pgl1"&lt;/span&gt; &lt;span class="attr"&gt;layout&lt;/span&gt;&lt;span class="kwrd"&gt;="vertical"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;dt:contentTemplate&lt;/span&gt; &lt;span class="attr"&gt;node&lt;/span&gt;&lt;span class="kwrd"&gt;="#{node}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;                                      &lt;span class="attr"&gt;view&lt;/span&gt;&lt;span class="kwrd"&gt;="templates.mytemplate.item"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;                                      &lt;span class="attr"&gt;nodesHint&lt;/span&gt;&lt;span class="kwrd"&gt;="#{nodes}"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="ct1"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;                  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;f:facet&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="separator"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:spacer&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="15px"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="s1"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;                  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;f:facet&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;               &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;af:panelGroupLayout&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;af:iterator&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;af:panelGroupLayout&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;dt:contentListTemplateDef&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;jsp:root&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="kwrd"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
Line 8 adds the blue dashed line around the contribution area. It’s a nice thing to add to your template ‘cause it will give the same look and feel as the standard content presenter.&lt;br /&gt;
&lt;br /&gt;
The second template renders a single data file, and it is in here that we do the magic.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt; = &lt;span class="kwrd"&gt;'1.0'&lt;/span&gt;?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;jsp:root&lt;/span&gt; &lt;span class="attr"&gt;xmlns:jsp&lt;/span&gt;&lt;span class="kwrd"&gt;="http://java.sun.com/JSP/Page"&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;="2.1"&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;          &lt;span class="attr"&gt;xmlns:af&lt;/span&gt;&lt;span class="kwrd"&gt;="http://xmlns.oracle.com/adf/faces/rich"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;          &lt;span class="attr"&gt;xmlns:dt&lt;/span&gt;&lt;span class="kwrd"&gt;="http://xmlns.oracle.com/webcenter/content/templates"&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;          &lt;span class="attr"&gt;xmlns:f&lt;/span&gt;&lt;span class="kwrd"&gt;="http://java.sun.com/jsf/core"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;dt:contentTemplateDef&lt;/span&gt; &lt;span class="attr"&gt;var&lt;/span&gt;&lt;span class="kwrd"&gt;="node"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:panelGroupLayout&lt;/span&gt; &lt;span class="attr"&gt;layout&lt;/span&gt;&lt;span class="kwrd"&gt;="vertical"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="pgl3"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:panelGroupLayout&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="pgl1"&lt;/span&gt; &lt;span class="attr"&gt;layout&lt;/span&gt;&lt;span class="kwrd"&gt;="horizontal"&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;                           &lt;span class="attr"&gt;rendered&lt;/span&gt;&lt;span class="kwrd"&gt;="#{backingBeanScope.presenterBacking.editableBySiteStudio and pageEditorPanelBean.view eq 'CC_VIEW'}""&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                           &lt;span class="attr"&gt;halign&lt;/span&gt;&lt;span class="kwrd"&gt;="right"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:commandImageLink&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="gil1"&lt;/span&gt; &lt;span class="attr"&gt;shortDesc&lt;/span&gt;&lt;span class="kwrd"&gt;="#{dlBndl.OPEN_SS_CONTRIBUTOR}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                             &lt;span class="attr"&gt;icon&lt;/span&gt;&lt;span class="kwrd"&gt;="/adf/webcenter/edit_ena.png"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;          &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:showPopupBehavior&lt;/span&gt; &lt;span class="attr"&gt;popupId&lt;/span&gt;&lt;span class="kwrd"&gt;="psvPopup"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;af:commandImageLink&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:commandLink&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="psvCtb3"&lt;/span&gt; &lt;span class="attr"&gt;shortDesc&lt;/span&gt;&lt;span class="kwrd"&gt;="#{dlBndl.SS_REFRESH_SHORT_DESC}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;                        &lt;span class="attr"&gt;actionListener&lt;/span&gt;&lt;span class="kwrd"&gt;="#{backingBeanScope.presenterBacking.handleRefresh}"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;          &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:image&lt;/span&gt; &lt;span class="attr"&gt;source&lt;/span&gt;&lt;span class="kwrd"&gt;="/adf/webcenter/refresh_ena.png"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="img1"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;af:commandLink&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;f:facet&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="separator"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;          &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:spacer&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="10"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="10"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="s1"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;f:facet&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;af:panelGroupLayout&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:outputFormatted&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="#{node.propertyMap['RD_EXAMPLE:BODY'].asTextHtml}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;                          &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="ot1"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;af:panelGroupLayout&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:popup&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="psvPopup"&lt;/span&gt; &lt;span class="attr"&gt;contentDelivery&lt;/span&gt;&lt;span class="kwrd"&gt;="lazyUncached"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:panelWindow&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="psvPw2"&lt;/span&gt; &lt;span class="attr"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;="#{dlBndl.EDIT_DOCUMENT_MENU_LABEL} #{node.propertyMap['dDocName'].value}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;                      &lt;span class="attr"&gt;modal&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;stretchChildren&lt;/span&gt;&lt;span class="kwrd"&gt;="first"&lt;/span&gt; &lt;span class="attr"&gt;contentWidth&lt;/span&gt;&lt;span class="kwrd"&gt;="600"&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;                      &lt;span class="attr"&gt;contentHeight&lt;/span&gt;&lt;span class="kwrd"&gt;="500"&lt;/span&gt; &lt;span class="attr"&gt;resize&lt;/span&gt;&lt;span class="kwrd"&gt;="on"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:inlineFrame&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="psvReg1"&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;                        &lt;span class="attr"&gt;source&lt;/span&gt;&lt;span class="kwrd"&gt;="../../cs/idcplg?IdcService=WCM_EDIT_DATA_FILE&amp;amp;amp;dDocName=#{node.propertyMap['dDocName'].value}"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;af:panelWindow&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;af:popup&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;dt:contentTemplateDef&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;jsp:root&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
 font-size: small;
 color: black;
 font-family: consolas, "Courier New", courier, monospace;
 background-color: #ffffff;
 /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
 background-color: #f4f4f4;
 width: 100%;
 margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;


&lt;br /&gt;
A you can see, in line 27 I invoke the Site Studio Contributor window through the url &lt;em&gt;http://&amp;lt;ucm_server&amp;gt;:&amp;lt;port&amp;gt;/cs/idcplg?IdcService=WCM_EDIT_DATA_FILE&amp;amp;dDocName=#{node.propertyMap['dDocName'].value}. &lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
The other interesting tip is &lt;em&gt;#{pageEditorPanelBean.view eq 'CC_VIEW'}&lt;/em&gt;. It will only render the contribution toolbar if the user is in Contributor mode (Ctrl + Shift + C).&lt;br /&gt;
&lt;br /&gt;
All the other boilerplate code is just to make the app look nicer.&lt;br /&gt;
&lt;br /&gt;
You can download the source code from &lt;a href="https://sites.google.com/site/gmaggessfiles/gmaggess-files/EditMultipleDataFiles.zip?attredirects=0&amp;amp;d=1"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/hBLLkj_2MBg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/8637925514060741251/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2012/05/inline-editing-in-content-presenter-for.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/8637925514060741251?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/8637925514060741251?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/hBLLkj_2MBg/inline-editing-in-content-presenter-for.html" title="Inline Editing in Content Presenter for Multiple Data Files" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://george.maggessy.com/2012/05/inline-editing-in-content-presenter-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4NQXYzfCp7ImA9WhVWFE0.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-5766623212360672745</id><published>2012-04-25T18:49:00.001-07:00</published><updated>2012-04-25T18:49:50.884-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-25T18:49:50.884-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="webcenter" /><category scheme="http://www.blogger.com/atom/ns#" term="portal" /><title>WebCenter Portal Pretty URL Beyond Limits</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Imagine that you have a customer that wants to create URL shortcuts for each of their products. Let’s say ACME has hundreds of products and a single page that according to the product id HTTP GET parameter it renders a different page. You certainly don’t want to create a single entry for each product in your Navigation Model nor have the customer or business user memorize all product ids, right?&lt;br /&gt;
&lt;br /&gt;
So there’s a quick and easy solution which is to extend WebCenter’s CustomViewHandler. The CustomViewHandler is responsible for handling the separation between the pretty URL and page id in the navigation model itself. As you’ll see in the sample code I developed a class called MyCustomViewHandler and registered it in the faces-config.xml file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version="1.0" encoding="windows-1252"?&amp;gt;&lt;br /&gt;&amp;lt;faces-config version="1.2" xmlns="&lt;a href="http://java.sun.com/xml/ns/javaee%22"&gt;http://java.sun.com/xml/ns/javaee"&lt;/a&gt;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;application&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;default-render-kit-id&amp;gt;oracle.adf.rich&amp;lt;/default-render-kit-id&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;view-handler&amp;gt;&lt;strong&gt;oracle.webcenter.portal.sample.MyCustomViewHandler&lt;/strong&gt;&amp;lt;/view-handler&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/application&amp;gt;&lt;br /&gt;&amp;nbsp; …&lt;br /&gt;&amp;lt;/faces-config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the attached &lt;a href="https://sites.google.com/site/gmaggessfiles/gmaggess-files/ACMEPrettyURL.zip?attredirects=0&amp;amp;d=1"&gt;sample code&lt;/a&gt; I’ll address the 2 cases below.&lt;br /&gt;
&lt;br /&gt;
&lt;table border="0" cellpadding="2" cellspacing="0" style="width: 400px;"&gt; &lt;tbody&gt;
&lt;tr&gt; &lt;td valign="top" width="200"&gt;&lt;strong&gt;Internal URL&lt;/strong&gt;&lt;/td&gt; &lt;td valign="top" width="200"&gt;&lt;strong&gt;Pretty URL&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="200"&gt;/product?PID=123&lt;/td&gt; &lt;td valign="top" width="200"&gt;/product/EarthquakePills&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="200"&gt;/product?PID=456&lt;/td&gt; &lt;td valign="top" width="200"&gt;/product/TornadoKit&lt;br /&gt;
&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
To test the application, replace the home URL by &lt;a href="http://%3Cserver%3E:&amp;lt;port&amp;gt;/acme/faces/home"&gt;http://&amp;lt;server&amp;gt;:&amp;lt;port&amp;gt;/acme/faces/home&lt;/a&gt; by &lt;a href="http://%3Cserver%3E:&amp;lt;port&amp;gt;/acme/faces/product/EarthquakePills"&gt;http://&amp;lt;server&amp;gt;:&amp;lt;port&amp;gt;/acme/faces/product/EarthquakePills&lt;/a&gt; and &lt;a href="http://%3Cserver%3E:&amp;lt;port&amp;gt;/acme/faces/product/TornadoKit."&gt;http://&amp;lt;server&amp;gt;:&amp;lt;port&amp;gt;/acme/faces/product/TornadoKit.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Notice that the default-navigation-model.xml does not contain EarthquakePills nor TornadoKit as link nodes.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-NmREKEeZBY0/T5ipGjSg5tI/AAAAAAAADg4/NsPjIT8f0v8/s1600-h/image%25255B3%25255D.png"&gt;&lt;img alt="image" border="0" height="292" src="http://lh3.ggpht.com/-O6XwubFJNGw/T5ipHFMmpGI/AAAAAAAADhA/_KW2B-0hbEE/image_thumb%25255B1%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="627" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I hope you enjoyed the post. I’m sure it will be useful in your current WebCenter project.&lt;br /&gt;
&lt;br /&gt;
Download the JDeveloper application &lt;a href="https://sites.google.com/site/gmaggessfiles/gmaggess-files/ACMEPrettyURL.zip?attredirects=0&amp;amp;d=1"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/Z2bKAZ_SG3M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/5766623212360672745/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2012/04/webcenter-portal-pretty-url-beyond.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/5766623212360672745?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/5766623212360672745?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/Z2bKAZ_SG3M/webcenter-portal-pretty-url-beyond.html" title="WebCenter Portal Pretty URL Beyond Limits" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-O6XwubFJNGw/T5ipHFMmpGI/AAAAAAAADhA/_KW2B-0hbEE/s72-c/image_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://george.maggessy.com/2012/04/webcenter-portal-pretty-url-beyond.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4EQng7eyp7ImA9WhVWE0Q.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-5090195474153356444</id><published>2012-04-25T15:09:00.001-07:00</published><updated>2012-04-25T15:28:23.603-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-25T15:28:23.603-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="webcenter" /><category scheme="http://www.blogger.com/atom/ns#" term="portal" /><category scheme="http://www.blogger.com/atom/ns#" term="coherence" /><category scheme="http://www.blogger.com/atom/ns#" term="content" /><title>Enabling Coherence for Content Presenter in WebCenter Portal PS4</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Content Presenter uses CMIS REST APIs to surface UCM content and JOC for local (in-memory) cache. Which means that by default it does not leverage Coherence, despite the fact that it comes with WLS. &lt;br /&gt;
You can enable content caching with Coherence for both WebCenter Spaces and WebCenter Portal. For the former you need to create a file called &lt;a href="https://sites.google.com/site/gmaggessfiles/gmaggess-files/content-coherence-cache-config.xml"&gt;content-coherence-cache-config.xml&lt;/a&gt;. This file can be either in the EAR classpath or server's system classpath.&lt;br /&gt;
&lt;br /&gt;
Setting the jar file in the system classpath is as easy as copying the jar file with the aforementioned xml file under $DOMAIN_HOME/lib. &lt;br /&gt;
&lt;br /&gt;
To illustrate how to put the xml file in the EAR classpath I’ve created a JDeveloper application called WebCenterPortalCoherence. Under WebCenterPortalCoherence/src I’ve created a APP-INF/lib directory and I’ve added a jar file called porta-coherence.jar containing only &lt;a href="https://sites.google.com/site/gmaggessfiles/gmaggess-files/content-coherence-cache-config.xml"&gt;content-coherence-cache-config.xml&lt;/a&gt; to the EAR deployment profile packaging as shown below. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-un1gfkEuubc/T5h1dT1iJGI/AAAAAAAADgg/X1zjcX-hevI/s1600-h/image%25255B3%25255D.png"&gt;&lt;img alt="image" border="0" height="369" src="http://lh6.ggpht.com/-UIoHvoF7NJk/T5h1eFjZ_3I/AAAAAAAADgo/TDfeKWmzBAU/image_thumb%25255B1%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="502" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Deploy your application and &lt;em&gt;voila&lt;/em&gt;.  &lt;br /&gt;
&lt;br /&gt;
To verify if Coherence is running I set the &lt;strong&gt;-Dtangosol.coherence.management=all&lt;/strong&gt; to the JVM startup parameter, to be more specific I set that under setDomainEnv.sh. After bouncing the managed server where you have your application deployed, connect to it using JConsole and check for Coherence in the MBeans tab. You should also see something like this in your log: &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: 'Courier New'; font-size: xx-small;"&gt;2012-04-25 14:45:47.321/1278.178 Oracle Coherence GE 3.6.0.4 &amp;lt;Info&amp;gt; (thread=[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded cache configuration from "zip:/oracle/app/admin/domains/webcenter/servers/WC_CustomPortal/tmp/_WL_user/WebCenterPortalCoherence_application1_V2.0/i092wg/APP-INF/lib/portal-coherence.jar!/content-coherence-cache-config.xml"&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
You can download the JDeveloper project from &lt;a href="https://sites.google.com/site/gmaggessfiles/gmaggess-files/WebCenterPortalCoherence.zip"&gt;here&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
For more info on content-coherence-cache-config.xml, please read &lt;a href="http://docs.oracle.com/cd/E21764_01/webcenter.1111/e12405/wcadm_documents.htm#BABHFCJH"&gt;Oracle’s documentation&lt;/a&gt;.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/nS5YTqbT5a0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/5090195474153356444/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2012/04/enabling-coherence-for-content.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/5090195474153356444?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/5090195474153356444?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/nS5YTqbT5a0/enabling-coherence-for-content.html" title="Enabling Coherence for Content Presenter in WebCenter Portal PS4" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-UIoHvoF7NJk/T5h1eFjZ_3I/AAAAAAAADgo/TDfeKWmzBAU/s72-c/image_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://george.maggessy.com/2012/04/enabling-coherence-for-content.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIARXszfip7ImA9WhVRF0Q.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-4907716423923906420</id><published>2012-03-26T11:16:00.001-07:00</published><updated>2012-03-26T14:32:24.586-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-26T14:32:24.586-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ucm" /><category scheme="http://www.blogger.com/atom/ns#" term="webcenter" /><category scheme="http://www.blogger.com/atom/ns#" term="cookbook" /><category scheme="http://www.blogger.com/atom/ns#" term="ses" /><category scheme="http://www.blogger.com/atom/ns#" term="content" /><title>Cookbook: SES and UCM setup</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
The purpose of this post is to guide you setting up the integration between UCM and SES. On my next post I’ll show different approaches to integrate WebCenter Portal, UCM and SES based on some common scenarios. Let’s get started.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;



WebCenter Content Configuration&lt;br /&gt;&lt;/h4&gt;
WebCenter Content has a component that adds functionality to the content server to allow it to be searched via the Oracle SES. To enable the component installation, go to Administration -&amp;gt; Admin Server and select SESCrawlerExport. Click the update button and restart UCM_server1 managed server.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-CEYIF-K94Y0/T3CxAtaVLfI/AAAAAAAADZM/7KK82NySCzw/s1600-h/Capture1%25255B7%25255D.png"&gt;&lt;img alt="Capture1" border="0" height="70" src="http://lh3.ggpht.com/-hV6ge-Q-_k0/T3CxB0Ufb7I/AAAAAAAADZU/kp6U6OoG_SY/Capture1_thumb%25255B3%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Capture1" width="484" /&gt;&lt;/a&gt; &lt;br /&gt;
Once the managed server is back, we’ll configure the component. In the menu, under Administration you should see SESCrawlerExport. Click on the link.  &lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-nyreapdv8N0/T3CxCoNQ1CI/AAAAAAAADZc/FZNamkkjsh8/s1600-h/Capture2%25255B3%25255D.png"&gt;&lt;img alt="Capture2" border="0" height="462" src="http://lh4.ggpht.com/-4islBWsh-yk/T3CxDclyFmI/AAAAAAAADZk/R9Ige_e51TQ/Capture2_thumb%25255B1%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Capture2" width="309" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
You’ll see the window below. Click on Configure SESCrawlerExport.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-NDmi5UwYo1U/T3CxbtFmrNI/AAAAAAAADZs/g1pDUFzzMtg/s1600-h/Capture3%25255B3%25255D.png"&gt;&lt;img alt="Capture3" border="0" height="180" src="http://lh4.ggpht.com/-7E69WFJB29w/T3CxcfT6vhI/AAAAAAAADZ0/JWCa2kyCO3c/Capture3_thumb%25255B1%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Capture3" width="454" /&gt;&lt;/a&gt; &lt;br /&gt;
Configure the values below:  &lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-QVin9gQAvMc/T3CxdIt6-hI/AAAAAAAADZ8/hnSGCwGhZUE/s1600-h/Capture4%25255B3%25255D.png"&gt;&lt;img alt="Capture4" border="0" height="347" src="http://lh4.ggpht.com/-Q2evTPKJu3c/T3CxezeoaoI/AAAAAAAADaE/r1ckBxY5ltM/Capture4_thumb%25255B1%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Capture4" width="482" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Hostname&lt;/b&gt;: SES hostname. &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Feed Location&lt;/b&gt;: Directory where data feeds will be saved. &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Metadata List&lt;/b&gt;: List of metadata that will be searchable by SES. &lt;/li&gt;
&lt;/ul&gt;
After updating the values click on the &lt;i&gt;Update&lt;/i&gt; button. Come back to the SESCrawlerExport Administration UI and click on &lt;i&gt;Take Snapshot&lt;/i&gt; button. It will create the data feeds in the specified Feed Location. &lt;br /&gt;
To check if the correct configuration was done, please access the following URL http://&amp;lt;ucm_server&amp;gt;:&amp;lt;port&amp;gt;/cs/idcplg?IdcService=SES_CRAWLER_DOWLOAD_CONFIG&amp;amp;source=default.  &lt;br /&gt;
It should download config file in the format below:  &lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" cellpadding="0" cellspacing="0" style="width: 648px;"&gt; &lt;tbody&gt;
&lt;tr&gt; &lt;td valign="top" width="646"&gt;&lt;span style="font-family: 'Courier New'; font-size: x-small;"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;/span&gt; &lt;br /&gt;
&lt;span style="font-family: 'Courier New'; font-size: x-small;"&gt;&amp;lt;rsscrawler xmlns="http://xmlns.oracle.com/search/rsscrawlerconfig"&amp;gt; &lt;/span&gt; &lt;br /&gt;
&lt;span style="font-family: 'Courier New'; font-size: x-small;"&gt;&amp;lt;feedLocation&amp;gt;&amp;lt;![CDATA[http://adc6160699.us.oracle.com:16200/cs/idcplg?IdcService=SES_CRAWLER_DOWNLOAD_CONTROL&amp;amp;source=default]]&amp;gt;&amp;lt;/feedLocation&amp;gt; &lt;/span&gt; &lt;br /&gt;
&lt;span style="font-family: 'Courier New'; font-size: x-small;"&gt;&amp;lt;errorFileLocation&amp;gt;&amp;lt;![CDATA[http://adc6160699.us.oracle.com:16200/cs/idcplg?IdcService=SES_CRAWLER_STATUS&amp;amp;IsJava=1&amp;amp;source=default&amp;amp;StatusFeed=]]&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: x-small;"&gt;&amp;lt;/errorFileLocation&amp;gt; &lt;/span&gt; &lt;br /&gt;
&lt;span style="font-family: 'Courier New'; font-size: x-small;"&gt;&amp;lt;feedType&amp;gt;controlFeed&amp;lt;/feedType&amp;gt; &lt;/span&gt; &lt;br /&gt;
&lt;span style="font-family: 'Courier New'; font-size: x-small;"&gt;&amp;lt;sourceName&amp;gt;default&amp;lt;/sourceName&amp;gt; &lt;/span&gt; &lt;br /&gt;
&lt;span style="font-family: 'Courier New'; font-size: x-small;"&gt;&amp;lt;securityType&amp;gt;attributeBased&amp;lt;/securityType&amp;gt; &lt;/span&gt; &lt;br /&gt;
&lt;span style="font-family: 'Courier New';"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;&amp;lt;securityAttribute name="Account" grant="true"/&amp;gt;&lt;/b&gt; &lt;/span&gt;&lt;/span&gt; &lt;br /&gt;
&lt;span style="font-family: 'Courier New';"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;&amp;lt;securityAttribute name="DocSecurityGroup" grant="true"/&amp;gt;&lt;/b&gt; &lt;/span&gt;&lt;/span&gt; &lt;br /&gt;
&lt;span style="font-family: 'Courier New'; font-size: x-small;"&gt;&amp;lt;securityAttribute name="Collab" grant="true"/&amp;gt; &lt;/span&gt; &lt;br /&gt;
&lt;span style="font-family: 'Courier New'; font-size: x-small;"&gt;&amp;lt;/rsscrawler&amp;gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Make sure &lt;b&gt;Account&lt;/b&gt; and &lt;b&gt;DocSecurityGroup&lt;/b&gt; values are &lt;b&gt;true&lt;/b&gt;.  &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;h4&gt;



SES Configuration&lt;br /&gt;&lt;/h4&gt;
Let’s start by configuring the Identity Plug-ins in SES. Go to Global Settings -&amp;gt; System -&amp;gt; Identity Management Setup. Select Oracle Content Server and click the Activate button.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-e3GlXOVHo3k/T3Cxfqi9pDI/AAAAAAAADaM/rQIa43quqj4/s1600-h/Capture5%25255B4%25255D.png"&gt;&lt;img alt="Capture5" border="0" height="323" src="http://lh3.ggpht.com/-SD6WxHUbujA/T3CxgQ6V9MI/AAAAAAAADaU/cd14w2JA7XA/Capture5_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Capture5" width="614" /&gt;&lt;/a&gt; &lt;br /&gt;
We’ll populate the following values:  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-nSkopXdEJtk/T3Cxh4Zi5-I/AAAAAAAADac/rRTNH2S6yjI/s1600-h/Capture6%25255B8%25255D.png"&gt;&lt;img alt="Capture6" border="0" height="385" src="http://lh3.ggpht.com/-IPADA4OEaGI/T3CxiqlkzoI/AAAAAAAADak/WtKn5UzS9PE/Capture6_thumb%25255B4%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Capture6" width="614" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HTTP endpoint for authentication&lt;/strong&gt;: URL to WebCenter Content. Notice that /cs/idcplg was added at the end of the URL. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Admin User&lt;/strong&gt;: UCM Admin user. This user &lt;b&gt;must have&lt;/b&gt; access to all CPOE content. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Password&lt;/strong&gt;: Password to Admin user. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Authentication Type&lt;/strong&gt;: NATIVE. &lt;/li&gt;
&lt;/ul&gt;
Go back to the Home tab and click on Sources on the top left. Select Oracle Content Server on the right and click the Create button.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-BMIJsGv2XQQ/T3CxjU_zpyI/AAAAAAAADas/9SxeEtqOy84/s1600-h/Capture7%25255B4%25255D.png"&gt;&lt;img alt="Capture7" border="0" height="531" src="http://lh3.ggpht.com/-LbnsfP5oiYo/T3CxkaZlyKI/AAAAAAAADa0/35166HeCGz0/Capture7_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Capture7" width="613" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Configuration URL&lt;/strong&gt;: URL that point to the configuration file. Example: http://&amp;lt;ucm_hostname&amp;gt;:&amp;lt;port&amp;gt;/cs/idcplg?IdcService=SES_CRAWLER_DOWNLOAD_CONFIG&amp;amp;source=default. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;User ID&lt;/strong&gt;: UCM Admin user. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Password&lt;/strong&gt;: Password to Admin user. &lt;/li&gt;
&lt;/ul&gt;
Click on the Authorization tab and add the appropriate values to the fields below. Make sure you see the ACCOUNT and DOCSECURITYGROUP security attributes at the end of the page.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-P6WnpJpPuWg/T3CxlCl4K7I/AAAAAAAADa8/GmssNgseuAw/s1600-h/Capture8%25255B5%25255D.png"&gt;&lt;img alt="Capture8" border="0" height="502" src="http://lh3.ggpht.com/-K8Mm-b8de38/T3CxltbkH4I/AAAAAAAADbE/6F1sjKYJSog/Capture8_thumb%25255B3%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Capture8" width="609" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HTTP endpoint for authorization&lt;/strong&gt;: http://&amp;lt;ucm_hostname&amp;gt;:&amp;lt;port&amp;gt;/cs/idcplg. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Display URL prefix&lt;/strong&gt;: http://&amp;lt;ucm_hostname&amp;gt;:&amp;lt;port&amp;gt;/cs. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Administrator user&lt;/strong&gt;: UCM Admin user. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Administrator password&lt;/strong&gt;. &lt;/li&gt;
&lt;/ul&gt;
On the &lt;em&gt;Document Types&lt;/em&gt; tab, add the documents that should be indexed by SES.  &lt;br /&gt;
As our last step, we’ll configure the Federation Trusted Entities under Global Settings.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-AZFEl2--Qps/T3CxmajH9AI/AAAAAAAADbM/RlXNf7MZxgk/s1600-h/Capture9%25255B3%25255D.png"&gt;&lt;img alt="Capture9" border="0" height="190" src="http://lh4.ggpht.com/-Vgg_sUqSzw4/T3Cxnp_dNaI/AAAAAAAADbU/xIwopv98fN0/Capture9_thumb%25255B1%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Capture9" width="505" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Entity Name:&lt;/b&gt; The user must be present in both the identity management server configured for your WebCenter application and the identity management server configured for Oracle SES. For instance, I used weblogic in my sample. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Password&lt;/strong&gt;: Entity user password.\&lt;/li&gt;
&lt;/ul&gt;
Now you are ready to test the integration on the SES UI: &lt;a href="http://%3Cses%20hostname%3E:&amp;lt;port&amp;gt;/search/query/"&gt;http://&amp;lt;ses hostname&amp;gt;:&amp;lt;port&amp;gt;/search/query/&lt;/a&gt;.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/MfcnMqTNPu8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/4907716423923906420/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2012/03/cookbook-ses-and-ucm-setup.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/4907716423923906420?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/4907716423923906420?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/MfcnMqTNPu8/cookbook-ses-and-ucm-setup.html" title="Cookbook: SES and UCM setup" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-hV6ge-Q-_k0/T3CxB0Ufb7I/AAAAAAAADZU/kp6U6OoG_SY/s72-c/Capture1_thumb%25255B3%25255D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://george.maggessy.com/2012/03/cookbook-ses-and-ucm-setup.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMCQ3Yyeip7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-4686453988476608517</id><published>2011-09-10T15:53:00.001-07:00</published><updated>2011-09-13T04:14:22.892-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:14:22.892-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="webcenter" /><category scheme="http://www.blogger.com/atom/ns#" term="documentation" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise deployment guide" /><title>Clarifying WebCenter’s Enterprise Deployment Guide</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
I’ve been on customer site trying to advise about how to properly deploy the WebCenter Suite. A common comment always comes right off the bat: “I’ve seen the &lt;a href="http://download.oracle.com/docs/cd/E21764_01/core.1111/e12037/toc.htm"&gt;WebCenter Enterprise Deployment Guide&lt;/a&gt;, but I’m not sure about the VIPs / IPs distribution”. &lt;br /&gt;
So, the objective here is only to clarify what the picture below means. As you can see we have a pretty common scenario with a couple of SOA boxes and another set of WebCenter ones. Every single box has its own IP. IP1 for SOAHOST1, IP2 for SOAHOST2, and so on. The IPs position in the picture is a little bit misleading, since in some cases its ellipses touch individual managed servers, making you believe that it should be only associated to that specific managed server. Remember, IPs are for the whole box.&lt;br /&gt;
VIPs are commonly used for server migration purposes, and therefore should not be needed for managed servers. If a managed server fails, we should be able to bring another one up. However, there are a couple of exceptions: the AdminServer and SOA.&lt;br /&gt;
The SOAHOST1 box mentions 2 VIPs. VIP1 is associated to the AdminServer, which means that if the machine hosting the AdminServer fails, you should be able to bring up the AdminServer on SOAHOST2 with minimum hassle. Maintaining the same address so that the admin address referenced by OHS and by the managed servers does not change.&lt;br /&gt;
SOA servers are the other exception. WLS_SOA1 and WLS_SOA2 have independent VIPs. In the case of a SOA server failure, there could be an in-flight transactions that needs recovery. And the cleanest way of accomplishing it is to migrate the Transaction Recovery Service. There are two requirements though:&lt;br /&gt;
&lt;br /&gt;
1. Only the same server can recover its own transactions, therefore VIPs are key here so we need to migrate the service to another machine.&lt;br /&gt;
2. And the transaction log records should be on &lt;u&gt;shared file system&lt;/u&gt; – another important black spot on the docs - so that the failed-over server can access and recover them.&lt;br /&gt;
And finally, since SOA and AdminServer have independent failover requirements, they &lt;strong&gt;cannot&lt;/strong&gt; share the same VIP.&lt;br /&gt;
&lt;img alt="IP and VIP mapping to admin and managed servers" src="http://download.oracle.com/docs/cd/E21764_01/core.1111/e12037/img/map_ips_wc.gif" /&gt;&lt;br /&gt;
To finalize, I’d like to thank Roy Sandjaja, from Oracle Development, that has helped me understand the whole picture. Cheers, mate! &lt;br /&gt;
Hope this helps.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/tWmpRspj3IY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/4686453988476608517/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2011/09/clarifying-webcenters-enterprise.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/4686453988476608517?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/4686453988476608517?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/tWmpRspj3IY/clarifying-webcenters-enterprise.html" title="Clarifying WebCenter’s Enterprise Deployment Guide" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://george.maggessy.com/2011/09/clarifying-webcenters-enterprise.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYASXYyfSp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-5433864161974847320</id><published>2011-09-02T16:37:00.000-07:00</published><updated>2011-09-13T04:09:08.895-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:09:08.895-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="process spaces" /><category scheme="http://www.blogger.com/atom/ns#" term="bpm" /><category scheme="http://www.blogger.com/atom/ns#" term="webcenter spaces" /><title>BPM Process Portal Configuration on WebCenter 11g PS4</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
You might have seen &lt;a href="http://andrejusb.blogspot.com/"&gt;Andrejus&lt;/a&gt;’ great blog post series about &lt;a href="http://andrejusb.blogspot.com/2011/02/bpm-portal-11g-ps3-how-to-configure.html"&gt;Configuring BPM Process Portal in PS3&lt;/a&gt;, but despite of all his detailed instructions, my environment seemed to have a different “behavior”, and while following his instructions I faced different problems, where one of them was an actual known issue in PS3.&lt;br /&gt;
And that’s why I took the initiative of writing my own installation cookbook to make sure I would document all the steps and workarounds that I had to do in order to have the Process Portal properly configured. The environment where I set this up is a WebCenter 11g PS4 domain, extended with ECM and SOA technologies. You don’t need to have it previously setup with SOA, but UCM in this case is a must. Let’s go to the steps.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;





&lt;span class="Apple-style-span" style="font-size: large;"&gt;
Configuration Process&lt;/span&gt;&lt;/h2&gt;
&lt;h4&gt;






WebCenter Components Configuration&lt;/h4&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Step 1&lt;/b&gt;. Make sure you have the following components enabled in UCM: DynamicConverter, Folders_g, and WebCenterConfigure. You can enable these components by accessing UCM (&lt;a href="http://%3Cucm_server%3E:16200/cs"&gt;http://&amp;lt;ucm_server&amp;gt;:16200/cs&lt;/a&gt;) under Administration -&amp;gt; Admin Server -&amp;gt; Component Manager.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-xnn07wdX1kU/TmFm6sXZUzI/AAAAAAAADRY/DxtsKfAEW2w/s1600-h/image%25255B3%25255D.png"&gt;&lt;img alt="image" border="0" height="264" src="http://lh3.ggpht.com/-_puWHxWpBuM/TmFm6xk6byI/AAAAAAAADRc/pAk4XZmUsrg/image_thumb%25255B1%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="661" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 2&lt;/b&gt;. Bounce the UCM_server1.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 3&lt;/b&gt;. Setup Dynamic Converter. On the main page, under Administration -&amp;gt; Dynamic Converter Admin -&amp;gt; Configuration Settings -&amp;gt; Conversion Formats, select the file formats from the drop down list. Chose all the formats of documents you will want to get HTML renditions of, such as word, excel, powerpoint, pdf.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-UT96w0cpes8/TmFm7ZbxpcI/AAAAAAAADRg/JHOiWEuGx2A/s1600-h/image%25255B7%25255D.png"&gt;&lt;img alt="image" border="0" height="54" src="http://lh4.ggpht.com/-wtLjn27V8mE/TmFm7vCcJ4I/AAAAAAAADRk/h9VMJWDT8tI/image_thumb%25255B3%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="664" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;





&lt;/h2&gt;
&lt;h2&gt;





&lt;span class="Apple-style-span" style="font-size: large;"&gt;
Extending WebCenter Domain with Oracle BPM Spaces template&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Step 1&lt;/b&gt;. Shutdown AdminServer and managed servers in the WebCenter domain.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 2&lt;/b&gt;. Extend the WebCenter domain, by invoking $MIDDLEWARE_HOME/Oracle_WC1/common/bin/config.sh.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-xZJ7nttiqqY/TmFm8CZjMiI/AAAAAAAADRo/ZG4LeIAzvVI/s1600-h/image%25255B20%25255D.png"&gt;&lt;img alt="image" border="0" height="332" src="http://lh5.ggpht.com/-k1RHQw7QxIU/TmFm8m7FswI/AAAAAAAADRs/9dfLVmt0ehc/image_thumb%25255B10%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="461" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 3&lt;/b&gt;. Select the your domain.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-ZsVd84Qllxo/TmFm89ZBDWI/AAAAAAAADRw/lzUYZ0h9HnA/s1600-h/image%25255B19%25255D.png"&gt;&lt;img alt="image" border="0" height="330" src="http://lh6.ggpht.com/-8MqDbdh46W8/TmFm9YLDCII/AAAAAAAADR0/HKMgjy7bNHQ/image_thumb%25255B9%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="459" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 4&lt;/b&gt;. Select $MIDDLEWARE_HOME/Oracle_WC1/common/templates/applications/oracle.bpm.spaces_template_11.1.1.jar as the template.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-EL-6sCGQec8/TmFm98_nsAI/AAAAAAAADR4/4vpWI7YF5nA/s1600-h/image%25255B24%25255D.png"&gt;&lt;img alt="image" border="0" height="331" src="http://lh4.ggpht.com/-gQ-LZhbzf6o/TmFm-HheUWI/AAAAAAAADR8/VI2qHWHdBeM/image_thumb%25255B12%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="460" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;Step 5&lt;/b&gt;. Click “next” until the process is over.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;Step 6&lt;/b&gt;. Restart AdminServer and all the other managed servers (UCM_server1, WC_Collaboration, and WC_Spaces).&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h2&gt;





&lt;span class="Apple-style-span" style="font-size: large;"&gt;
Running the Process Portal Script&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;Step 1&lt;/b&gt;. Make sure you have Java 6 in your path by running &lt;span style="font-family: 'Courier New';"&gt;java –version&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;Step 2&lt;/b&gt;. Start the following managed servers: AdminServer, WC_Collaboration, UCM_server1, and WC_Spaces.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;Step 3&lt;/b&gt;. Go to the directory $MIDDLEWARE_HOME/Oracle_SOA1/bpm/processportal and configure the portal-process.properties file according to your environment. You can download my reference file from &lt;a href="http://sites.google.com/site/gmaggessfiles/gmaggess-files/process-portal-install.properties"&gt;here&lt;/a&gt;, and I strongly advise you to do so.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Below you find a table explaining each of the entries on the mentioned file (kudos go to BPM Product Management for documenting it).&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br class="Apple-interchange-newline" /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; letter-spacing: normal; line-height: 17px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;table class="confluenceTable" style="border-collapse: collapse; line-height: 13pt; margin: 10px 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt; &lt;tbody&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;b&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Properties&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;b&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Property Description&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;extendSoa&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;The flag to decide whether to extend the existing BPM domain or create a new one. The value must be true if the Webcenter and SOA are in same domain, else false.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;promptForPasswords&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;The flag to decide whether to prompt for passwords or read them from the process-portal-install.properties file while running the installer.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Oracle BPM Schema Details&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;bpmDBUser&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;User name to connect to the database configured for Oracle BPM&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;bpmDBPassword&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Password to connect to the Oracle BPM's database&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;bpmDBType&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Database type configured for Oracle BPM&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;bpmDBDriver&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Driver used to connect to Oracle BPM's database&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;bpmDBUrl&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;URL of the Oracle BPM's database, like jdbc:oracle:thin:@adc2170307:1521&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Oracle BPM MDS Details&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;bpmMDSUser&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;User name for the MDS schema used for Oracle BPM&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;bpmMDSPassword&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Password for Oracle BPM's MDS schema&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Oracle BPM Runtime Details&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;bpmHost&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Server on which Oracle BPM is installed&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;bpmRuntimePort&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Port on which Oracle BPM is running&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;bpmAdminUser&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Name of the user that has Administrator privileges on the SOA server&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;bpmAdminPassword&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Password for the Oracle BPM Admin user&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;WebCenter Spaces Installation Details&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcOracleHome&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Path to the WebCenter Oracle home directory&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcDomainName&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Name of the domain where WebCenter is installed. If extendSoa flag is set to true, point to the BPM domain&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcSetDomainRealmPassword&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Flag to control whether to set domain realm password; set the value to either true or false.&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;br clear="all" /&gt;Note: This property is for setting up Global Trust. It is recommended that you do not enable this property; set Global Trust manually.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcDomainRealmPassword&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Password to set up trusted domains. Same password must be set on Oracle BPM domain as well.&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;br clear="all" /&gt;Note: This property is for setting up Global Trust. It is recommended that you set Global Trust manually, and not by using this property.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wc.server.port&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Port on which WC_Spaces managed server is hosted&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;WebCenter's WebLogic installation Details&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcHost&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Host name on which WebCenter's Admin server is running&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcAdminPort&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Port number on which WebCenter's Admin server is running&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcAdminUser&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Admin user for WebCenter Admin server&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcAdminPwd&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Password of the WebCenter Admin server&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcManagedServerName&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Name of the WC_Spaces managed server&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcConfigServices&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Flag to configure the Oracle Content Server and Discussions Server to work with Oracle WebCenter. The Content and Discussion Server details listed later in this table must be specified only if wcConfigServices is set to true.&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;br clear="all" /&gt;Note: It is strongly recommended that you manually configure Oracle Content Server and Discussions Server to work with Oracle WebCenter.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Content Server Details&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Set these properties if wcConfigServices is set to true.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcContentServerName&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Name of the Content Server configured for Oracle WebCenter&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcContentServerPort&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Port on which Content Server is running.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcContentSpacesRoot&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Name of the Spaces root folder on Content Server&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcContentAdminUser&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;The name of the Admin user for Content Server&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Discussion Server Details&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Set these properties if wcConfigServices is set to true.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcDiscussionServerUrl&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Name of the Discussion Server configured for WebCenter&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 13pt;"&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;wcDiscussionAdminUser&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="confluenceTd" style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; line-height: 13pt; margin: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: top;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 10pt;"&gt;Name of the Admin user for Discussion Server&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Step 4&lt;/b&gt;. Run the following script: &lt;span style="font-family: 'Courier New';"&gt;$MIDDLEWARE_HOME/modules/org.apache.ant_1.7.1/bin/ant –f install.xml&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 5&lt;/b&gt;. The previous script will shutdown the WC_Spaces managed server. Start it back again. Don’t forget to check if it has crashed any other managed server. If that happened, restart the broken managed server.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 6&lt;/b&gt;. Open the process-portal.properties file and change the properties extendSoa and wcConfigServices from &lt;strong&gt;true&lt;/strong&gt; to &lt;strong&gt;false&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 7&lt;/b&gt;. Run the previous script by adding a new parameter: &lt;span style="font-family: 'Courier New';"&gt;$MIDDLEWARE_HOME/modules/org.apache.ant_1.7.1/bin/ant –f install.xml -DpiArgs="-importGSOnly"&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 8&lt;/b&gt;. The former will shutdown AdminServer and WC_Spaces. Restart both servers and don’t forget to check whether the other managed servers are running as well. If you’ve seen any exceptions while running any of scripts mentioned on steps 3 and 6, fix it first before moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 9&lt;/b&gt;. Check if some roles were provisioned by the previous scripts. In UCM, under Administration –&amp;gt; Admin Applets –&amp;gt; User Admin you should see the ProcessPortal group and the ProcessPortalUser role as part of the aforementioned group.&lt;br /&gt;
&lt;br /&gt;
&lt;table border="0" cellpadding="2" cellspacing="0" style="width: 400px;"&gt; &lt;tbody&gt;
&lt;tr&gt; &lt;td valign="top" width="200"&gt;&lt;a href="http://lh4.ggpht.com/-hn61_v1jVj0/TmFm-lC4BFI/AAAAAAAADSA/8vVImoBYWZo/s1600-h/image%25255B34%25255D.png"&gt;&lt;img alt="image" border="0" height="403" src="http://lh3.ggpht.com/-2qUhctwn00Y/TmFm-wka7UI/AAAAAAAADSE/ZGfBDV5oewY/image_thumb%25255B16%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="322" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;td valign="top" width="200"&gt;&lt;a href="http://lh4.ggpht.com/-r-t_2OfwhnY/TmFm_XMZPFI/AAAAAAAADSI/3LYQuVeG1w4/s1600-h/image%25255B38%25255D.png"&gt;&lt;img alt="image" border="0" height="408" src="http://lh6.ggpht.com/-7hjtucqnFr8/TmFm_2f1gPI/AAAAAAAADSM/yDbjgAO57c0/image_thumb%25255B18%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="326" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
In WebLogic Console, you should see a ProcessPortalUser group. I had to create that group manually, since it did not get provisioned “automagically”.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-dv_789zjrJ0/TmFnAKdqrZI/AAAAAAAADSQ/8uauGizO8k0/s1600-h/image%25255B42%25255D.png"&gt;&lt;img alt="image" border="0" height="363" src="http://lh6.ggpht.com/-x5TYjpvW6Eo/TmFnApAyxcI/AAAAAAAADSU/dHj1A6Coyj4/image_thumb%25255B20%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="458" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 10&lt;/b&gt;. Check if the forums have been properly provisioned as well. I also had to manually set that up by editing each of the newly create Space (Process Workspace and Modeling Space). &lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Log in as weblogic.  &lt;/li&gt;
&lt;li&gt;Click on Administration.  &lt;/li&gt;
&lt;li&gt;Select either Process Workspace or Modeling Space.  &lt;/li&gt;
&lt;li&gt;Click on Edit –&amp;gt; Edit Space.  &lt;/li&gt;
&lt;li&gt;On the Services tab, click on Announcements and then on the magnifying lens. Do the same for Discussions.&lt;/li&gt;
&lt;/ol&gt;
&lt;a href="http://lh3.ggpht.com/-veI199FXyuM/TmFnBKRR1WI/AAAAAAAADSY/hHuQE0JcF_Y/s1600-h/image%25255B63%25255D.png"&gt;&lt;img alt="image" border="0" height="450" src="http://lh5.ggpht.com/-j6QS0dzkPTA/TmFnBcqupTI/AAAAAAAADSc/PfHUPty4xkM/image_thumb%25255B31%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="571" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 11&lt;/b&gt;. Log in to WebCenter Spaces with an administrator account, such as weblogic, and enable the Process Workspace and Modeling Space spaces to a user that is also a valid BPM user.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Final Step&lt;/b&gt;. Login with a valid BPM user, in my case it’s jcooper, and check if Process Workspace and Modeling Space are working properly.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-ocRZEkRQ80g/TmFnB-XE3uI/AAAAAAAADSg/CYQrMhJ8S_I/s1600-h/image%25255B49%25255D.png"&gt;&lt;img alt="image" border="0" height="400" src="http://lh6.ggpht.com/-LONFRGnqHhI/TmFnCdnn6mI/AAAAAAAADSk/zPnrh9mUihE/image_thumb%25255B23%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="633" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-nIc_gTEOjBw/TmFnC4YmQ8I/AAAAAAAADSo/auU_xA_TjBs/s1600-h/image%25255B50%25255D.png"&gt;&lt;img alt="image" border="0" height="346" src="http://lh6.ggpht.com/-4o1ittzLWTs/TmFnDbxTo_I/AAAAAAAADSs/VxUmZ58nnZY/image_thumb%25255B24%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="636" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
For more information about what Process Portal is about, please access &lt;a href="http://download.oracle.com/docs/cd/E17904_01/user.1111/e15175/bpmug_pp_gt_strt.htm#"&gt;Oracle’s documentation&lt;/a&gt;. And please leave a comment whether you have or have not succeeded on this configuration.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/ep0u-YVvo3c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/5433864161974847320/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2011/09/bpm-process-portal-configuration-on.html#comment-form" title="13 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/5433864161974847320?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/5433864161974847320?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/ep0u-YVvo3c/bpm-process-portal-configuration-on.html" title="BPM Process Portal Configuration on WebCenter 11g PS4" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-_puWHxWpBuM/TmFm6xk6byI/AAAAAAAADRc/pAk4XZmUsrg/s72-c/image_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>13</thr:total><georss:featurename>Redwood City, CA 94065, USA</georss:featurename><georss:point>37.5381421 -122.2398636</georss:point><georss:box>37.5129601 -122.27934560000001 37.5633241 -122.2003816</georss:box><feedburner:origLink>http://george.maggessy.com/2011/09/bpm-process-portal-configuration-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYDRX46eCp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-1323029527567065986</id><published>2011-06-01T16:39:00.000-07:00</published><updated>2011-09-13T04:09:34.010-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:09:34.010-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tuning" /><category scheme="http://www.blogger.com/atom/ns#" term="webcenter spaces" /><category scheme="http://www.blogger.com/atom/ns#" term="iis" /><category scheme="http://www.blogger.com/atom/ns#" term="weblogic" /><title>Improving WebCenter Performance (IIS Addendum)</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
If you read my &lt;a href="http://fusione2o.blogspot.com/2011/06/improving-webcenter-performance-part-1.html" target="_blank"&gt;&lt;strong&gt;&lt;u&gt;previous post&lt;/u&gt;&lt;/strong&gt;&lt;/a&gt; you might be wondering if you can achieve a similar performance with a different Web Server such as Microsoft Information Server. In this article I’ll describe the steps you need to follow to have IIS not only applying content compression, but also rewriting the expiration data in the HTTP header.  &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

STEPS&lt;br /&gt;
&lt;/h2&gt;
&lt;strong&gt;1.&lt;/strong&gt; Open the Internet Information Services Manager, right-click on the Default Web Site option and select Properties.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-au7dmDtxKbg/TebNWcuIL0I/AAAAAAAADP4/1jrofzh-CUw/s1600-h/clip_image002%25255B3%25255D.jpg"&gt;&lt;img alt="clip_image002" border="0" height="244" src="http://lh6.ggpht.com/-Ky_tLfjepc0/TebNWz702SI/AAAAAAAADP8/YD7ZxeDisQg/clip_image002_thumb.jpg?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image002" width="198" /&gt;&lt;/a&gt;  &lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
2.&lt;/strong&gt; The window below should show up. Check the “Expire after” option and set it to 1,193 Hour(s). It will change the HTTP header Cache-control parameter from &lt;i&gt;Expire&lt;/i&gt; to &lt;i&gt;max-age&lt;/i&gt; in all local static resources, which solves the Internet Explorer caching issue.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-yt0GwFl4Es8/TebNXCXXu3I/AAAAAAAADQA/e5s2cVd7Hs8/s1600-h/clip_image004%25255B3%25255D.jpg"&gt;&lt;img alt="clip_image004" border="0" height="242" src="http://lh4.ggpht.com/-Uxa-mfJTe6U/TebNXbI4AQI/AAAAAAAADQE/CsbrAxVVJNo/clip_image004_thumb.jpg?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image004" width="244" /&gt;&lt;/a&gt;  &lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
3.&lt;/strong&gt; Click on the MIME Types button and add the following ones:  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-1rzxh4fA714/TebNXhrU68I/AAAAAAAADQI/CgAPQ9AfeZw/s1600-h/clip_image006%25255B3%25255D.jpg"&gt;&lt;img alt="clip_image006" border="0" height="241" src="http://lh5.ggpht.com/-59NW7GnANTM/TebNX8dT1lI/AAAAAAAADQM/OS2L5QwboaA/clip_image006_thumb.jpg?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image006" width="244" /&gt;&lt;/a&gt;  &lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
4.&lt;/strong&gt; Select the ISAPI Filters tab and check where the WebLogic ISAPI plug-in (wlFilter) is installed. The plug-in allows a smooth integration of WebLogic's HTTP functionality into Microsoft IIS.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-avP9qOvCmic/TebNYAh-iMI/AAAAAAAADQQ/wTgQN0nFBjc/s1600-h/clip_image008%25255B3%25255D.jpg"&gt;&lt;img alt="clip_image008" border="0" height="140" src="http://lh4.ggpht.com/-4P7xKqkALQc/TebNYdQYXbI/AAAAAAAADQU/2Fm9PnQGofo/clip_image008_thumb.jpg?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image008" width="244" /&gt;&lt;/a&gt;  &lt;br /&gt;
&lt;br /&gt;
Under the iisforward.dll’s directory you should find &lt;b&gt;iisproxy.ini&lt;/b&gt;. Open the ini file and add the &lt;b&gt;FileCaching=ON&lt;/b&gt; property as shown below. It will add another level of buffer to IIS and force it to add Content-Length property to the HTTP Header.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="csharpcode"&gt;WebLogicHost=&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;WebCenter&lt;/span&gt; / &lt;span class="attr"&gt;Load&lt;/span&gt; &lt;span class="attr"&gt;Balancer&lt;/span&gt; &lt;span class="attr"&gt;host&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; 
WebLogicPort=&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;WebCenter&lt;/span&gt; / &lt;span class="attr"&gt;Load&lt;/span&gt; &lt;span class="attr"&gt;Balancer&lt;/span&gt; &lt;span class="attr"&gt;port&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; 
ConnectTimeoutSecs=20 
ConnectRetrySecs=2 
WlForwardPath=/webcenter,/rest 
Debug=OFF 
FileCaching=ON 
&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
 font-size: small;
 color: black;
 font-family: consolas, "Courier New", courier, monospace;
 background-color: #ffffff;
 /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
 background-color: #f4f4f4;
 width: 100%;
 margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;  &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;5.&lt;/strong&gt; Make sure content compression is still setup. Right-click on Web Sites and choose properties.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-FDgysa98ZGo/TebNY0kPc8I/AAAAAAAADQY/8Ev2rlvADuA/s1600-h/clip_image010%25255B3%25255D.jpg"&gt;&lt;img alt="clip_image010" border="0" height="168" src="http://lh3.ggpht.com/-DLDOCPd2-NE/TebNZJNQUUI/AAAAAAAADQc/SO0-aMdf1Jw/clip_image010_thumb.jpg?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image010" width="227" /&gt;&lt;/a&gt;  &lt;br /&gt;
&lt;br /&gt;
Select the Service tab. The “Compress static files” option must be checked.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-FA6n1jSsylE/TebNZVbFY6I/AAAAAAAADQg/sDJKZNjQeaA/s1600-h/clip_image012%25255B3%25255D.jpg"&gt;&lt;img alt="clip_image012" border="0" height="243" src="http://lh3.ggpht.com/-RdFwwCCsWEc/TebNZmo2w3I/AAAAAAAADQk/aGfpmvw8Nj0/clip_image012_thumb.jpg?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image012" width="244" /&gt;&lt;/a&gt;  &lt;br /&gt;
&lt;b&gt;&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
Don’t forget to &lt;b&gt;restart IIS&lt;/b&gt; after the changes.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/O4IqebEv3J8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/1323029527567065986/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2011/06/improving-webcenter-performance-iis.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/1323029527567065986?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/1323029527567065986?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/O4IqebEv3J8/improving-webcenter-performance-iis.html" title="Improving WebCenter Performance (IIS Addendum)" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-Ky_tLfjepc0/TebNWz702SI/AAAAAAAADP8/YD7ZxeDisQg/s72-c/clip_image002_thumb.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://george.maggessy.com/2011/06/improving-webcenter-performance-iis.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYNSH87eip7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-7271056641548190046</id><published>2011-06-01T16:07:00.001-07:00</published><updated>2011-09-13T04:09:59.102-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:09:59.102-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tuning" /><category scheme="http://www.blogger.com/atom/ns#" term="webcenter spaces" /><category scheme="http://www.blogger.com/atom/ns#" term="weblogic" /><category scheme="http://www.blogger.com/atom/ns#" term="ohs" /><title>Improving WebCenter Performance</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Tuning is quite a long and complex subject to be discussed in a single article. This first post will cover 2 basic strategies to make your Oracle WebCenter installation faster by tweaking the browser caching and adding content compression. By the end of this article your WebCenter pages should be rendering in less than 2 seconds – obviously depending on your environment – and with fewer requests. &lt;br /&gt;
&lt;h2&gt;

Browser Caching&lt;/h2&gt;
Your browser has a folder in which certain items that have been downloaded are stored for future access. Images, stylesheets, javascripts, and even entire web pages are examples of cached items. When accessing a website, your browser will check its cache folder first to see if it already has those images and, if so, it won't take the time to download them again.&lt;br /&gt;
There are two main reasons that web caches are used:  &lt;br /&gt;
&lt;blockquote&gt;
&lt;strong&gt;To reduce latency&lt;/strong&gt; — Because the request is satisfied from the cache instead of the web server itself, it takes less time for the representation to render in the browser.&lt;br /&gt;
&lt;strong&gt;To reduce network traffic&lt;/strong&gt; — Since there are less items to be downloaded from a web site, it reduces the amount of bandwidth used by a client.&lt;/blockquote&gt;
Like in any other application, WebCenter Portal have static resources that need to be cached by the browser in order to reduce subsequent download access. The trick here is to setup OHS to rewrite the HTTP header of some specific virtual paths related to static resources in WebCenter.&lt;br /&gt;
We will use &lt;em&gt;max-age&lt;/em&gt; instead of &lt;em&gt;Expire&lt;/em&gt;. The max-age directive specifies the maximum amount of time that a representation – or file - will be considered fresh. From my perspective, the big advantage of this directive is that it’s relative to the time of the request, rather than absolute. &lt;em&gt;max-age&lt;/em&gt; also seems to behave better with IE in general. I haven’t checked that in IE 9 so far. For this exercise, we’ve setup max-age to 2592000 seconds (30 days).&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;Header unset Last-Modified&lt;/pre&gt;
&lt;pre&gt;Header unset Expires&lt;/pre&gt;
&lt;pre class="alt"&gt;Header set Cache-Control "max-age=2592000, public"&lt;/pre&gt;
&lt;pre&gt;Header set Surrogate-Control "max-age=2592000"&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
 font-size: small;
 color: black;
 font-family: consolas, "Courier New", courier, monospace;
 background-color: #ffffff;
 /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
 background-color: #f4f4f4;
 width: 100%;
 margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;  &lt;br /&gt;
&lt;h2&gt;

Content Compression&lt;/h2&gt;
To do content compression in OHS you need to configure &lt;a href="http://httpd.apache.org/docs/2.0/mod/mod_deflate.html" target="_blank"&gt;mod_deflate&lt;/a&gt;. It should already be installed in your OHS under &lt;span style="font-family: 'Courier New';"&gt;$MIDDLEWARE_HOME/Oracle_WT1/ohs/modules/mod_deflate.so&lt;/span&gt;&lt;span style="font-family: Arial;"&gt;. But it might not be loaded.&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;pre class="csharpcode"&gt;LoadModule deflate_module        "${ORACLE_HOME}/ohs/modules/mod_deflate.so"&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
 font-size: small;
 color: black;
 font-family: consolas, "Courier New", courier, monospace;
 background-color: #ffffff;
 /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
 background-color: #f4f4f4;
 width: 100%;
 margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;  &lt;br /&gt;
&lt;span style="font-family: Arial;"&gt;&lt;br /&gt;
With mod_deflate, you can compress HTML, text or XML files to approx. 20 - 30% of their original sizes, thus saving you server traffic. However, &lt;/span&gt;&lt;span style="font-family: Arial;"&gt;compressing files causes a slightly higher load on the server, but again, clients' connection times to your server decrease a lot. &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial;"&gt;&lt;em&gt;mod_deflate&lt;/em&gt; requires you to specify which type files are going to be compressed. &lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;AddOutputFilterByType DEFLATE text/plain&lt;/pre&gt;
&lt;pre&gt;AddOutputFilterByType DEFLATE text/xml&lt;/pre&gt;
&lt;pre class="alt"&gt;AddOutputFilterByType DEFLATE application/xhtml+xml&lt;/pre&gt;
&lt;pre&gt;AddOutputFilterByType DEFLATE text/css&lt;/pre&gt;
&lt;pre class="alt"&gt;AddOutputFilterByType DEFLATE application/xml&lt;/pre&gt;
&lt;pre&gt;AddOutputFilterByType DEFLATE image/svg+xml&lt;/pre&gt;
&lt;pre class="alt"&gt;AddOutputFilterByType DEFLATE application/rss+xml&lt;/pre&gt;
&lt;pre&gt;AddOutputFilterByType DEFLATE application/atom_xml&lt;/pre&gt;
&lt;pre class="alt"&gt;AddOutputFilterByType DEFLATE application/x-javascript&lt;/pre&gt;
&lt;pre&gt;AddOutputFilterByType DEFLATE text/html&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
 font-size: small;
 color: black;
 font-family: consolas, "Courier New", courier, monospace;
 background-color: #ffffff;
 /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
 background-color: #f4f4f4;
 width: 100%;
 margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;  &lt;br /&gt;
&lt;span style="font-family: Arial;"&gt;&lt;br /&gt;
Images are supposed to be in a compressed format, and therefore are bypassed by mod_deflate.&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;pre class="csharpcode"&gt;SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
 font-size: small;
 color: black;
 font-family: consolas, "Courier New", courier, monospace;
 background-color: #ffffff;
 /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
 background-color: #f4f4f4;
 width: 100%;
 margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;  &lt;br /&gt;
&lt;h2&gt;

QUICK SETUP&lt;/h2&gt;
To have all those changes applied to your environment, please download &lt;strong&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;a href="https://sites.google.com/site/gmaggessfiles/gmaggess-files/webcenter.conf?attredirects=0&amp;amp;d=1" target="_blank"&gt;&lt;u&gt;webcenter.conf&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt; and replace the variables listed below accordingly.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New';"&gt;[wc_spaces host]&lt;/span&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New';"&gt;[wc_spaces port]&lt;/span&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New';"&gt;[wc_services host]&lt;/span&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New';"&gt;[wc_services port]&lt;/span&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New';"&gt;[ses host]&lt;/span&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New';"&gt;[ses host]&lt;/span&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
If you already have portlets being consumed by your application, don’t forget to add the proper mod_wl entries.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;#Portlets&lt;/pre&gt;
&lt;pre&gt;#Insert your portlet mapping here&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Location&lt;/span&gt; /[&lt;span class="attr"&gt;portlet&lt;/span&gt; &lt;span class="attr"&gt;path&lt;/span&gt;]&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;SetHandler weblogic-handler&lt;/pre&gt;
&lt;pre class="alt"&gt;WeblogicHost [wc_portlet host]&lt;/pre&gt;
&lt;pre&gt;WeblogicPort [wc_portlet port]&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
 font-size: small;
 color: black;
 font-family: consolas, "Courier New", courier, monospace;
 background-color: #ffffff;
 /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
 background-color: #f4f4f4;
 width: 100%;
 margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;  &lt;br /&gt;
And if you have already separate the static assets from your application into a different directory, you might want to set the same configuration:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;Alias /[virtual path for static files] [physical path for static files]&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Location&lt;/span&gt; /[&lt;span class="attr"&gt;virtual&lt;/span&gt; &lt;span class="attr"&gt;path&lt;/span&gt; &lt;span class="attr"&gt;for&lt;/span&gt; &lt;span class="attr"&gt;static&lt;/span&gt; &lt;span class="attr"&gt;files&lt;/span&gt;]&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;Header unset Last-Modified&lt;/pre&gt;
&lt;pre class="alt"&gt;Header unset Expires&lt;/pre&gt;
&lt;pre&gt;Header set Cache-Control "max-age=2592000, public"&lt;/pre&gt;
&lt;pre class="alt"&gt;Header set Surrogate-Control "max-age=2592000"&lt;/pre&gt;
&lt;pre&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
 font-size: small;
 color: black;
 font-family: consolas, "Courier New", courier, monospace;
 background-color: #ffffff;
 /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
 background-color: #f4f4f4;
 width: 100%;
 margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;  &lt;br /&gt;
&lt;br /&gt;
After doing the proper setup you can drop the &lt;strong&gt;&lt;span style="font-family: 'Courier New';"&gt;webcenter.conf&lt;/span&gt;&lt;/strong&gt; file into &lt;span style="font-family: 'Courier New';"&gt;$MIDDLEWARE_HOME/Oracle_WT1/instances/instance1/config/OHS/ohs1/moduleconf&lt;/span&gt;. You MUST restart OHS for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

TESTING&lt;/h2&gt;
Now let’s access WebCenter to see how fast it is. The first access any WebCenter Spaces page should be faster since we’re using content compression, but it should still bring lots of resources such as js files, images, css, etc. &lt;br /&gt;
&lt;h5&gt;

1st Access&lt;/h5&gt;
&lt;a href="http://lh3.ggpht.com/-HP3f2V-1gq8/TebFQR3ntMI/AAAAAAAADMw/_Cw6wXqPULU/s1600-h/Capture%25255B3%25255D.png"&gt;&lt;img alt="Capture" border="0" height="261" src="http://lh6.ggpht.com/-7qMf7y0SwwE/TebFQov5tKI/AAAAAAAADM0/lW7wCEsGCz8/Capture_thumb%25255B1%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Capture" width="660" /&gt;&lt;/a&gt;&lt;br /&gt;
Activities page renders in approximately &lt;strong&gt;7.5 secs&lt;/strong&gt; with &lt;strong&gt;91 requests&lt;/strong&gt;.&lt;br /&gt;
&lt;h5&gt;

2dn Access&lt;/h5&gt;
&lt;a href="http://lh4.ggpht.com/-XhaDyYH2Hqs/TebFRMvxPwI/AAAAAAAADM4/SQH7WPpPgV4/s1600-h/Capture2%25255B4%25255D.png"&gt;&lt;img alt="Capture2" border="0" height="181" src="http://lh5.ggpht.com/-izCEaFiqKdI/TebFRfsBHfI/AAAAAAAADM8/vt6rKBBZB34/Capture2_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Capture2" width="658" /&gt;&lt;/a&gt;&lt;br /&gt;
A subsequent access to the same page takes less than &lt;strong&gt;half a second&lt;/strong&gt; and only requires a &lt;strong&gt;single request&lt;/strong&gt;. All other static assets are cached by the browser and don’t need to be downloaded again.&lt;br /&gt;
&lt;h5&gt;

Others&lt;/h5&gt;
Any other request to pages that haven’t been accessed before should take less requests to render, since most of the WebCenter resources have been downloaded previously.&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-HPknDD9v0L0/TebFR1JJq2I/AAAAAAAADNA/r1mJodvHVYc/s1600-h/Capture3%25255B5%25255D.png"&gt;&lt;img alt="Capture3" border="0" height="220" src="http://lh3.ggpht.com/-SbN7ZIR_P2w/TebFSHk0MhI/AAAAAAAADNE/frER3OnLDck/Capture3_thumb%25255B3%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Capture3" width="651" /&gt;&lt;/a&gt;&lt;br /&gt;
Spaces page takes &lt;strong&gt;1.1 seconds&lt;/strong&gt; and &lt;strong&gt;7 requests&lt;/strong&gt; to render. Blazing fast, my friends!&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/sN0lml4EFtw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/7271056641548190046/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2011/06/improving-webcenter-performance.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/7271056641548190046?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/7271056641548190046?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/sN0lml4EFtw/improving-webcenter-performance.html" title="Improving WebCenter Performance" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-7qMf7y0SwwE/TebFQov5tKI/AAAAAAAADM0/lW7wCEsGCz8/s72-c/Capture_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://george.maggessy.com/2011/06/improving-webcenter-performance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UCRH4_eyp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-8882952596169552541</id><published>2011-06-01T16:07:00.000-07:00</published><updated>2011-09-13T03:54:25.043-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T03:54:25.043-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="bpm" /><category scheme="http://www.blogger.com/atom/ns#" term="webcenter" /><category scheme="http://www.blogger.com/atom/ns#" term="task list portlet" /><category scheme="http://www.blogger.com/atom/ns#" term="weblogic" /><title>Setting up Task List portlets in WebCenter</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
The Task List is a standard JSR-168 portlet that allows you to check the ToDo tasks and take actions on those. Since the task list is a WSRP portlet producer application, it must be deployed on a managed server configured as a portlet container, such as WC_Portlet.&lt;br /&gt;
The objective of this post is to have a Cookbook format. The same steps can be found in &lt;a href="http://download.oracle.com/docs/cd/E17904_01/integration.1111/e10224/bp_portlets.htm#" target="_blank"&gt;Oracle’s documentation&lt;/a&gt;, except for some caveats and&amp;nbsp; images that should smooth the process.&lt;br /&gt;
&lt;h2&gt;

Steps&lt;/h2&gt;
&lt;a href="http://lh5.ggpht.com/-91xgL21Oy4I/TebFxp7UTRI/AAAAAAAADNI/mFFTiP-Dn-c/s1600-h/image29.png"&gt;&lt;img alt="image" border="0" height="210" src="http://lh6.ggpht.com/-H3yModkGiok/TebFyUkexrI/AAAAAAAADNM/kVrolzOJO0E/image_thumb14.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="486" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The picture above describes the deployment architecture as well as some basic interaction between the involved managed servers. Please notices that we have two different domains in the picture.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Deploying Task List Portlet&lt;/span&gt;&lt;br /&gt;
1. Because the task list portlet producer application uses the deployed library &lt;code&gt;oracle.soa.workflow.wc&lt;/code&gt;, you must confirm that the library is targeted to the Oracle WebLogic Server portlet managed server.&lt;br /&gt;
&lt;blockquote&gt;
&lt;div align="left"&gt;
a. Log in to Oracle WebLogic Server Administration Console.&lt;br /&gt;
b. Go to Deployments &amp;gt; oracle.soa.workflow.wc &amp;gt;Targets.&lt;br /&gt;
c. See if WLS_Portlet is checked. If not, check it and save your updates.&lt;/div&gt;
&lt;/blockquote&gt;
&lt;a href="http://lh4.ggpht.com/-yE9bVtxD3eo/TebFyh6z-1I/AAAAAAAADNQ/oqJT5pbXw6k/s1600-h/image20.png"&gt;&lt;img alt="image" border="0" height="275" src="http://lh6.ggpht.com/-TB09Soeri0g/TebFy18Y8sI/AAAAAAAADNU/KEq6CUT-u1U/image_thumb9.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="247" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2. In WebCenter PS3 there’s a shared lib issue. You also need to deploy rules.jar as a shared library in WC_Portlet. You can find rules.jar under &lt;span style="font-family: 'Courier New';"&gt;&amp;lt;JDEV_INSTALL&amp;gt;/jdeveloper/soa/modules/oracle.rules_11.1.1/rules.jar&lt;/span&gt;. &lt;br /&gt;
&lt;br /&gt;
3. Deploy the TaskListPortlet.ear file WC_Portlet.&lt;br /&gt;
&lt;blockquote&gt;
a. You can find it under &lt;span style="font-family: 'Courier New';"&gt;/Oracle_Home/SOA_Home/soa/applications/TaskListPortlet.ear&lt;/span&gt;.&lt;br /&gt;
b. Ensure that the WSRP producer application is running by accessing the WSDL from a web browser &lt;a href="http://server:port/TaskListPortlet/portlets/wsrp2?WSDL."&gt;&lt;span style="font-family: 'Courier New';"&gt;http://server:port/TaskListPortlet/portlets/wsrp2?WSDL&lt;/span&gt;.&lt;/a&gt;&lt;/blockquote&gt;
&lt;h4&gt;

Connecting Task List Producer to SOA Server&lt;/h4&gt;
&lt;h4&gt;

&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;The next step is to configure the remote JNDI providers on WebCenter. As mentioned before, the task list portlet bring the info from SOA server through remote EJB calls.&lt;/span&gt;&lt;/h4&gt;
&lt;a href="http://www.blogger.com/post-edit.g?blogID=6722666893586010772&amp;amp;postID=1319880991711101613" name="SOASE85858"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.blogger.com/post-edit.g?blogID=6722666893586010772&amp;amp;postID=1319880991711101613" name="sthref2842"&gt;&lt;/a&gt;&lt;br /&gt;
1. Log in to WLS Console and navigate to Domain Structure &amp;gt; Services &amp;gt; Foreign JNDI Providers. &lt;br /&gt;
&lt;blockquote&gt;
a. Click New. In the Name field, enter ForeignJNDIProvider-SOA, target it to WC_Portlet, and click OK.&lt;br /&gt;
b. Click the ForeignJNDIProvider-SOA link and enter the values in the table below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" cellpadding="2" cellspacing="0" style="width: 597px;"&gt;&lt;tbody&gt;
&lt;tr&gt; &lt;td valign="top" width="200"&gt;Initial Context Factory&lt;/td&gt; &lt;td valign="top" width="395"&gt;weblogic.jndi.WLInitialContextFactory&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="200"&gt;Provider URL&lt;/td&gt; &lt;td valign="top" width="395"&gt;t3://[soa_hostname]:[port]/soa-infra&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="200"&gt;User&lt;/td&gt; &lt;td valign="top" width="395"&gt;weblogic&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="200"&gt;Password&lt;/td&gt; &lt;td valign="top" width="395"&gt;Enter weblogic password.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="200"&gt;Confirm Password&lt;/td&gt; &lt;td valign="top" width="395"&gt;Password confirmation.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;a href="http://lh5.ggpht.com/-jIZ-EU0D7cI/TebFzFQmRmI/AAAAAAAADNY/E007v4R0SpM/s1600-h/image24.png"&gt;&lt;img alt="image" border="0" height="249" src="http://lh4.ggpht.com/-EOdQkCSlPqs/TebFzo5bHaI/AAAAAAAADNc/iP19cfyIlGM/image_thumb11.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="605" /&gt;&lt;/a&gt;&lt;/blockquote&gt;
2. Click the Links tab. Under Foreign JNDI Links, click New. Now enter the same values on the table below to Name, Local JNDI Name, and Remote JNDI Name. &lt;br /&gt;
&lt;blockquote&gt;
&lt;table border="1" cellpadding="2" cellspacing="0" style="width: 400px;"&gt;&lt;tbody&gt;
&lt;tr&gt; &lt;td valign="top" width="400"&gt;RuntimeConfigService&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="400"&gt;ejb/bpel/services/workflow/TaskServiceBean&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="400"&gt;ejb/bpel/services/workflow/TaskMetadataServiceBean&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="400"&gt;TaskReportServiceBean&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="400"&gt;TaskEvidenceServiceBean&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="400"&gt;TaskQueryService&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="400"&gt;UserMetadataService&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/blockquote&gt;
&lt;a href="http://lh5.ggpht.com/-r0odaQa-mvg/TebFz_HHvQI/AAAAAAAADNg/b5WlsaXOoOM/s1600-h/image28.png"&gt;&lt;img alt="image" border="0" height="226" src="http://lh4.ggpht.com/-AdA90z30zBU/TebF0aJwgHI/AAAAAAAADNk/uLxsbhPCc6E/image_thumb13.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="655" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://www.blogger.com/post-edit.g?blogID=6722666893586010772&amp;amp;postID=1319880991711101613" name="BABHEIJE"&gt;&lt;/a&gt;&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;h4&gt;

Configuring EJB Identity Propagation&lt;/h4&gt;
&lt;h4&gt;

&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;We’ll start by enabling global trust. Log in to the WLS Adm Console for WebCenter.&lt;/span&gt;&lt;/h4&gt;
On the left side of the page, click on Domain &amp;gt; Security &amp;gt; Advanced and modify the domain credentials. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-spWHzS6bQ8c/TebF05i5CRI/AAAAAAAADNo/MkXpzxxnOMk/s1600-h/image40.png"&gt;&lt;img alt="image" border="0" height="489" src="http://lh3.ggpht.com/-GpaxahIcDgA/TebF1CTsedI/AAAAAAAADNs/YdlL6h60Kg8/image_thumb19.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="398" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Log in to the SOA server Admin Console and modify the domain credentials to the same password as entered for WebCenter.&lt;br /&gt;
&lt;a href="http://www.blogger.com/post-edit.g?blogID=6722666893586010772&amp;amp;postID=1319880991711101613" name="BABGABGA"&gt;&lt;/a&gt;Regarding application authorization, the same user logged-in to the Spaces application must be present in the Porlet and SOA identity stores, or the three servers could point to the same identity store. For this post we have OID setup as the common identity store. For more info please see &lt;a href="http://download.oracle.com/docs/cd/E17904_01/webcenter.1111/e12405/wcadm_security_id_store.htm#WCADM1845" target="_blank"&gt;Oracle doc&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;

Securing the Task List Portlet Producer Application Using Web Services Security&lt;/h4&gt;
We’ll start by enabling WS-Security for the task list portlet producer application. &lt;br /&gt;
1. Open Oracle Enterprise Manager. &lt;br /&gt;
&lt;br /&gt;
2. In the navigator on the left side, select Farm_wc_domain &amp;gt; WebLogic Domain.&lt;br /&gt;
&lt;br /&gt;
3. Right-click wc_domain and select Security &amp;gt; Security Provider Configuration.&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-2u_mSPooABI/TebF1dvP0fI/AAAAAAAADNw/9zO6-HSCQXU/s1600-h/image44.png"&gt;&lt;img alt="image" border="0" height="364" src="http://lh3.ggpht.com/-lgIGet0bCxc/TebF1zaZnQI/AAAAAAAADN0/81gDhcVb2Wk/image_thumb21.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="430" /&gt;&lt;/a&gt;&lt;br /&gt;
4. Access the Keystore section at the bottom of the provider configuration page and click Configure. &lt;br /&gt;
&lt;a href="http://www.blogger.com/post-edit.g?blogID=6722666893586010772&amp;amp;postID=1319880991711101613" name="BABCGCAA"&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6722666893586010772&amp;amp;postID=1319880991711101613" name="SOASE85869"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-CftMvbTEw5Y/TebF2eJMNRI/AAAAAAAADN4/PpH_trMpD9A/s1600-h/image48.png"&gt;&lt;img alt="image" border="0" height="80" src="http://lh6.ggpht.com/-7vLWyhMm7Fw/TebF2hUZBqI/AAAAAAAADN8/rsCqJnCy-gA/image_thumb23.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="656" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;blockquote&gt;
a. Let’s generate the keystore.&lt;br /&gt;
&lt;span style="font-family: 'Courier New';"&gt;keytool -genkeypair -keyalg RSA -alias orakey -keypass welcome1 -keystore default-keystore.jks -storepass welcome1 -validity 3600&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-kQu6kJzLwD4/TebF2xuzkMI/AAAAAAAADOA/RYl-JzZUXAU/s1600-h/image54.png"&gt;&lt;img alt="image" border="0" height="148" src="http://lh5.ggpht.com/-TT9BvQBA_J4/TebF3VdRfQI/AAAAAAAADOE/kgsdyLa-Fyg/image_thumb27.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="633" /&gt;&lt;/a&gt; &lt;/blockquote&gt;
&lt;blockquote&gt;
b. Copy &lt;span style="font-family: 'Courier New';"&gt;default-keystore&lt;code&gt;.jks&lt;/code&gt;&lt;/span&gt; file to &lt;span style="font-family: 'Courier New';"&gt;WEBCENTER_DOMAIN&lt;code&gt;/config/fmwconfig&lt;/code&gt;&lt;/span&gt;.&lt;/blockquote&gt;
&lt;blockquote&gt;
c. Enter the details for keystore management and identity certificates as shown below.&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;a href="http://lh5.ggpht.com/-LhIvQoretbI/TebF3j-cjkI/AAAAAAAADOI/yXAF4A_0VMM/s1600-h/image59.png"&gt;&lt;img alt="image" border="0" height="321" src="http://lh6.ggpht.com/-kXuOTS6niKk/TebF4NgPj-I/AAAAAAAADOM/gIPIH4V89zQ/image_thumb30.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="568" /&gt;&lt;/a&gt;&lt;/blockquote&gt;
&lt;a href="http://www.blogger.com/post-edit.g?blogID=6722666893586010772&amp;amp;postID=1319880991711101613" name="BABGEFCF"&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6722666893586010772&amp;amp;postID=1319880991711101613" name="SOASE85870"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;blockquote&gt;
d. Click OK.&lt;/blockquote&gt;
&lt;blockquote&gt;
e. Restart WC_Portlet and AdminServer in the WebCenter domain.&lt;/blockquote&gt;
&lt;blockquote&gt;
f. Follow the same steps starting at &lt;strong&gt;&lt;em&gt;b&lt;/em&gt;&lt;/strong&gt;, but now for the SOA domain. To make your life easier we’ll use the same default-keystores.jks file, which means that you don’t need to run the &lt;span style="font-family: 'Courier New';"&gt;keytool&lt;/span&gt; command again.&lt;/blockquote&gt;
&lt;a href="http://www.blogger.com/post-edit.g?blogID=6722666893586010772&amp;amp;postID=1319880991711101613" name="SOASE85871"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.blogger.com/post-edit.g?blogID=6722666893586010772&amp;amp;postID=1319880991711101613" name="sthref2853"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h4&gt;

Specifying the Inbound Security Policy&lt;/h4&gt;
1. Open Oracle Enterprise Manager. &lt;br /&gt;
&lt;br /&gt;
2. Right-click Application Deployments &amp;gt; TaskListPortlet (WC_Portlet). &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-JzWScJ8Soqc/TebF4WFdqiI/AAAAAAAADOQ/Ecd0eivxvD8/s1600-h/image63.png"&gt;&lt;img alt="image" border="0" height="402" src="http://lh3.ggpht.com/-GQl8fg4ddko/TebF42UBccI/AAAAAAAADOU/raqEA7Hz15M/image_thumb32.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="341" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
3. Select Web Services. &lt;br /&gt;
&lt;br /&gt;
4. Click on WSRP_v2_Markup_Service. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-v6mCGkZIEmo/TebF5CEoH1I/AAAAAAAADOY/A2WoQk9nkNM/s1600-h/image67.png"&gt;&lt;img alt="image" border="0" height="239" src="http://lh4.ggpht.com/-HVEMig_xD5M/TebF5ugjGoI/AAAAAAAADOc/xc3qjVKPlBY/image_thumb34.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="382" /&gt;&lt;/a&gt; &lt;br /&gt;
5. Attach &lt;span style="font-family: 'Courier New';"&gt;oracle/wss10_saml_token_with_message_protection_service_policy&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-hTdS4yjCS_M/TebF6PUBgpI/AAAAAAAADOg/wiWnf4y_tqw/s1600-h/image71.png"&gt;&lt;img alt="image" border="0" height="378" src="http://lh3.ggpht.com/-vzIPR20VO94/TebF6smqTiI/AAAAAAAADOk/ZaS5JqyhKo8/image_thumb36.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="408" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
6. Click OK. &lt;br /&gt;
&lt;br /&gt;
7. Restart WC_Portlet.&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Consuming Task List Portlet from WebCenter Spaces&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;/div&gt;
1. Right-click Farm_wc_domain &amp;gt; WebCenter &amp;gt; WebCenter Spaces &amp;gt; webcenter. Select Settings &amp;gt; Service Configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-45p7kLqnPcQ/TebF67EqAaI/AAAAAAAADOo/GrA_NEjb5o0/s1600-h/image75.png"&gt;&lt;img alt="image" border="0" height="435" src="http://lh4.ggpht.com/-I0kp92O8kDA/TebF7SLYOGI/AAAAAAAADOs/1OYnm6sSVUA/image_thumb38.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="413" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2. Register a new portlet producer with the following information.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-xLsat_YtDYA/TebF7z-10QI/AAAAAAAADOw/l5zHCvNxM4Q/s1600-h/image79.png"&gt;&lt;img alt="image" border="0" height="602" src="http://lh4.ggpht.com/-mAFcOmnJBM0/TebF8MGhdbI/AAAAAAAADO0/x-JS5bMliU4/image_thumb40.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="597" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
3. Once the portlet producer is successfully register, open WebCenter Spaces and drop the portlet into any page. That’s how it should look like.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-kLqJknPi8VM/TebF8etktaI/AAAAAAAADO4/wQ4WjhdbYeo/s1600-h/image4.png"&gt;&lt;img alt="image" border="0" height="185" src="http://lh3.ggpht.com/-ksc9xaiDt-8/TebF82_FNMI/AAAAAAAADO8/2khWd_8YJTM/image_thumb2.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="680" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
You can double check your task list content by logging in into Business Process Workspace with the same user, obviously. You should see the same tasks.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-clIZbqkHT9E/TebF9FjrhpI/AAAAAAAADPA/-gSDRHwIqiE/s1600-h/image83.png"&gt;&lt;img alt="image" border="0" height="301" src="http://lh4.ggpht.com/-u44VbKtWnd8/TebF9myjkQI/AAAAAAAADPE/-T0gb3u_SgE/image_thumb42.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="517" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/dQme5SrrRyE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/8882952596169552541/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2011/06/setting-up-task-list-portlets-in.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/8882952596169552541?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/8882952596169552541?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/dQme5SrrRyE/setting-up-task-list-portlets-in.html" title="Setting up Task List portlets in WebCenter" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-H3yModkGiok/TebFyUkexrI/AAAAAAAADNM/kVrolzOJO0E/s72-c/image_thumb14.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://george.maggessy.com/2011/06/setting-up-task-list-portlets-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UNR345eyp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-1304246124343741201</id><published>2011-02-01T15:11:00.000-08:00</published><updated>2011-09-13T03:54:56.023-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T03:54:56.023-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ucm" /><category scheme="http://www.blogger.com/atom/ns#" term="site studio" /><category scheme="http://www.blogger.com/atom/ns#" term="adf" /><category scheme="http://www.blogger.com/atom/ns#" term="webcenter" /><category scheme="http://www.blogger.com/atom/ns#" term="jdeveloper" /><title>WebCenter Navigation triggered from UCM Content – Missing Part</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
In my &lt;a href="http://georgemaggessy.blogspot.com/2011/01/webcenter-navigation-triggered-from-ucm.html" target="_blank"&gt;last post&lt;/a&gt; I forgot to mention a shortcut to invoke Site Studio Contributor from inside WebCenter. As you might know Ctrl + Shift + F5 invokes the Contributor in a Site Studio website, in WebCenter it’s &lt;strong&gt;Ctrl + Shift + C&lt;/strong&gt;. Once you invoke the shortcut you should see a dotted blue line around your Content Presenter.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/_1tC3NLkKjnU/TUiRZXG23cI/AAAAAAAADFY/GXjfp-3i82s/s1600-h/pic1%5B3%5D.png"&gt;&lt;img alt="pic1" border="0" height="144" src="http://lh4.ggpht.com/_1tC3NLkKjnU/TUiRZqj5P1I/AAAAAAAADFc/w-9M58woNwQ/pic1_thumb%5B1%5D.png?imgmax=800" style="border-bottom-color: initial; border-bottom-style: initial; border-bottom-width: 0px; border-left-color: initial; border-left-style: initial; border-left-width: 0px; border-right-color: initial; border-right-style: initial; border-right-width: 0px; border-top-color: initial; border-top-style: initial; border-top-width: 0px; display: inline;" title="pic1" width="570" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Notice the toolbar on the top left. The edit button (pencil) invokes Site Studio Contributor window.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/_1tC3NLkKjnU/TUiRZ3jxqjI/AAAAAAAADFg/_fts2vnxI0M/s1600-h/pic2%5B3%5D.png"&gt;&lt;img alt="pic2" border="0" height="484" src="http://lh5.ggpht.com/_1tC3NLkKjnU/TUiRb9oFuSI/AAAAAAAADFk/6olC1lw0SL4/pic2_thumb%5B1%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="pic2" width="568" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
To get back to your normal window, just press &lt;b&gt;Ctrl +Shift + C&lt;/b&gt; again.&lt;br /&gt;
Another interesting shortcut is&amp;nbsp;&lt;strong&gt;Ctrl +Shift + E&lt;/strong&gt;. It takes you to the Editing Page mode.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_1tC3NLkKjnU/TUiRcViBBeI/AAAAAAAADFo/wv9m6_iyUak/s1600-h/pic3%5B3%5D.png"&gt;&lt;img alt="pic3" border="0" height="90" src="http://lh3.ggpht.com/_1tC3NLkKjnU/TUiRce0dSTI/AAAAAAAADFs/WCv-6XfuDts/pic3_thumb%5B1%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="pic3" width="570" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
You can download the sample app &lt;a href="https://sites.google.com/site/gmaggessfiles/gmaggess-files/BlogSample.zip?attredirects=0&amp;amp;d=1" target="_blank"&gt;here&lt;/a&gt;. Remember to change the UCM connection to your own Content Server and to recreate the region template, region definition and data files.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/XIVnfE5fLXM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/1304246124343741201/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2011/02/webcenter-navigation-triggered-from-ucm.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/1304246124343741201?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/1304246124343741201?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/XIVnfE5fLXM/webcenter-navigation-triggered-from-ucm.html" title="WebCenter Navigation triggered from UCM Content – Missing Part" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_1tC3NLkKjnU/TUiRZqj5P1I/AAAAAAAADFc/w-9M58woNwQ/s72-c/pic1_thumb%5B1%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://george.maggessy.com/2011/02/webcenter-navigation-triggered-from-ucm.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QFSHY4fSp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-5254308587567936927</id><published>2011-01-30T18:03:00.000-08:00</published><updated>2011-09-13T03:55:19.835-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T03:55:19.835-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ucm" /><category scheme="http://www.blogger.com/atom/ns#" term="site studio" /><category scheme="http://www.blogger.com/atom/ns#" term="webcenter spaces" /><category scheme="http://www.blogger.com/atom/ns#" term="adf" /><category scheme="http://www.blogger.com/atom/ns#" term="webcenter" /><category scheme="http://www.blogger.com/atom/ns#" term="jdeveloper" /><title>WebCenter Navigation triggered from UCM Content</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
You probably have already seen in many posts out there how to consume and display content from UCM into your WebCenter Portal Framework application and/or Spaces app. Now I want to show you how to navigate from your UCM Data File to a WebCenter page. You should definitely read this post if you currently have a Site Studio based website and want to migrate it to WebCenter. Unfortunately, currently there is no migration path to take your existing navigation structure from UCM to WebCenter Portal. You’ll have to review your UCM Navigation Model and manually rewrite it, splitting it into many navigation models according to your security needs.&lt;br /&gt;
To showcase the solution I created a small sample application with only 2 pages. The first one is the Home page with an UCM data file displayed through Content Presenter. This data file has a link to Page 2.&lt;br /&gt;
&lt;h3&gt;
&lt;br /&gt;
&lt;/h3&gt;
&lt;h3&gt;
WebCenter Portal Framework&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
The first step is to open the default-navigation-model.xml file in JDeveloper and create an &lt;em&gt;ExternalId&lt;/em&gt; url attribute in the page you want to navigate to. In our case it’s Page 2.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_1tC3NLkKjnU/TUYXbBz8-lI/AAAAAAAADEM/QUqeEo8cMjo/s1600-h/externalid%5B3%5D.png"&gt;&lt;img alt="externalid" border="0" height="404" src="http://lh6.ggpht.com/_1tC3NLkKjnU/TUYXb8mgHZI/AAAAAAAADEQ/naO_1PEWRhY/externalid_thumb%5B1%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="externalid" width="644" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
I’ll name it &lt;strong&gt;page2&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_1tC3NLkKjnU/TUYXcEYYXZI/AAAAAAAADEU/qYpDrAJyD7g/s1600-h/externalid2%5B6%5D.png"&gt;&lt;img alt="externalid2" border="0" height="144" src="http://lh3.ggpht.com/_1tC3NLkKjnU/TUYXchjC0gI/AAAAAAAADEY/kWjKH09tg5Q/externalid2_thumb%5B4%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="externalid2" width="480" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Just to clarify I have the region definition and region template info below.&lt;br /&gt;
&lt;h5&gt;
Region Definition&lt;/h5&gt;
&lt;a href="http://lh4.ggpht.com/_1tC3NLkKjnU/TUYXdMqNNHI/AAAAAAAADEc/t5a-Tb_Bjmo/s1600-h/rd%5B7%5D.png"&gt;&lt;img alt="rd" border="0" height="356" src="http://lh4.ggpht.com/_1tC3NLkKjnU/TUYXdWb8UJI/AAAAAAAADEg/L2LiC0keM24/rd_thumb%5B5%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="rd" width="391" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Title and Content are a &lt;strong&gt;plain text&lt;/strong&gt; and &lt;strong&gt;wysiwyg&lt;/strong&gt; element types respectively.&lt;br /&gt;
&lt;h5&gt;
Region Template&lt;/h5&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;
&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;!&lt;/span&gt;&lt;span style="color: maroon;"&gt;--&lt;/span&gt;$&lt;span style="color: red;"&gt;wcmElement&lt;/span&gt;(&lt;span style="color: blue;"&gt;"TITLE"&lt;/span&gt;)&lt;span style="color: red;"&gt;--&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt;   3:&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;!&lt;/span&gt;&lt;span style="color: maroon;"&gt;--&lt;/span&gt;$&lt;span style="color: red;"&gt;wcmElement&lt;/span&gt;(&lt;span style="color: blue;"&gt;"CONTENT"&lt;/span&gt;)&lt;span style="color: red;"&gt;--&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt;   4:&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
Now add the link to Page 2 on the data file. Open Oracle Content Server and select the data file content information. From Content Actions, click on Edit Data File.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/_1tC3NLkKjnU/TUYXeKQ_oII/AAAAAAAADEk/hhzJbuqoWgs/s1600-h/edit_df%5B3%5D.png"&gt;&lt;img alt="edit_df" border="0" height="446" src="http://lh3.ggpht.com/_1tC3NLkKjnU/TUYXekuOu7I/AAAAAAAADEo/dO46bZxVE-o/edit_df_thumb%5B1%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="edit_df" width="644" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
The Site Studio Contributor window will pop up. I’ll select the &lt;em&gt;Go to Page 2&lt;/em&gt; and create a link.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/_1tC3NLkKjnU/TUYXfKxDDaI/AAAAAAAADEs/J4w-cfuja7A/s1600-h/ssc_link%5B5%5D.png"&gt;&lt;img alt="ssc_link" border="0" height="881" src="http://lh4.ggpht.com/_1tC3NLkKjnU/TUYXf2viqSI/AAAAAAAADEw/L1YGzKo19Ws/ssc_link_thumb%5B3%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="ssc_link" width="610" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Notice that &lt;strong&gt;$wcUrl(‘ExternalId’)&lt;/strong&gt; is how we link our contributor data file to Page 2 on WebCenter Portal app. In this case we have &lt;strong&gt;&lt;em&gt;$wcUrl(‘page2’)&lt;/em&gt;&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/_1tC3NLkKjnU/TUYXgelSJTI/AAAAAAAADE0/Xk1lLdyh8eA/s1600-h/sslw_edit%5B3%5D.png"&gt;&lt;img alt="sslw_edit" border="0" height="711" src="http://lh6.ggpht.com/_1tC3NLkKjnU/TUYXg8wgzuI/AAAAAAAADE4/G_cnu-Ly8u0/sslw_edit_thumb%5B1%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="sslw_edit" width="558" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Moving back to JDeveloper, we’ll drop the data file from our UCM connection into panelCustomizable in home.jspx, then select Content Presenter to render it.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/_1tC3NLkKjnU/TUYXhKGWcaI/AAAAAAAADE8/Tj1onSyOhvY/s1600-h/df_drop%5B12%5D.png"&gt;&lt;img alt="df_drop" border="0" height="208" src="http://lh5.ggpht.com/_1tC3NLkKjnU/TUYXh21_aWI/AAAAAAAADFA/zyZZ1Hzj8fw/df_drop_thumb%5B10%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="df_drop" width="644" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Once the Edit Task Flow Binding window pops up, you’ll see the datasource attribute already populated, where MyContentServer is the name of our UCM connection and DF_BLOG is the dDocName of our data file. Next, we’ll inform who the region template is in the templateView attribute, and put the &lt;strong&gt;true&lt;/strong&gt; value for the regionTemplate attribute.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_1tC3NLkKjnU/TUYXifQHhlI/AAAAAAAADFE/ecauc6iGT6k/s1600-h/contentpresenter_taskflow%5B3%5D.png"&gt;&lt;img alt="contentpresenter_taskflow" border="0" height="305" src="http://lh3.ggpht.com/_1tC3NLkKjnU/TUYXi2NlKSI/AAAAAAAADFI/bb63oAm9nu0/contentpresenter_taskflow_thumb%5B1%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="contentpresenter_taskflow" width="645" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Voilà! We’re ready to run the app.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
WebCenter Spaces&lt;/h3&gt;
Spaces already provide an ExternalId property when editing a Navigation item, which makes our lives a little bit easier.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_1tC3NLkKjnU/TUYXjJIMXmI/AAAAAAAADFM/YpHmeWVPyBk/s1600-h/spaces%5B4%5D.png"&gt;&lt;img alt="spaces" border="0" height="455" src="http://lh4.ggpht.com/_1tC3NLkKjnU/TUYXj6AyxpI/AAAAAAAADFQ/q24UPzncoZo/spaces_thumb%5B2%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="spaces" width="644" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Regarding navigation inside the same UCM data file, there’s no need to change anything in your code. Content Presenter is smart enough to identify that you are making reference to another data file.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/tLCfhkuPPvY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/5254308587567936927/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2011/01/webcenter-navigation-triggered-from-ucm.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/5254308587567936927?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/5254308587567936927?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/tLCfhkuPPvY/webcenter-navigation-triggered-from-ucm.html" title="WebCenter Navigation triggered from UCM Content" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_1tC3NLkKjnU/TUYXb8mgHZI/AAAAAAAADEQ/naO_1PEWRhY/s72-c/externalid_thumb%5B1%5D.png?imgmax=800" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://george.maggessy.com/2011/01/webcenter-navigation-triggered-from-ucm.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QMRn05fyp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-7476506783762407912</id><published>2010-10-14T21:00:00.000-07:00</published><updated>2011-09-13T03:56:27.327-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T03:56:27.327-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adf" /><category scheme="http://www.blogger.com/atom/ns#" term="declarative component" /><category scheme="http://www.blogger.com/atom/ns#" term="layout managers" /><category scheme="http://www.blogger.com/atom/ns#" term="oow" /><title>The Magic of Declarative Components</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
While working on a PoC I came across an interesting use case where no component would meet the customer’s requirement. Basically, it should look like a &lt;a href="http://jdevadf.oracle.com/adf-richclient-demo/faces/components/index.jspx?_afrLoop=30165445547984808#%2Fcomponents%2FpanelTabbed.jspx%40" target="_blank"&gt;panelTabbed&lt;/a&gt; or a &lt;a href="http://jdevadf.oracle.com/adf-richclient-demo/faces/components/index.jspx?_afrLoop=30165445547984808#%2Fcomponents%2FnavigationPane.jspx%40" target="_blank"&gt;navigationPane&lt;/a&gt;, but instead of having a single text on the tab it should also display some links in the tab area.&lt;br /&gt;
I believe some folks would have though about creating a new JSF component. In my humble opinion it’s no easy task. Before taking this bumpy road, we should try to map each piece of this supposedly little monster to smaller existing ADF components. If we can successfully do that, then we have a clear case of declarative components.&lt;br /&gt;
The picture below, which is the actual component, is the result of 3 separate declarative components.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_1tC3NLkKjnU/TLfQYw-YblI/AAAAAAAACXc/LqrCm9605EE/s1600-h/sample%5B7%5D.png"&gt;&lt;img alt="sample" border="0" height="315" src="http://lh5.ggpht.com/_1tC3NLkKjnU/TLfQZW500RI/AAAAAAAACXg/JANi72bnxwI/sample_thumb%5B5%5D.png?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="sample" width="393" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The first declarative component represents the tab itself. It has 3 command links, where the first one is the main title and the other ones are only subtitles. Notice that, for reusability purposes, every item has its own style class as an attribute. Plus, the javascript responsible for the “hover over behavior” is also declared into the same component.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/_1tC3NLkKjnU/TLfQZ81ldeI/AAAAAAAACXk/DwezbNWUnCM/s1600-h/tab%5B13%5D.png"&gt;&lt;img alt="tab" border="0" height="332" src="http://lh6.ggpht.com/_1tC3NLkKjnU/TLfQaeOdJyI/AAAAAAAACXo/0tFNjQq_uTI/tab_thumb%5B7%5D.png?imgmax=800" style="border: 0px none; display: block; float: none; margin-left: auto; margin-right: auto;" title="tab" width="619" /&gt;&lt;/a&gt; &lt;br /&gt;
The second is the body of the tab where content is displayed. I added an attribute to work as the content title, plus a facet to enable any type of content to be dropped into it.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_1tC3NLkKjnU/TLfQa6ao1UI/AAAAAAAACXs/YVPLH-g4aYU/s1600-h/tab-body%5B3%5D.png"&gt;&lt;img alt="tab-body" border="0" height="76" src="http://lh5.ggpht.com/_1tC3NLkKjnU/TLfQbZmMO-I/AAAAAAAACXw/pmOsA1aTay4/tab-body_thumb%5B1%5D.png?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="tab-body" width="659" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
And the third one will hold together both tab and body into the header and body facets respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="tabbed-box" border="0" height="177" src="http://lh3.ggpht.com/_1tC3NLkKjnU/TLfQb-kM30I/AAAAAAAACX0/dlqnQuYjeIU/tabbed-box_thumb%5B2%5D.png?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="tabbed-box" width="538" /&gt;&lt;br /&gt;
The next picture shows how to put together the 3 declarative components (&lt;i&gt;dc&lt;/i&gt;) in order to achieve the desired layout. Notice that for each tab we have a tabBody &lt;i&gt;dc&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/_1tC3NLkKjnU/TLfQcWDBEEI/AAAAAAAACX4/DBVV2SpTauE/s1600-h/tabbed-box-sample%5B11%5D.png"&gt;&lt;img alt="tabbed-box-sample" border="0" height="424" src="http://lh3.ggpht.com/_1tC3NLkKjnU/TLfQc25kyRI/AAAAAAAACX8/vMMkFVaCH58/tabbed-box-sample_thumb%5B7%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="tabbed-box-sample" width="640" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
The source code can be downloaded &lt;a href="https://sites.google.com/site/gmaggessfiles/gmaggess-files/adfdeclarativecomponents.zip?attredirects=0&amp;amp;d=1" target="_blank"&gt;here&lt;/a&gt;.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/EQTDtnrNHmQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/7476506783762407912/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2010/10/magic-of-declarative-components.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/7476506783762407912?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/7476506783762407912?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/EQTDtnrNHmQ/magic-of-declarative-components.html" title="The Magic of Declarative Components" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_1tC3NLkKjnU/TLfQZW500RI/AAAAAAAACXg/JANi72bnxwI/s72-c/sample_thumb%5B5%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://george.maggessy.com/2010/10/magic-of-declarative-components.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQGSH48eSp7ImA9Wx5VFUs.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-2432795598096905644</id><published>2010-10-08T11:42:00.000-07:00</published><updated>2010-10-08T11:42:09.071-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-08T11:42:09.071-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adf" /><category scheme="http://www.blogger.com/atom/ns#" term="layout managers" /><title>Floating an image to the right</title><content type="html">Today I found this interesting question on the &lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=354" target="_blank"&gt;WebCenter Framework forum&lt;/a&gt;. &lt;br /&gt;
How can I accomplish such layout using ADF Layout Managers?&lt;a href="http://lh6.ggpht.com/_1tC3NLkKjnU/TK9lyQgZ2zI/AAAAAAAACXU/23Sne8h5uwY/s1600-h/float3.png"&gt;&lt;img alt="float" border="0" height="172" src="http://lh3.ggpht.com/_1tC3NLkKjnU/TK9lyoSFvQI/AAAAAAAACXY/MRb8rh7m5Ac/float_thumb1.png?imgmax=800" style="border-width: 0px; display: inline;" title="float" width="386" /&gt;&lt;/a&gt; &lt;br /&gt;
So here goes the &lt;a href="https://sites.google.com/site/gmaggessfiles/gmaggess-files/FloatTutorial.zip" target="_blank"&gt;code&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/aMmBIaFnkpM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/2432795598096905644/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2010/10/floating-image-to-right.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/2432795598096905644?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/2432795598096905644?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/aMmBIaFnkpM/floating-image-to-right.html" title="Floating an image to the right" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_1tC3NLkKjnU/TK9lyoSFvQI/AAAAAAAACXY/MRb8rh7m5Ac/s72-c/float_thumb1.png?imgmax=800" height="72" width="72" /><thr:total>6</thr:total><feedburner:origLink>http://george.maggessy.com/2010/10/floating-image-to-right.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MESXg6fip7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-1203077368451166736</id><published>2010-08-20T13:26:00.000-07:00</published><updated>2011-09-13T03:56:48.616-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T03:56:48.616-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adf" /><category scheme="http://www.blogger.com/atom/ns#" term="jquery" /><category scheme="http://www.blogger.com/atom/ns#" term="layout managers" /><category scheme="http://www.blogger.com/atom/ns#" term="oow" /><title>ADF and JQuery working together</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Are you done with your schedule builder for &lt;a href="http://www.oracle.com/openworld" target="_blank"&gt;Oracle Open World 2010&lt;/a&gt;? Don’t forget to register for &lt;b&gt;Pretty UIs: creating great looking applications with ADF Faces (S316896)&lt;/b&gt;. Different from last year’s presentation &lt;a href="http://adfgarage.blogspot.com/" target="_blank"&gt;Maiko Rocha&lt;/a&gt; and myself are not going to be focusing on ADF Faces Layout Managers and Skinning. This time it’s more about tips and techniques on how to make you UI components more dynamic and reusable.&lt;br /&gt;
&lt;br /&gt;
Just to give you a taste of what we’re going to present I’ve prepared a &lt;a href="https://sites.google.com/site/gmaggessfiles/gmaggess-files/ADFJQuery.zip?attredirects=0&amp;amp;d=1" target="_blank"&gt;sample application&lt;/a&gt; where I use JQuery with ADF Faces to create a slideshow. This sample has no HTML, of course... Otherwise it would be too easy. :)&lt;br /&gt;
&lt;br /&gt;
If I had to create this app in html it would look like this: &lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color: maroon;"&gt;DOCTYPE&lt;/span&gt; &lt;span style="color: red;"&gt;html&lt;/span&gt; &lt;span style="color: red;"&gt;PUBLIC&lt;/span&gt; &lt;span style="color: blue;"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;html&lt;/span&gt; &lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;head&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt;   4:&lt;/span&gt;         &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;meta&lt;/span&gt; &lt;span style="color: red;"&gt;content&lt;/span&gt;&lt;span style="color: blue;"&gt;="text/html; charset=iso-8859-1"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt;   5:&lt;/span&gt;               &lt;span style="color: red;"&gt;http-equiv&lt;/span&gt;&lt;span style="color: blue;"&gt;="Content-Type"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt;   6:&lt;/span&gt;         &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt; &lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="text/javascript"&lt;/span&gt; &lt;span style="color: red;"&gt;src&lt;/span&gt;&lt;span style="color: blue;"&gt;="lib/jquery/jquery-1.3.2.min.js"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;

&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt;         &amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"javascript/slide.js"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt;   7:&lt;/span&gt;         &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;link&lt;/span&gt; &lt;span style="color: red;"&gt;rel&lt;/span&gt;&lt;span style="color: blue;"&gt;="stylesheet"&lt;/span&gt; &lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="text/css"&lt;/span&gt; &lt;span style="color: red;"&gt;href&lt;/span&gt;&lt;span style="color: blue;"&gt;="css/slide.css"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt;   8:&lt;/span&gt;     &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;head&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt;   9:&lt;/span&gt;     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt;  10:&lt;/span&gt;         &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="slideshow"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt;  11:&lt;/span&gt;             &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;img&lt;/span&gt; &lt;span style="color: red;"&gt;src&lt;/span&gt;&lt;span style="color: blue;"&gt;="images/cristo1.jpg"&lt;/span&gt; &lt;span style="color: red;"&gt;alt&lt;/span&gt;&lt;span style="color: blue;"&gt;=""&lt;/span&gt; &lt;span style="color: red;"&gt;class&lt;/span&gt;&lt;span style="color: blue;"&gt;="active"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt;  12:&lt;/span&gt;              &lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt;  13:&lt;/span&gt;             &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;img&lt;/span&gt; &lt;span style="color: red;"&gt;src&lt;/span&gt;&lt;span style="color: blue;"&gt;="images/cristo2.jpg"&lt;/span&gt; &lt;span style="color: red;"&gt;alt&lt;/span&gt;&lt;span style="color: blue;"&gt;=""&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt;  14:&lt;/span&gt;              &lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt;  15:&lt;/span&gt;             &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;img&lt;/span&gt; &lt;span style="color: red;"&gt;src&lt;/span&gt;&lt;span style="color: blue;"&gt;="images/ipanema1.jpg"&lt;/span&gt; &lt;span style="color: red;"&gt;alt&lt;/span&gt;&lt;span style="color: blue;"&gt;=""&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum16" style="color: #606060;"&gt;  16:&lt;/span&gt;         &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum17" style="color: #606060;"&gt;  17:&lt;/span&gt;     &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum18" style="color: #606060;"&gt;  18:&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;html&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
So, the question is… How do I turn html tags into ADF Faces Layout Managers? There’s a tip here. PanelGroupLayouts can be easily mapped to html tags according to the layout attribute value you chose.&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" cellpadding="2" cellspacing="0" style="width: 400px;"&gt;&lt;tbody&gt;
&lt;tr&gt; &lt;td valign="top" width="69"&gt;&lt;br /&gt;
&lt;div align="center"&gt;
&lt;b&gt;Layout&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td valign="top" width="331"&gt;&lt;br /&gt;
&lt;div align="center"&gt;
&lt;b&gt;HTML Tag&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="69"&gt;&lt;i&gt;default&lt;/i&gt;&lt;/td&gt; &lt;td valign="top" width="331"&gt;span&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="69"&gt;&lt;i&gt;horizontal&lt;/i&gt;&lt;/td&gt; &lt;td valign="top" width="331"&gt;table&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="69"&gt;&lt;i&gt;vertical&lt;/i&gt;&lt;/td&gt; &lt;td valign="top" width="331"&gt;div&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign="top" width="69"&gt;&lt;i&gt;scroll&lt;/i&gt;&lt;/td&gt; &lt;td valign="top" width="331"&gt;div (overflow: auto, height: 100% and width: 100%)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Which means that in ADF terms the code would be:&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;br /&gt;
&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: maroon;"&gt;xml&lt;/span&gt; &lt;span style="color: red;"&gt;version&lt;/span&gt;&lt;span style="color: blue;"&gt;='1.0'&lt;/span&gt; &lt;span style="color: red;"&gt;encoding&lt;/span&gt;&lt;span style="color: blue;"&gt;='UTF-8'&lt;/span&gt;?&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;jsp:root&lt;/span&gt; &lt;span style="color: red;"&gt;xmlns:jsp&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://java.sun.com/JSP/Page"&lt;/span&gt; &lt;span style="color: red;"&gt;version&lt;/span&gt;&lt;span style="color: blue;"&gt;="2.1"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt;   3:&lt;/span&gt;           &lt;span style="color: red;"&gt;xmlns:f&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://java.sun.com/jsf/core"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt;   4:&lt;/span&gt;           &lt;span style="color: red;"&gt;xmlns:h&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://java.sun.com/jsf/html"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt;   5:&lt;/span&gt;           &lt;span style="color: red;"&gt;xmlns:af&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://xmlns.oracle.com/adf/faces/rich"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt;   6:&lt;/span&gt;   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;jsp:directive.page&lt;/span&gt; contentType="text/html;charset=UTF-8"&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt;   7:&lt;/span&gt;   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;f:view&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt;   8:&lt;/span&gt;     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:document&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="d1"&lt;/span&gt; &lt;span style="color: red;"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;="ADF plus JQuery"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt;   9:&lt;/span&gt;       &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:form&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="f1"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt;  10:&lt;/span&gt;         &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:resource&lt;/span&gt; &lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="javascript"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt;  11:&lt;/span&gt;                      &lt;span style="color: red;"&gt;source&lt;/span&gt;&lt;span style="color: blue;"&gt;="/lib/jquery/jquery-1.3.2.min.js"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt;  12:&lt;/span&gt;         &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:resource&lt;/span&gt; &lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="javascript"&lt;/span&gt; &lt;span style="color: red;"&gt;source&lt;/span&gt;&lt;span style="color: blue;"&gt;="/javascript/slide.js"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt;  13:&lt;/span&gt;         &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:resource&lt;/span&gt; &lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="css"&lt;/span&gt; &lt;span style="color: red;"&gt;source&lt;/span&gt;&lt;span style="color: blue;"&gt;="/css/slide.css"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt;  14:&lt;/span&gt;         &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:panelGroupLayout&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="slideshow"&lt;/span&gt; &lt;span style="color: red;"&gt;layout&lt;/span&gt;&lt;span style="color: blue;"&gt;="vertical"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt;  15:&lt;/span&gt;           &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:group&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum16" style="color: #606060;"&gt;  16:&lt;/span&gt;             &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:image&lt;/span&gt; &lt;span style="color: red;"&gt;source&lt;/span&gt;&lt;span style="color: blue;"&gt;="/images/cristo1.jpg"&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="i1"&lt;/span&gt; &lt;span style="color: red;"&gt;styleClass&lt;/span&gt;&lt;span style="color: blue;"&gt;="active"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum17" style="color: #606060;"&gt;  17:&lt;/span&gt;             &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:image&lt;/span&gt; &lt;span style="color: red;"&gt;source&lt;/span&gt;&lt;span style="color: blue;"&gt;="/images/cristo2.jpg"&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="i2"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum18" style="color: #606060;"&gt;  18:&lt;/span&gt;             &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:image&lt;/span&gt; &lt;span style="color: red;"&gt;source&lt;/span&gt;&lt;span style="color: blue;"&gt;="/images/ipanema1.jpg"&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="i3"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum19" style="color: #606060;"&gt;  19:&lt;/span&gt;           &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:group&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum20" style="color: #606060;"&gt;  20:&lt;/span&gt;         &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:panelGroupLayout&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum21" style="color: #606060;"&gt;  21:&lt;/span&gt;       &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:form&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum22" style="color: #606060;"&gt;  22:&lt;/span&gt;     &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;af:document&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum23" style="color: #606060;"&gt;  23:&lt;/span&gt;   &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;f:view&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum24" style="color: #606060;"&gt;  24:&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;jsp:root&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
Also notice the use of af:group. Not surrounding your images with af:group will cause ADF to create a separate div for each image inside your PanelGroupLayout.&lt;br /&gt;
&lt;br /&gt;
Want to know more details? Attend our session. See you in OOW 2010. ;)&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/jEeT_YBuijg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/1203077368451166736/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2010/08/adf-and-jquery-working-together.html#comment-form" title="10 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/1203077368451166736?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/1203077368451166736?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/jEeT_YBuijg/adf-and-jquery-working-together.html" title="ADF and JQuery working together" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><thr:total>10</thr:total><feedburner:origLink>http://george.maggessy.com/2010/08/adf-and-jquery-working-together.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MGSHkyfCp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-5230378652146718001</id><published>2010-08-06T10:42:00.001-07:00</published><updated>2011-09-13T03:57:09.794-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T03:57:09.794-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="adf" /><category scheme="http://www.blogger.com/atom/ns#" term="documentation" /><category scheme="http://www.blogger.com/atom/ns#" term="skin" /><title>ADF Docs for Skinning, Tags, JavaScript and much more.</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
This week two Oracle Partners contacted me with questions regarding ADF Skinning. They wanted to know some specific pseudo-class for a selector. In their case, Firebug was not enough. Firebug will not list a pseudo-class that is not being currently used in your page. &lt;br /&gt;
So, there’s a link that a few people know that lists all &lt;a href="http://jdevadf.oracle.com/adf-richclient-demo/docs/skin-selectors.html"&gt;ADF Skin Selectors&lt;/a&gt;, &lt;a href="http://myfaces.apache.org/trinidad/trinidad-api/apidocs/index.html"&gt;Trinidad Javadoc&lt;/a&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;, &lt;a href="http://jdevadf.oracle.com/adf-richclient-demo/docs/apidocs/index.html"&gt;Rich Javadoc&lt;/a&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;, &lt;a href="http://jdevadf.oracle.com/adf-richclient-demo/docs/js_docs_out/index.html"&gt;Rich Javadoc for JavaScript&lt;/a&gt;&lt;span style="color: black;"&gt;&lt;/span&gt; and &lt;a href="http://jdevadf.oracle.com/adf-richclient-demo/docs/enhanced-tagdoc.html"&gt;Tag Documentation&lt;/a&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;. The main link is &lt;a href="http://jdevadf.oracle.com/adf-richclient-demo/docs/release.html"&gt;here&lt;/a&gt;. Have fun! Don’t forget to bookmark the &lt;a href="http://jdevadf.oracle.com/adf-richclient-demo/faces/index.jspx"&gt;tag guide&lt;/a&gt; as well. It’s not a complete reference, but it’s pretty useful.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/6YGSvPAeLjk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/5230378652146718001/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2010/08/adf-docs-for-skinning-tags-javascript.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/5230378652146718001?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/5230378652146718001?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/6YGSvPAeLjk/adf-docs-for-skinning-tags-javascript.html" title="ADF Docs for Skinning, Tags, JavaScript and much more." /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://george.maggessy.com/2010/08/adf-docs-for-skinning-tags-javascript.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04AQXg8fip7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-631668416861878579</id><published>2010-07-21T16:48:00.001-07:00</published><updated>2011-09-13T04:05:40.676-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:05:40.676-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="webcenter spaces" /><title>Another undocumented tag on WebCenter Spaces</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
If you've ever downloaded the &lt;a href="http://download.oracle.com/otndocs/tech/webcenter/files/extendwebcenterspaces.zip"&gt;Spaces Customization project&lt;/a&gt; from OTN, you might have tested it choosing &lt;i&gt;myskin&lt;/i&gt; as the default application skin and &lt;i&gt;SampleSiteTemplate&lt;/i&gt; as the default template for Group Spaces and Personal Spaces. When doing so and selecting a specific user, I’ll use monty for this post, you'll see a tab with monty's Profile Gallery and a panel box entitled &lt;b&gt;Pages&lt;/b&gt; on the left with links to monty's Profile Gallery pages.&lt;br /&gt;
&lt;br /&gt;
&lt;div align="center"&gt;
&lt;a href="http://lh3.ggpht.com/_1tC3NLkKjnU/TEeHQIfnFUI/AAAAAAAACS4/2P_It08EHrg/s1600-h/monty_gallery%5B6%5D.png"&gt;&lt;img alt="monty_gallery" border="0" height="484" src="http://lh4.ggpht.com/_1tC3NLkKjnU/TEeHR7tt91I/AAAAAAAACS8/XgSROLYAUPg/monty_gallery_thumb%5B2%5D.png?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="monty_gallery" width="550" /&gt;&lt;/a&gt;     &lt;br /&gt;
&lt;i&gt;Monty's Profile Gallery&lt;/i&gt; &lt;/div&gt;
Once you navigate to vicky's Profile Galery, the panel box title still says Pages and shows the same list of pages, nevertheless the links point to vicky's Profile Galery. It turns the navigation through profiles a bit confusing. Notice also that I haven't signed out from monty’s account. I was only viewing vicky's profile page. &lt;br /&gt;
&lt;div align="center"&gt;
&amp;nbsp;&lt;a href="http://lh5.ggpht.com/_1tC3NLkKjnU/TEeHSDPxtwI/AAAAAAAACTA/SL6Kri5Q8wo/s1600-h/monty_gallery_vicky%5B7%5D.png"&gt;&lt;img alt="monty_gallery_vicky" border="0" height="484" src="http://lh6.ggpht.com/_1tC3NLkKjnU/TEeHSp6c75I/AAAAAAAACTE/mBBIjlnXA7g/monty_gallery_vicky_thumb%5B3%5D.png?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="monty_gallery_vicky" width="511" /&gt;&lt;/a&gt;     &lt;br /&gt;
&lt;i&gt;Switching to vicky's Profile Gallery      &lt;br /&gt;
&lt;br /&gt;
&lt;/i&gt;&lt;a href="http://lh6.ggpht.com/_1tC3NLkKjnU/TEeHTPFWJvI/AAAAAAAACTI/Gi95q0A9ieo/s1600-h/vicky_gallery%5B6%5D.png"&gt;&lt;img alt="vicky_gallery" border="0" height="455" src="http://lh4.ggpht.com/_1tC3NLkKjnU/TEeHULToeeI/AAAAAAAACTM/LmAMPswy7Jk/vicky_gallery_thumb%5B2%5D.png?imgmax=800" style="border-width: 0px; display: inline;" title="vicky_gallery" width="644" /&gt;&lt;/a&gt;     &lt;br /&gt;
&lt;i&gt;Vicky's Profile Gallery&lt;/i&gt; &lt;/div&gt;
The easiest solution, and the one also requested by a customer was to replace the title &lt;b&gt;Pages&lt;/b&gt; by &lt;b&gt;&amp;lt;User&amp;gt;&lt;user&gt;'s Gallery&lt;/user&gt;&lt;/b&gt;. It can be easily achieved by using the following EL: &lt;br /&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:panelBox&lt;/span&gt; &lt;span class="attr"&gt;text&lt;/span&gt;&lt;span class="kwrd"&gt;="&lt;b&gt;#{o_w_w_i_v_b_resourceViewerBean.userDisplayName}&lt;/b&gt;'s Gallery"&lt;/span&gt; &lt;span class="attr"&gt;showDisclosure&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
...
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;af:panelBox&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;That's how it should look now: &lt;br /&gt;
&lt;br /&gt;
&lt;img alt="pic3" border="0" height="484" src="http://lh4.ggpht.com/_1tC3NLkKjnU/TEeHUWoDF-I/AAAAAAAACTQ/rjz60yaZyvI/pic3_thumb%5B2%5D.png?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="pic3" width="537" /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;div align="center"&gt;
Vicky's Gallery &lt;/div&gt;
&lt;br /&gt;
Hope this helps in the future.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/V0Zj4H4efmc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/631668416861878579/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2010/07/another-undocumented-tag-on-webcenter.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/631668416861878579?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/631668416861878579?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/V0Zj4H4efmc/another-undocumented-tag-on-webcenter.html" title="Another undocumented tag on WebCenter Spaces" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_1tC3NLkKjnU/TEeHR7tt91I/AAAAAAAACS8/XgSROLYAUPg/s72-c/monty_gallery_thumb%5B2%5D.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://george.maggessy.com/2010/07/another-undocumented-tag-on-webcenter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IMQn8ycSp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-1760407564409672605</id><published>2010-07-20T11:32:00.001-07:00</published><updated>2011-09-13T03:59:43.199-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T03:59:43.199-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="pivot table" /><category scheme="http://www.blogger.com/atom/ns#" term="adf" /><category scheme="http://www.blogger.com/atom/ns#" term="dvt" /><title>ADF Pivot Table</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Last week I was helping a customer improve the looks of their Pivot Table. They had a couple of questions that took me sometime to investigate and get to a final answer.  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Question #1&lt;/b&gt; Is it possible to insert a link in the table header value? Can I stamp another pivot table cell on the same goLink?   &lt;br /&gt;
&lt;b&gt;Answer&lt;/b&gt; Yes, it is possible. The &lt;i&gt;headerCell&lt;/i&gt; tag plus a &lt;i&gt;switcher&lt;/i&gt; will do the job of stamping the &lt;i&gt;goLink&lt;/i&gt; to a specific cell, in this case city. However, there’s no built-in EL syntax to reference other pivot table cells, therefore I took the approach of using &lt;b&gt;oracle.adf.view.faces.bi.model.DataModel&lt;/b&gt; and &lt;b&gt;oracle.dss.util.DataAccess&lt;/b&gt; to look up values in other cell inside a managed bean (line 12).  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Code Snippets&lt;/b&gt;  &lt;br /&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;pre&gt;&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/pre&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;dvt:pivotTable&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="pivotTable1"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;                        &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="#{bindings.PlaceholderDataType.pivotTableModel}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;                        &lt;span class="attr"&gt;styleClass&lt;/span&gt;&lt;span class="kwrd"&gt;="width:100%;"&lt;/span&gt; &lt;span class="attr"&gt;var&lt;/span&gt;&lt;span class="kwrd"&gt;="cellData"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;                        &lt;span class="attr"&gt;varStatus&lt;/span&gt;&lt;span class="kwrd"&gt;="cellStatus"&lt;/span&gt; &lt;span class="attr"&gt;binding&lt;/span&gt;&lt;span class="kwrd"&gt;="#{pageFlowScope.ptBean.pt}"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;          &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;dvt:headerCell&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:switcher&lt;/span&gt; &lt;span class="attr"&gt;facetName&lt;/span&gt;&lt;span class="kwrd"&gt;="#{cellData.layerName}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;                         &lt;span class="attr"&gt;defaultFacet&lt;/span&gt;&lt;span class="kwrd"&gt;="Default"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="s1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;              &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;f:facet&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="city"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:group&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="g1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:goLink&lt;/span&gt; &lt;span class="attr"&gt;text&lt;/span&gt;&lt;span class="kwrd"&gt;="#{cellData.label}"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="gl1"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;                             &lt;span class="attr"&gt;targetFrame&lt;/span&gt;&lt;span class="kwrd"&gt;="_blank"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                             &lt;span class="attr"&gt;destination&lt;/span&gt;&lt;span class="kwrd"&gt;="#{pageFlowScope.ptBean.findURL[cellData.label]}"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;af:group&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;              &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;f:facet&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;              &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;f:facet&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Default"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;af:outputText&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="#{cellData.label}"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="ot2"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;              &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;f:facet&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;af:switcher&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;          &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;dvt:headerCell&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;dvt:pivotTable&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;import oracle.adf.view.faces.bi.component.pivotTable.UIPivotTable;
&lt;span class="lnum"&gt;   2:  &lt;/span&gt;import oracle.adf.view.faces.bi.model.DataModel;
&lt;span class="lnum"&gt;   3:  &lt;/span&gt;import oracle.dss.util.DataAccess;
&lt;span class="lnum"&gt;   4:  &lt;/span&gt;import oracle.dss.util.DataMap;
&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;nbsp;
&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; UIPivotTable pivotTable;
&lt;span class="lnum"&gt;   7:  &lt;/span&gt;...
&lt;span class="lnum"&gt;   8:  &lt;/span&gt;DataModel dm = pivotTable.getDataModel();
&lt;span class="lnum"&gt;   9:  &lt;/span&gt;DataAccess da = dm.getDataAccess();
&lt;span class="lnum"&gt;  10:  &lt;/span&gt;...
&lt;span class="lnum"&gt;  11:  &lt;/span&gt;List myList = (List)da.getValue(2, 1, DataMap.DATA_AGGREGATES);
&lt;span class="lnum"&gt;  12:  &lt;/span&gt;...&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Question #2&lt;/b&gt; Can we display the titles for the categories? For instance, on the picture below, right above &lt;i&gt;2007&lt;/i&gt; and &lt;i&gt;Tents&lt;/i&gt;, it should display Time and Product. Currently, it only happens when the user hovers over its mouse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/_1tC3NLkKjnU/TEXrwuNhafI/AAAAAAAACSw/2eoRRKTFbzU/s1600-h/Capture%5B2%5D.png"&gt;&lt;img alt="Capture" border="0" height="244" src="http://lh4.ggpht.com/_1tC3NLkKjnU/TEXrw2KLxsI/AAAAAAAACS0/F77nrWRtnrk/Capture_thumb.png?imgmax=800" style="border: 0px none; display: inline;" title="Capture" width="243" /&gt;&lt;/a&gt;&amp;nbsp; &lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Answer&lt;/b&gt; Unfortunately, this feature is currently not implemented. If you are reading this post and also has the same need, please leave a comment below detailing your requirement.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/do46i_pEhA8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/1760407564409672605/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2010/07/pivot-table.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/1760407564409672605?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/1760407564409672605?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/do46i_pEhA8/pivot-table.html" title="ADF Pivot Table" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_1tC3NLkKjnU/TEXrw2KLxsI/AAAAAAAACS0/F77nrWRtnrk/s72-c/Capture_thumb.png?imgmax=800" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://george.maggessy.com/2010/07/pivot-table.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ADQXc-fyp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-8517392130272922465</id><published>2010-04-19T18:04:00.001-07:00</published><updated>2011-09-13T04:02:50.957-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:02:50.957-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="shared library" /><category scheme="http://www.blogger.com/atom/ns#" term="deploy" /><category scheme="http://www.blogger.com/atom/ns#" term="adf" /><category scheme="http://www.blogger.com/atom/ns#" term="task flow" /><title>Deploying an Consuming Task Flows as Shared Libraries on WLS</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="pBody"&gt;
A Java EE library is an easy way to share one or more different types of Java EE modules among multiple Enterprise Applications. A shared Java EE library can be a simple jar file, an EJB module or even a web application module.&lt;/div&gt;
&lt;a href="http://www.blogger.com/post-edit.g?blogID=4236208792180001160&amp;amp;postID=8517392130272922465" id="wp1070754" name="wp1070754"&gt;&lt;/a&gt;
There are also other ways of sharing Java modules, such as optional packages and &lt;a href="http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html#wp1096756" id="po27" title="system libraries"&gt;system libraries&lt;/a&gt;. This last one is not recommended if you need to update your JARs periodically. Since, you must reboot all servers in the domain in order for applications to pick up the change.

So what's is the difference between &lt;em&gt;optional packages&lt;/em&gt; and &lt;em&gt;shared libraries&lt;/em&gt;? Well, basically &lt;em&gt;optional packages&lt;/em&gt; are plain jar files that are used when you need to share one or more Java classes among different Java modules, whilst a &lt;em&gt;shared library&lt;/em&gt; can be plain JAR file, an EAR file, or a WAR file. This means that Java EE and WLS deployment descriptors contained on the &lt;em&gt;shared libraries&lt;/em&gt; will be merged in memory with the ones in the consumer applications.

The sample I created for this post follows the same strategy as WebCenter Spaces. If you've extended Spaces before, you know that it's done through a WAR file (custom.webcenter.spaces.war) that is deployed as a shared library and consumed by Spaces&amp;nbsp; application (webcenter.ear).
&lt;br /&gt;
&lt;h4&gt;
Shared Library Application&lt;/h4&gt;
The &lt;i&gt;SharedLibSample&lt;/i&gt; application is divided into 2 projects. &lt;i&gt;MyTaskFlows&lt;/i&gt; project holds all task flows that will be deployed as ADF Libs and &lt;i&gt;MyWar&lt;/i&gt; will wrap one or more ADF Libs into a WAR file, that is the actual shared library final artifact. Notice that MyWar has 2 deployment descriptors (&lt;i&gt;web.xml &lt;/i&gt;and &lt;i&gt;weblogic.xml&lt;/i&gt;), but in this use case I'm only including the &lt;i&gt;weblogic.xml&lt;/i&gt; file, where I specify an empty context-root.

&lt;br /&gt;
&lt;div id="jw5l" style="text-align: left;"&gt;
&lt;img src="http://docs.google.com/File?id=ddg6gp75_138q3c75zgm_b" style="height: 421px; width: 295px;" /&gt;&lt;/div&gt;
I'm also adding a new &lt;i&gt;MANIFEST.MF&lt;/i&gt; file into the war deployment profile to tell WLS that it's a &lt;a href="http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/libraries.html#wp580219" id="m0o5" title="shared library"&gt;shared library&lt;/a&gt;:

&lt;span style="font-family: 'courier new';"&gt;Manifest-Version: 1.0&lt;/span&gt;
&lt;span style="font-family: 'courier new';"&gt;Created-By: George Maggessy&lt;/span&gt;
&lt;span style="font-family: 'courier new';"&gt;Implementation-Title: Sample Shared Library&lt;/span&gt;
&lt;span style="font-family: 'courier new';"&gt;Extension-Name: &lt;b&gt;sample.shared.lib&lt;/b&gt;&lt;/span&gt;
&lt;span style="font-family: 'courier new';"&gt;Specification-Version: 1.0.0&lt;/span&gt;
&lt;span style="font-family: 'courier new';"&gt;Implementation-Version: 1.0.0&lt;/span&gt;
&lt;span style="font-family: 'courier new';"&gt;Implementation-Vendor: Oracle&lt;/span&gt;

The name in bold will be used as a reference in the consumer application.
&lt;br /&gt;
&lt;h4&gt;
Enterprise Application&lt;/h4&gt;
After the shared library has been deployed, it's time to build the Enterprise Application that references the library. I created a simple Fusion Web Application with a couple of jsf pages and included the generated ADF Library in the consumer application classpath. Attention to the fact that I did &lt;b&gt;not&lt;/b&gt; include the WAR file itself, but the ADF Lib that goes inside that artifact.

&lt;br /&gt;
&lt;div id="xtwy" style="text-align: left;"&gt;
&lt;img src="http://docs.google.com/File?id=ddg6gp75_146d7j45tdz_b" style="height: 436.635px; width: 648px;" /&gt;&lt;/div&gt;
Change the application's view perspective by selecting &lt;i&gt;Navigator Display Options -&amp;gt; Show Libraries&lt;/i&gt; to help you consume the ADF Task Flows inside the shared libraries.

&lt;br /&gt;
&lt;div id="i179" style="text-align: left;"&gt;
&lt;img src="http://docs.google.com/File?id=ddg6gp75_142cvdsrgfj_b" style="height: 179px; width: 404px;" /&gt;&lt;/div&gt;
You should see something like this:

&lt;br /&gt;
&lt;div id="f.q1" style="text-align: left;"&gt;
&lt;img src="http://docs.google.com/File?id=ddg6gp75_147c3ncpkpb_b" style="height: 758px; width: 295px;" /&gt;&lt;/div&gt;
You are now ready to drag and drop the task flows into your JSF pages.

Before deploying your application, make sure you added a reference to the shared library in the &lt;i&gt;weblogic-application.xml&lt;/i&gt; deployment descriptor.
&lt;span style="font-size: x-small;"&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new'; font-size: x-small;"&gt;&amp;lt;?xml version = '1.0' encoding = 'UTF-8'?&amp;gt;
&amp;lt;weblogic-application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-application http://www.bea.com/ns/weblogic/weblogic-application/1.0/weblogic-application.xsd"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="http://www.bea.com/ns/weblogic/weblogic-application"&amp;gt;
&amp;nbsp; &amp;lt;listener&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;listener-class&amp;gt;oracle.adf.share.weblogic.listeners.ADFApplicationLifecycleListener&amp;lt;/listener-class&amp;gt;
&amp;nbsp; &amp;lt;/listener&amp;gt;
&amp;nbsp; &amp;lt;listener&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;listener-class&amp;gt;oracle.mds.lcm.weblogic.WLLifecycleListener&amp;lt;/listener-class&amp;gt;
&amp;nbsp; &amp;lt;/listener&amp;gt;
&amp;nbsp; &amp;lt;library-ref&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;library-name&amp;gt;adf.oracle.domain&amp;lt;/library-name&amp;gt;
&amp;nbsp; &amp;lt;/library-ref&amp;gt;
&lt;b&gt;&amp;nbsp; &amp;lt;library-ref&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;library-name&amp;gt;sample.shared.lib&amp;lt;/library-name&amp;gt;
&amp;nbsp; &amp;lt;/library-ref&amp;gt;&lt;/b&gt;
&amp;lt;/weblogic-application&amp;gt;&lt;/span&gt;

And, of course, remove the share lib jar file from your final EAR artifact.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/0w--HWh2nLU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/8517392130272922465/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2010/04/java-ee-library-is-easy-way-to-share.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/8517392130272922465?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/8517392130272922465?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/0w--HWh2nLU/java-ee-library-is-easy-way-to-share.html" title="Deploying an Consuming Task Flows as Shared Libraries on WLS" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://george.maggessy.com/2010/04/java-ee-library-is-easy-way-to-share.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AMRH4zeip7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-4295079157653639428</id><published>2010-03-12T08:37:00.001-08:00</published><updated>2011-09-13T04:03:05.082-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:03:05.082-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="webcenter spaces" /><category scheme="http://www.blogger.com/atom/ns#" term="site template" /><title>Mapping WebCenter Spaces Site Template</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
I had a student in the last Oracle A-Team's WebCenter bootcamp that gave me the brilliant idea of mapping all WebCenter Spaces components listed on the &lt;a href="http://www.oracle.com/technology/products/webcenter/pdf/owcs_ps1_site_template_wp.pdf" id="p0eb" title="Site Template white paper"&gt;Site Template white paper&lt;/a&gt;, available on OTN, to some Spaces' screenshots in order to help them quickly identify which component on screen is actually the one referenced in the document.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
So here goes the cheat sheet...&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;1. Login Link&lt;/b&gt;&lt;br /&gt;
&lt;div id="in37" style="text-align: left;"&gt;
&lt;img src="http://docs.google.com/File?id=ddg6gp75_120c9fj2nfx_b" style="height: 464.13px; width: 648px;" /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;2. Logout Link&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;3. Copyright Message&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;4. RSS Link&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;5. Contact Administrator Link&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;6. Privacy URL Link&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;7. Group Space Switcher&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;8. Administration Link&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;9. Page Navigation - Tab View or Page Navigation - List View&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;10. Group Space Navigation - Tabs View&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;11. Personal Space Link&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;12. Tagging Button&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;13. Linking Button&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;14. Manage Pages Link&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;15. Create Page Link&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;16. Search Box&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;17. Preferences Link&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;18. Favorites&lt;/b&gt;&lt;br /&gt;
&lt;div id="wp7q" style="text-align: left;"&gt;
&lt;img src="http://docs.google.com/File?id=ddg6gp75_121d2f5mr6f_b" style="height: 463.32px; width: 648px;" /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: helvetica, arial, sans-serif;"&gt;&lt;b&gt;19. Create Group Space Link&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div id="i32m" style="text-align: left;"&gt;
&lt;img src="http://docs.google.com/File?id=ddg6gp75_126c22f5bcj_b" style="height: 473.04px; width: 648px;" /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: helvetica, arial, sans-serif;"&gt;&lt;b&gt;20. Group Space Subscribe Link&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div id="g1db" style="text-align: left;"&gt;
&lt;img src="http://docs.google.com/File?id=ddg6gp75_122dwk4kcdj_b" style="height: 463.32px; width: 648px;" /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: helvetica, arial, sans-serif;"&gt;&lt;b&gt;21. Group Space UnSubscribe Link&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div id="x26k" style="text-align: left;"&gt;
&lt;img src="http://docs.google.com/File?id=ddg6gp75_123djptwbcn_b" style="height: 462.51px; width: 648px;" /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style="font-family: helvetica, arial, sans-serif;"&gt;&lt;b&gt;22. Group Space Email Members Link&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div id="qw1s" style="text-align: left;"&gt;
&lt;img src="http://docs.google.com/File?id=ddg6gp75_124fppvfddr_b" style="height: 463.32px; width: 648px;" /&gt;&lt;/div&gt;
&lt;div id="p:2p" style="text-align: auto;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/ivnt0BSrL6k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/4295079157653639428/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2010/03/i-had-student-in-last-oracle-team.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/4295079157653639428?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/4295079157653639428?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/ivnt0BSrL6k/i-had-student-in-last-oracle-team.html" title="Mapping WebCenter Spaces Site Template" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://george.maggessy.com/2010/03/i-had-student-in-last-oracle-team.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EBSH4_eSp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-3219584973744649152</id><published>2010-03-02T12:19:00.001-08:00</published><updated>2011-09-13T04:00:59.041-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:00:59.041-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adf" /><category scheme="http://www.blogger.com/atom/ns#" term="webcenter" /><category scheme="http://www.blogger.com/atom/ns#" term="skin" /><title>Easing the skinning process</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Skinning is not an easy thing, since there aren't many docs out there to help us with this process, let alone detailed ones. &lt;a href="http://myfaces.apache.org/trinidad/devguide/skinning.html" id="fwuj" title="My Faces"&gt;My Faces&lt;/a&gt; does a pretty good on documenting skinning, but it's almost impossible to cover every single different selector, pseudo-classes, and pseudo-elements.&lt;br /&gt;
&lt;br /&gt;
However, there is a simple trick that helps us discover which selector we need to change to achieve our desired look and feel. Basically, we only need to add a parameter in the &lt;i&gt;web.xml&lt;/i&gt; file:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: 'courier new'; font-size: x-small;"&gt;&amp;nbsp; &amp;lt;context-param&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'courier new'; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param-name&amp;gt;&lt;b&gt;org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION&lt;/b&gt;&amp;lt;/param-name&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'courier new'; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param-value&amp;gt;&lt;b&gt;true&lt;/b&gt;&amp;lt;/param-value&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'courier new'; font-size: x-small;"&gt;&amp;nbsp; &amp;lt;/context-param&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
You can do the same thing on the Extending Spaces application. Noticed that we are changing the web.xml file under CustomWebCenterSpacesWAR project:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div style="margin-left: 1em; margin-right: 1em;"&gt;
&lt;img height="313" src="http://docs.google.com/File?id=ddg6gp75_116dhnfvcdj_b" width="640" /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="margin-left: 1em; margin-right: 1em;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div id="nxia" style="text-align: left;"&gt;
&lt;/div&gt;
&lt;br /&gt;
Once you've done the change, redeploy your app and with the help of our best friend, &lt;a href="http://getfirebug.com/" id="becv" title="Firebug"&gt;Firebug&lt;/a&gt;, let's check how the selectors' name look like now.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div style="margin-left: 1em; margin-right: 1em;"&gt;
&lt;img height="318" src="http://docs.google.com/File?id=ddg6gp75_117ftjw45fx_b" width="640" /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div id="myb-" style="text-align: left;"&gt;
&lt;/div&gt;
&lt;span class="cssSelector"&gt; On the botom right panel you can see classes like .af_panelTabbed_tab, .af_panelTabbed_tab-content, and .af_panelTabbed_tab-text-link&lt;/span&gt;, which can be converted into jsf selectors using the following rule:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;.adf&lt;/b&gt; becomes &lt;b&gt;af|&lt;/b&gt; &lt;i&gt;and&lt;/i&gt; &lt;b&gt;_panelTabbed_&lt;/b&gt; becomes &lt;b&gt;panelTabbed::&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Using this simple rule, classes like &lt;span class="cssSelector"&gt; &lt;b&gt;.af_panelTabbed_tab-text-link&lt;/b&gt;&lt;/span&gt; turn into &lt;b&gt;af|panelTabbed::&lt;span class="cssSelector"&gt;tab-text-link&lt;/span&gt;&lt;/b&gt;; the same way &lt;b&gt;.&lt;span class="cssSelector"&gt;af_navigationPane-buttons_link&lt;/span&gt;:hover&lt;/b&gt; becomes &lt;span class="cssSelector"&gt;&lt;b&gt;af|navigationPane-buttons::link:hover&lt;/b&gt;. All the attributes that can be applied to those selectors follow the CSS3 rules.&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/n9NtDK-eJTM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/3219584973744649152/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2010/03/skinning-is-not-easy-thing-since-there.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/3219584973744649152?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/3219584973744649152?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/n9NtDK-eJTM/skinning-is-not-easy-thing-since-there.html" title="Easing the skinning process" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://george.maggessy.com/2010/03/skinning-is-not-easy-thing-since-there.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04FSXY-eSp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-8963347285098007293</id><published>2010-01-26T13:58:00.001-08:00</published><updated>2011-09-13T04:05:18.851-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:05:18.851-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adf" /><category scheme="http://www.blogger.com/atom/ns#" term="skin" /><title>Skinning ADF Table</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
After a long time without any posts this is going to be a pretty quick one. An SC asked me last week how to remove the header and grid from an ADF Table. Well, skinning is something not really well-documented, so I decided to quickly show how to go from here&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;img alt="Screen shot 2010-01-26 at 1.53.57 PM.png" border="0" src="http://lh3.ggpht.com/_1tC3NLkKjnU/S19kufXCHnI/AAAAAAAACOo/yr8dJuu0bVU/Screen%20shot%202010-01-26%20at%201.53.57%20PM.png?imgmax=800" /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
to here&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;img alt="Screen shot 2010-01-26 at 1.53.08 PM.png" border="0" src="http://lh3.ggpht.com/_1tC3NLkKjnU/S19ky1HgSAI/AAAAAAAACOs/osRj46xUBRA/Screen%20shot%202010-01-26%20at%201.53.08%20PM.png?imgmax=800" /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
First of all remove the header text from the columns of your table then add the following lines to your skin css file:&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;
/*Removes outer border*/
af|table {
border:none;
}
/*Removes gray background from cells*/
af|column::banded-data-cell {
background:#FFFFFF;
}
/*Removes grid*/
.AFTableCellDataVHGrid:alias {
border:none;
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
I hope this will help as a quick reference on your future implementations. For more details go to &lt;a href="http://jdevadf.oracle.com/adf-richclient-demo/faces/components/skinningKeys/index.jspx"&gt;Oracle ADF Faces Rich Client Components&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://sites.google.com/site/gmaggessfiles/gmaggess-files/ADFTableSkin.zip"&gt;Source code&lt;/a&gt;.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/5NBWtxqQeL8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/8963347285098007293/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2010/01/skinning-adf-table.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/8963347285098007293?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/8963347285098007293?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/5NBWtxqQeL8/skinning-adf-table.html" title="Skinning ADF Table" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_1tC3NLkKjnU/S19kufXCHnI/AAAAAAAACOo/yr8dJuu0bVU/s72-c/Screen%20shot%202010-01-26%20at%201.53.57%20PM.png?imgmax=800" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://george.maggessy.com/2010/01/skinning-adf-table.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AGR3w-eSp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-7764088017976150372</id><published>2009-12-09T13:59:00.000-08:00</published><updated>2011-09-13T04:02:06.251-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:02:06.251-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ucm" /><category scheme="http://www.blogger.com/atom/ns#" term="install" /><category scheme="http://www.blogger.com/atom/ns#" term="webcenter" /><title>Oracle UCM with WebLogic Embedded LDAP</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
This post is a continuation of &lt;a href="http://georgemaggessy.blogspot.com/2009/07/installing-webcenter-suite-11g-on-linux.html"&gt;Installing WebCenter Suite 11g on Linux for Development&lt;/a&gt; and &lt;a href="http://georgemaggessy.blogspot.com/2009/08/oracle-discussions-configuration.html"&gt;Oracle Discussions Configuration&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Just follow these 3 steps:&lt;br /&gt;
&lt;br /&gt;
1. Access Oracle Content server main page, if you followed my instructions it would be &lt;i&gt;http://servername:7777/cs&lt;/i&gt;, and login as sysadmin. Default password is &lt;i&gt;idc&lt;/i&gt;. Once you are logged in, go to the section &lt;b&gt;Administration&lt;/b&gt; and click on &lt;b&gt;Providers&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;img alt="Click on Providers" border="0" src="http://lh4.ggpht.com/_1tC3NLkKjnU/SspfMgbTR9I/AAAAAAAACJU/93e3vf5vjoI/Screen%20shot%202009-09-24%20at%203.43.03%20PM.png?imgmax=800" /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
2. &lt;b&gt;Add&lt;/b&gt; a new &lt;b&gt;ldapuser&lt;/b&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;img alt="Add a ldapuser" border="0" src="http://lh3.ggpht.com/_1tC3NLkKjnU/Sspgsj1S8OI/AAAAAAAACJY/XoYK2CyKk28/Screen%20shot%202009-10-05%20at%202.06.21%20PM.png?imgmax=800" /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Insert the values below accordingly. That's it.&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://lh4.ggpht.com/_1tC3NLkKjnU/SyAdSHsfERI/AAAAAAAACNQ/YDzO2lVew4I/%5BUNSET%5D.png?imgmax=800" style="max-width: 800px;" /&gt;&lt;br /&gt;
&lt;br /&gt;
I'll soon talk about WebCenter Wikis and Blogs configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="zemanta-pixie"&gt;
&lt;img alt="" class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=05300934-0cc4-81ed-b1a6-8da79768883f" /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/vP-Il0AnN88" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/7764088017976150372/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2009/10/oracle-ucm-with-weblogic-embedded-ldap.html#comment-form" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/7764088017976150372?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/7764088017976150372?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/vP-Il0AnN88/oracle-ucm-with-weblogic-embedded-ldap.html" title="Oracle UCM with WebLogic Embedded LDAP" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_1tC3NLkKjnU/SspfMgbTR9I/AAAAAAAACJU/93e3vf5vjoI/s72-c/Screen%20shot%202009-09-24%20at%203.43.03%20PM.png?imgmax=800" height="72" width="72" /><thr:total>9</thr:total><feedburner:origLink>http://george.maggessy.com/2009/10/oracle-ucm-with-weblogic-embedded-ldap.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ENSHg8cSp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-1030443336404309151</id><published>2009-09-26T10:35:00.000-07:00</published><updated>2011-09-13T04:01:39.679-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:01:39.679-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oow" /><title>Meet you at Oracle Open World 2009</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
This year I'll have the honor of presenting &lt;i&gt;Introducing Oracle WebCenter Suite 11g (S311628)&lt;/i&gt; with Vince Casarez, VP of Product Management, and Vineet Duggal, Senior Development Manager. Don't miss our presentation. &lt;br /&gt;
&lt;br /&gt;
You can also find me at the WebCenter Demopod and Handson lab. I believe Demopods are &lt;b&gt;the best&lt;/b&gt; opportunity you have to meet WebCenter Product Managers, discuss about the product and get some advices on how to implement your solution.&lt;br /&gt;
&lt;br /&gt;
If you are looking for more info on ADF, stop by at &lt;a href="http://wiki.oracle.com/page/Oracle+OpenWorld+Unconference"&gt;Oracle OpenWorld Unconference&lt;/a&gt;. There'll be lots of ADF gurus sharing their experience and demoing some pretty interesting use cases. Maiko Rocha and myself will show a Facebook and Yahoo Mail sites built on ADF.&lt;br /&gt;
&lt;br /&gt;
I'm looking forward to see you there.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/feqpn2K6A5g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/1030443336404309151/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2009/09/meet-you-at-oracle-open-world-2009.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/1030443336404309151?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/1030443336404309151?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/feqpn2K6A5g/meet-you-at-oracle-open-world-2009.html" title="Meet you at Oracle Open World 2009" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://george.maggessy.com/2009/09/meet-you-at-oracle-open-world-2009.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EGRXYzeSp7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-4236208792180001160.post-1634588537748766144</id><published>2009-09-23T00:34:00.000-07:00</published><updated>2011-09-13T04:00:24.881-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:00:24.881-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mds" /><title>MDS in a Nutshell</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
MDS or Oracle Metadata Services is one of the most unknown and misunderstood features on Oracle FMW. For most folks it is a black box. But now I want to clarify what it is about and how you can take advantage of it.&lt;br /&gt;
Being really simplistic, MDS is a repository that contains all metadata related to your customizable application. Those customizations could be:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Seeded customization. This one happens at deployment time. All customizations are carried inside a MAR file on your artifact.&lt;/li&gt;
&lt;li&gt;User personalization.&lt;/li&gt;
&lt;li&gt;Design time at Runtime, aka, Composer, aka, Business Dictionary.&lt;/li&gt;
&lt;li&gt;SOA composite application.&lt;/li&gt;
&lt;/ol&gt;
At runtime, all your customizations are retrieved by MDS and applied to the base application, revealing the final customized app.&lt;br /&gt;
A customizable application can have multiple customization layers. For instance: retail_stores and electronic_stores. Each layer can also have multiple layer values. For instance, electronic_stores can have the following values: BestBuy and Frys. Usually, we only apply one of those values at a time in runtime. Inside a &lt;a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/customize.htm#ADFFD19673" title="Customization class"&gt;Customization class&lt;/a&gt; we could check whether the user is a BestBuy or Fry's employee and apply the appropriate look and feel to the website. I promise I'll get into more details in a future post.&lt;br /&gt;
&lt;h3&gt;
MDS Structure&lt;/h3&gt;
MDS can be a file-based or database-based repository. On development environment, to avoid waste of resources, you should use the file-based version. And on production environment, Oracle strongly recommends to use a database-based version to take advantage of the many added features such as versioning and atomic transaction.&lt;br /&gt;
By default, WebCenter comes with 2 MDS repositories already setup, one for OWSM and the other for Spaces. If you are deploying a new application, in my personal opinion, it's a good practice to &lt;a href="http://download.oracle.com/docs/cd/E12839_01/doc.1111/e14259/toc.htm"&gt;create a new MDS repository&lt;/a&gt; and &lt;a href="http://download.oracle.com/docs/cd/E12839_01/core.1111/e10105/repos.htm#ASADM10114"&gt;register it on Enterprise Manager&lt;/a&gt;. Let's talk about 2 important concepts before moving to deployment: &lt;b&gt;partition&lt;/b&gt; and &lt;b&gt;label&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_1tC3NLkKjnU/SrnPXUCKsDI/AAAAAAAACHo/JswnR8zu2BU/s1600-h/Screen+shot+2009-09-22+at+11.34.26+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_1tC3NLkKjnU/SrnPXUCKsDI/AAAAAAAACHo/JswnR8zu2BU/s320/Screen+shot+2009-09-22+at+11.34.26+PM.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h4&gt;
Partition&lt;/h4&gt;
Partition is an independent logical repository inside an MDS repository. A single MDS repository can have multiple partitions and each partition can be associated with more than one application. I do not recommend this approach, because it can make your life harder while managing application's metadata. Try to keep "1 app equals 1 partition". You can create, delete, clone, import and even export a partition to move the metadata from one environment to the other (test to production).&lt;br /&gt;
&lt;h4&gt;
Label&lt;/h4&gt;
A label represents a metadata state. Inside a partition you can have many labels. If you create a new label you basically take a snapshot of your current metadata state. You can also delete labels and promote them, making an old label the current version.&lt;br /&gt;
&lt;h3&gt;
Deployment&lt;/h3&gt;
As a predeployment task you choose which MDS repository schema and partition will host your application metadata. Once you have your application successfully deployed, a label gets automatically created. It should look like this: &lt;i&gt;postDeployLabel_MyWebCenterApp_1170408561&lt;/i&gt;. If you change any customization values, such as a web service endpoint, those changes do not adhere to the current label. So, a new label needs to be created to hold the current state of the application metadata.&lt;br /&gt;
If something unexpected occurs there is alway a chance of getting back to the previous version. Remember, that MDS has a version control mechanism. The only thing you have to do is to &lt;a href="http://download.oracle.com/docs/cd/E12839_01/core.1111/e10105/repos.htm#CIHBECCC"&gt;promote&lt;/a&gt; back the previous label.&lt;br /&gt;
For more detailed information please read &lt;a href="http://download.oracle.com/docs/cd/E12839_01/core.1111/e10105/repos.htm"&gt;Managing the Oracle Metadata Repository&lt;/a&gt;.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/FwmLx/~4/mLbd8jvC71k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://george.maggessy.com/feeds/1634588537748766144/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://george.maggessy.com/2009/09/mds-in-nutshel.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/1634588537748766144?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4236208792180001160/posts/default/1634588537748766144?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FwmLx/~3/mLbd8jvC71k/mds-in-nutshel.html" title="MDS in a Nutshell" /><author><name>George Maggessy</name><uri>https://plus.google.com/100185969689778280665</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-_FRaAPcZaTM/AAAAAAAAAAI/AAAAAAAAKOg/akJczo2ZWYA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_1tC3NLkKjnU/SrnPXUCKsDI/AAAAAAAACHo/JswnR8zu2BU/s72-c/Screen+shot+2009-09-22+at+11.34.26+PM.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://george.maggessy.com/2009/09/mds-in-nutshel.html</feedburner:origLink></entry></feed>
