<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Function1 &#187; Portal</title>
	<atom:link href="http://www.function1.com/tag/portal/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.function1.com</link>
	<description>Discussing all things portal, WebCenter Interaction, WebCenter Suite, Sharepoint, and related technologies.</description>
	<lastBuildDate>Fri, 20 Aug 2010 00:28:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>A Webcenter Interaction 10gR3 install and an Oracle 11g Database walk into a bar</title>
		<link>http://www.function1.com/2010/04/a-webcenter-interaction-10gr3-install-and-an-oracle-11g-database-walk-into-a-bar/</link>
		<comments>http://www.function1.com/2010/04/a-webcenter-interaction-10gr3-install-and-an-oracle-11g-database-walk-into-a-bar/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 19:42:51 +0000</pubDate>
		<dc:creator>Allan</dc:creator>
				<category><![CDATA[Portal]]></category>
		<category><![CDATA[wci]]></category>

		<guid isPermaLink="false">http://www.function1.com/?p=936</guid>
		<description><![CDATA[Error accessing database! Check your config files and verify that your database is correctly scripted. It&#8217;s 2 AM, and these are not exactly the calm and soothing words you want to be seeing from PTSpy after a clean, fresh  install of your WCI portal. It is frustrating, it is alarming, and above all else, did [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Error accessing database! Check your config files and verify that your database is correctly scripted.</p></blockquote>
<p>It&#8217;s 2 AM, and these are not exactly the calm and soothing words you want to be seeing from PTSpy after a clean, fresh  install of your WCI portal. It is frustrating, it is alarming, and above all else, did I mention it is 2 AM?  The prospect of re-scripting a database by hand is just ever so slightly upsetting.  So we look at little deeper at the Spy log:</p>
<blockquote><p>Exception in thread &#8220;Main Thread&#8221; com.plumtree.openkernel.exceptions.OKSQLException: Error in function PTSession.Connect (iUserID == 2, SecurityProviderInfo == null): Error in function PTSessionInfo.GetCurrentCommunityMembership (): Exception: [plumtree][Oracle JDBC Driver][Oracle]ORA-00979: not a GROUP BY expression<br />
SQL: &#8216;/* USER_COMMUNITY_MEMBERSHIPS:ANSI */ SELECT MAX(CS.ACCESSLEVEL) AS ACCESSLEVEL, C.NAME, C.ISLOCALIZED, C.OBJECTID, MC2.MEMBERSHIPTYPE FROM PTCOMMUNITIES C, PTCOMMSECURITY CS, PTVGROUPMEMBERSHIP GM, (SELECT MAX(MC.MEMBERSHIPTYPE) AS MEMBERSHIPTYPE, MC.COMMUNITYID FROM PTMYCOMMUNITIES MC, PTVGROUPMEMBERSHIP GM WHERE GM.GROUPID=MC.GROUPID AND GM.USERID=? GROUP BY MC.COMMUNITYID) MC2 WHERE GM.GROUPID=CS.GROUPID AND GM.USERID=? AND C.OBJECTID=CS.OBJECTID AND C.OBJECTID=MC2.COMMUNITYID GROUP BY C.NAME, C.ISLOCALIZED, C.OBJECTID, MC2.MEMBERSHIPTYPE ORDER BY LOWER(C.NAME) ASC&#8217;</p></blockquote>
<p><em>Red Herring Alert:</em> We wasted an hour and a half monkeying around with the Database SQL scripts and looking for an error there based on the PTSpy message above.  That&#8217;s an hour and a half we&#8217;ll never get back.</p>
<p>Luckily, you will not have to go through this pain!</p>
<p>As it turns out, the real problem isn&#8217;t a mis-scripted database, but a compatibility problem between WCI 10gR3 and some Oracle 11g database default settings.</p>
<p>The fix is as follows:</p>
<ol>
<li>To start let&#8217;s make a back up of our sensitive files just in case things go wrong (just copy them out to somewhere safe):<br />
oracle\product\11.1.0\db_1\dbs\init.ora<br />
oracle\product\11.1.0\db_1\database\iinitPLUM10.ora</li>
<li>Open sqlplus and connect as sysdba</li>
<li>SQL &gt; alter system set &#8220;_optimizer_group_by_placement&#8221;=FALSE scope=spfile;</li>
<li>Stop the Oracle service corresponding to your database SID, it will be called OracleService&lt;YOUR_SID&gt;</li>
<li>Modify the file initPLUM10.ora and change ‘compatible = 10.2.0.0.0’ to ‘compatible = 11.0.0’</li>
<li>Start OracleService&lt;YOUR_SID&gt;</li>
<li>Reset IIS (use inetmgr to handle this using a pretty interface or open a command prompt and type: iisreset)</li>
<li>Clear your browser cache</li>
<li>Visit your portal home page.<span id="more-936"></span></li>
</ol>
<p>For what it&#8217;s worth, the fix actually is documented somewhat by Oracle in the Release Notes for 10gR3 in the following statement:</p>
<blockquote><p>* Note: When running WCI with Oracle 11g with the provided initPLUM10.ora file, make the following modification: Change compatible = 10.2.0.0.0 to compatible = 11.0.0. Also, to prevent problems with &#8220;group by&#8221; optimizations when using WCI with Oracle 11g you must add the following configuration to the bottom of your init$ORACLE_SID.ora file: _optimizer_group_by_placement=false.</p></blockquote>
<p>The issue here, of course, is that if you did not read this single line addendum a little ways down in the release notes and instead you danced ahead in your portal install process the resulting error has nothing in the logs or the trace that would indicate that this is your issue.</p>
<p>Hopefully though, you are here now and have what you need to continue on. And this one author who will be paying just a little more attention to reviewing software release notes in the future, if for no other reason than to be able to go home before the birds start chirping again in the morning.</p>
<p>So here you are, you have just finished your install of Oracle WebCenter Interaction, 10g Release 3.</p>
<p>On top of that, you even opted to run the latest version of the shiny new database that Oracle has to offer, Oracle Database 11g.</p>
<p>And like a real man would &#8211; you read the instructions all along the way (<a href="http://download.oracle.com/docs/cd/E13158_01/alui/wci/docs103/map_wci_win_installguide_10-3">Oracle WCI 10gR3 installation guide</a>, <a href="http://download.oracle.com/docs/cd/E13158_01/alui/wci/docs103/relnotes/Release_Notes_Oracle_WebCenter_Interaction_v10-3-0.htm">WCI 10gR3 Release Notes</a>), meticulously &#8230; at least for Oracle products.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 436px; width: 1px; height: 1px;">
<ol>
<li>C:\applications\oracle\product\11.1.0\db_1\database\iinitPLUM10.ora</li>
<li>C:\applications\oracle\product\11.1.0\db_1\dbs\init.ora</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2010/04/a-webcenter-interaction-10gr3-install-and-an-oracle-11g-database-walk-into-a-bar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrating a Google Web Toolkit application with WCI and the imageserver</title>
		<link>http://www.function1.com/2009/12/integrating-a-google-web-toolkit-application-with-wci-and-the-imageserver/</link>
		<comments>http://www.function1.com/2009/12/integrating-a-google-web-toolkit-application-with-wci-and-the-imageserver/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 18:35:27 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[google web toolkit]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[Portal]]></category>
		<category><![CDATA[wci]]></category>

		<guid isPermaLink="false">http://wp.function1.server296.com/?p=429</guid>
		<description><![CDATA[Google Web Toolkit (GWT) is an open-source web development toolkit that facilitates building rich, Javascript-based applications entirely through Java coding. It is very useful in speeding up complex application development, as well as in multi-developer projects where Java’s static typing enforces convention across the board. Function1 has employed GWT in the development of its product [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a> (GWT) is an open-source web development toolkit that facilitates building rich, Javascript-based applications entirely through Java coding.  It is very useful in speeding up complex application development, as well as in multi-developer projects where Java’s static typing enforces convention across the board.  Function1 has employed GWT in the development of its product line and on the client site.</p>
<p>A GWT application code consists of the generated GWT static resource files (HTML, Javascript, and CSS) on the front end, and server-side service code on the middle and back end.  For performance reasons, static resource files are often deployed to the image server.  And <a href="http://code.google.com/webtoolkit/doc/1.6/FAQ_DebuggingAndCompiling.html#How_do_I_change_the_location_of_my_cache/nocache_HTML_files?">as of version 1.6, Google Web Toolkit easily allows for seamlessly changing the location of the generated GWT static resource files</a> from the default location in the war deployment.</p>
<p>If you do wish to pursue separating the generated static resources from the backing server code, there are a few steps to take.  The primary reason for this change is to avoid potential cross-domain issues that will arise from separating your resources; your imageserver may be running on imageserver.domain.com:80, while your application service might be running on appserver.domain.com:7001.</p>
<p><span id="more-429"></span></p>
<p>For this example, we’ll assume your application is called <em>formbuilder</em>.</p>
<ul>
<li>Under the <em>war</em> folder that GWT generates, you will find a folder with your application name, <em>formbuilder</em>.  Copy that folder to a target folder on the image server, such as /imageserver/RemoteGadgets/formbuilder/gwt/.</li>
<li>On the GWT entry point JSP page, you’ll make two changes.  The first is to create a Javascript variable that stores the gatewayed URL of the servlet.  The second is to change the GWT entry point Javascript reference.</li>
</ul>
<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img class="mt-image-none" src="http://www.function1.com/site/GWT%20portlet%20before.png" alt="GWT portlet before.png" width="603" height="560" /></span></p>
<ul>
<li>After the changes, your JSP will look something like the screenshot below.</li>
</ul>
<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img class="mt-image-none" src="http://www.function1.com/site/GWT%20portlet%20after.png" alt="GWT portlet after.png" width="603" height="560" /></span></p>
<ul>
<li>Finally, in the Java class that implements the EntryPoint interface, you will reference the gatewayed service URL using GWT’s <a href="http://code.google.com/webtoolkit/doc/1.6/DevGuideCodingBasics.html#DevGuideJavaScriptNativeInterface">Javascript Native Interface</a> (JNSI).</li>
</ul>
<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img class="mt-image-none" src="http://www.function1.com/site/FormBuilderApp.png" alt="FormBuilderApp.png" width="597" height="753" /></span></p>
<hr />
<p>Bonus tip: As discussed earlier in this post, Google Web Toolkit provides tools to create rich, complex web applications entirely through Java code.  GWT was built with cross-browser compatibility in mind, but not all generated HTML is treated equally.   For example, adding a widget that generates a block level element into a container that generates an inline element may result in an “Error: Invalid source HTML for this operation.” error in Internet Explorer.  When building in GWT, remember that while you are coding in Java, your output is HTML + CSS + Javascript.  As with any web application, be sure to test your GWT app in a variety of browsers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2009/12/integrating-a-google-web-toolkit-application-with-wci-and-the-imageserver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
