Posts Tagged ‘Bug’

Fix WCI Publisher Search with a simple tweak

Saturday, October 11th, 2014

Ever seen this error in WebCenter Publisher when using Friendly URLs?

INFO | ERROR java.lang.StringIndexOutOfBoundsException: String index out of range: -1
INFO | ERROR at java.lang.String.substring(String.java:1768)
INFO | ERROR at org.apache.jsp.published_005ftools.search_jsp._jspService(search_jsp.java:101)
INFO | ERROR at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
INFO | ERROR at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
INFO | ERROR at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)

Yeah, it’s not the first time that Friendly URLs breaks existing functionality, and like that Excel issue, fortunately the fix is pretty easy. Basically, you’ll need to open up the ptcs.war file and edit the /published_tools/search.jsp file in there. Specifically, there’s a section that looks like this:

       String baseURL = (cspRequest.getReturnURI().toString());

       //SE-VV: 57027 - With the recent portal code changes in Merced, the string "gateway"
       //is not present in the baseURL anymore. As a workaround, we instead look for "?" so that index is a 
       //non-negative integer. Now, when we search for a CI from within a news portlet, it'll take us to
       //the correct search results page instead of throwing an error.
       int index = baseURL.indexOf("gateway");
       if(index < 0){
              index = baseURL.indexOf("?") + 1;
       }
              baseURL = baseURL.substring(0, index - 1);

(more…)

WCI 10gR4 (10.3.3) won’t work without a hotfix

Tuesday, October 7th, 2014

I was recently helping a client upgrade from Plumtree 5.0.4 (!) to WebCenter Interaction 10gR4 (aka 10.3.3), and after running through all the DB upgrade scripts, the classic navigation was still showing this error:

Error displaying the Category tabs: -2147205114 – Invalid community id provided: 123 . The community does not exist or the user does not have access to it.

The strange thing about the error was that the “Community ID” shown in the error message is actually the ObjectID of the first PAGE in the community, not the community itself.

wci-10gR4-hotfix

After doing all the standard debugging and ruling out the DB upgrade scripts, it turns out that this is a known issue (KB article 1422352.1, Bug 13775312 – login required). It is resolved with Hotfix 14745949 (login required), which addresses other issues such as:

  1. UNINSTALLING ONLY AUTOMATION SERVICE CAUSES THE PTPORTAL DIRECTORY TO BE REMOVED (Issue 14745949)
  2. FIX FOR BUG 9691984 CAUSES PERFORMANCE DEGRADATION IN AUTH SYNC (Issue 14565631)
  3. COMMUNITIES WITH MORE THAN ONE PAGE WILL ERROR IN CLASSIC UI (Issue 13775312)
  4. ORACLE WCI PORTAL CANNOT COMMUNICATE WITH PORTLET REMOTE SERVER VIA SSL (Issue 13332531)
  5. PORTAL MEMORY LEAK IN SEARCH CLIENT – BASIC/ADV SEARCH, SNAPSHOT QUERIES (Issue 12988569)
  6. HTTPSTREAMPARSER CANT FIND END OF RESPONSE HEADERS CAUSING NETWORK FAILURES (Issue 12677959)
  7. HIGH CPU USAGE FROM QUERYD WHEN ONE OF THE NODES IS RESTARTED (Issue 12578166)
  8. ENABLE FUNCTION TRACING AND CLEAN UP LOGGING FOR FUTURE EASIER DEBUGGING (Issue 12382745)
  9. ADVANCED LAYOUT EDITOR: WIDE PORTLETS ARE NOT ACKNOWLEDGED IN ONE-COLUMN LAYOUT (Issue 10199005)
  10. LDAP PWS SYNC JOB PERFORMANCE AND STABILITY IMPROVEMENTS (Issue 7822564)

Happy New Year 2013! Y2k13 bug time…

Thursday, January 3rd, 2013

From your friends at Integryst, Happy New Year!

It’s been a while since I last posted, and thought an appropriate way to kick off the new year was to share a Y2k13 bug in WebCenter Interaction. Well, it’s not a bug per se, but way back in the augts, 2013 seemed a long way away. So the wise developers at Plumtree, when faced with choosing a date infathomably far in the future, chose January 1, 2013 as the hard-coded expiration time for Automation Server Jobs:
wci-create-job

This means two things: First, when creating jobs on your ancient WebCenter Interaction/Aqualogic User Interaction/Plumtree portal, you’ll have a couple more clicks to set the “Do Not Run After” value sufficiently far in the future, or you’ll get an error saving the job because the expiration time is in the past. (2015 is plenty far, right? If you’re not feeling that lucky, I suggest 2099 so your grandkids can worry about the Y3k bug).

The second thing it means is that many of your jobs probably stopped running three days ago, because when you created them you probably left the default value in there for the expiration time. There’s no quick fix for this, but after the break I’ll share some tips on how you can reschedule these jobs. (more…)

Bug Blog 13: Fix Broken File Downloads in 10gR3 (Part Quatre)

Tuesday, October 25th, 2011

When WebCenter Interaction 10gR3 was released, it was a complete train wreck for documents in the Knowledge Directory – the content headers were wrong, docs wouldn’t download in Internet Explorer due to the comical back-asswards Javascript file open mechanism, and links couldn’t be copied or viewed because the anchor tags were malformed.

In our last post in this painful series, I shared some code that will resolve the ALUI / WCI Knowledge Directory links so that users can right-click and copy the links, and the files open as expected when clicked.

Since then, I’ve found that when an admin is in EDIT mode in the Knowledge Directory, the link calamity continues, and a completely different and incomprehensible linking mechanism is used. So for your reading pleasure today, I’ll update that post to handle edit mode as well as browse mode. Again, just add the following HTML to the footer used in your Knowledge Directory (depending on Experience Definition, there may be more than one):
(more…)

Bug Blog 12: ALUI Publisher Doesn’t Work in IE9

Wednesday, June 1st, 2011

Now that we’ve picked on Plumtree Studio for a while, let’s direct our attention back to WCI Publisher for a moment, shall we?

If you are one of the 2.9% of the general population (as of April, IE9′s first full month on the market) that use Internet Explorer 9, and also use AquaLogic Publisher – a product that dates back to the Plumtree days and is in dire need of another upgrade – you’ve no doubt noticed it no longer works in IE9:

HTTP Status 404 – /ptcs/
——————————————————————————–
type Status report
message /ptcs/
description The requested resource (/ptcs/) is not available.
——————————————————————————–
Apache Tomcat/5.0.30

Why? Hell if I know. Seriously, I have no idea. Publisher’s Javascript code is some of the most convoluted I’ve seen in a while.

But, all is not lost! I spent (way) too much time with Internet Explorer’s Developer Tools, comparing IE8 and IE9 URLs and stepping through Javascript on each to tease out what the difference was between the two of them. I found that when IE9 breaks, the URL doesn’t have a CID – it shows something like:

http://portal.integryst.com/ site/integryst.i/gateway /PTARGS_0_200_347_0_0_43 /http%3B/localhost%3B7087 /ptcs/navigate.jsp

… instead of:

http://portal.integryst.com/ site/integryst.i/gateway /PTARGS_0_200_347_0_0_43 /http%3B/localhost%3B7087 /ptcs/navigate.jsp? cid=e35977c1-2df0-417d-abd9-3c3f5f56657b&fbr=1306030533426

But, the problem seems to occur in JavaScript way before the URL is actually generated in Javascript. Specifically, I kept seeing this exception when stepping through the Publisher script:

While I don’t profess to have delved into the depths that is Publisher Javascript insanity, it was clear that this line caused the page to mis-fire and show the above error.

The fix? Open up \imageserver\imageserver\plumtree\content\private\js\hablador.js and change this:

SessionVars.prototype.toString = function() {
	return this.staticVars.toString();
}

… to this:

SessionVars.prototype.toString = function() {
	try {
		return this.staticVars.toString();
	}
	catch (err) {}
}

That way, whatever crazy error it is that happens in this third level of hell doesn’t burn the rest of the code that generates the proper URL. Net result: Plumtree Publisher lives for another day in Internet Explorer 9.

Bug Blog 11: Analytics doesn’t export Document Details

Thursday, April 7th, 2011

We’ve discussed WCI Analytics many times in these posts, and have covered quite a few bugs and patches. This post has all of that drama; so join me! You’ll laugh, you’ll cry. You’ll buy the book.

Every now and then, products in the WebCenter Interaction stack have a bug. And occasionally, Oracle releases a fix for said bug, and things are right with the universe again. But, once in a blue moon, that patch disappears when then the next version of the product is introduced. Such is the case with the “WebCenter Analytics Documents Report Export May Return Different Report [ID 783591.1]” issue.  The patch addresses this problem:

If you choose to “Export User Detail” for the “Other Metrics” section, “Documents” tab report, the results from a different report will be exported.

Or, more succinctly: if you export the User Detail report in Analytics for Collab Documents, it will not actually include document details.  The feature worked in the Aqualogic days, so what’s the deal now?  Well, the story is that you used to be able to export that report properly, then it was broken in ALI Analytics 2.5.  Oracle released a hotfix in 2.5 to repair the issue last year, and their release notes for the patch say to install patch 8198674, or upgrade to Analytics 10.3.

Problem is: the patch that worked for Analytics 2.5 isn’t applicable to 10.3, and 10.3 doesn’t include the patch.

Solution?  I’ll spare you the details of this pretty complicated trick, but at a high level, you need to:

  1. Download this fixed version of BaseCollabServerDataProvider.class, add it to analytics-webui.jar, and put that back into analytics.war.
  2. Add this line to the ptanalytics\10.3.0\settings\config\wrapper.conf file:

    wrapper.java.additional.21=-Dcom.bea.analytics.CollabInfoAtDocumentLevel=true

  3. Reinstall the service (see the patch release notes)

As shown in this source code diff, this class just defines the original “dimensions” in Analytics that include the document details:

This will cause your “export user details” report to change from this:

… to this:

Release notes for the patch after the break…
(more…)

Java 1.6.0_24 Breaks Collaboration Server Bulk Upload

Thursday, March 24th, 2011

If you, like me, were foolish enough to upgrade your Java Runtime Environment to 1.6.0_24 (I mean, REALLY, who DOES THAT!?), then you’ve likely found that Bulk Upload (and possibly WebEdit) no longer work in WCI Collaboration Server.

Why?  This post by gimble2 about sums it up:

Java is under new management. Sun was very strict in keeping backwards compatibility; I wouldn’t be surprised if Oracle takes the policy of security first, compatibility second.

Indeed, this is a big problem because Java 1.6.0_24 lies to users:

Unrestricted Access, huh? Bullsh*t.

You can confirm this by viewing the Java Console when trying to run Bulk Upload:

There you’ll likely see an exception like this:

Java Plug-in 1.6.0_24
Using JRE version 1.6.0_24-b07 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\Administrator
Exception in thread “Basic L&F File Loading Thread” java.security.AccessControlException: access denied (java.io.FilePermission C:\Documents and Settings\Administrator\My Documents read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
(snip)
Exception occurred during event dispatching:
java.security.AccessControlException: access denied (java.io.FilePermission C:\Documents and Settings\Administrator\My Documents read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
(snip)
at com.plumtree.collaboration.app. bulkupload.BulkUploadApplet. chooseFiles(BulkUploadApplet.java:191)
at com.plumtree.collaboration.app. bulkupload.BulkUploadApplet. access$100(BulkUploadApplet.java:15)
at com.plumtree.collaboration.app. bulkupload.BulkUploadApplet$ 1FileChooserDisplayer.run (BulkUploadApplet.java:329)

at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1. doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

(more…)

Bug Blog 10: NTCWS doesn’t work with .NET 2.0

Tuesday, March 22nd, 2011

Today’s post is a quicky:  if you are installing WebCenter Interaction NTCWS (NT Crawler Web Service), you can test the service by navigating to http://NTCWSSERVER/ntcws/ContainerProviderSoapBinding.asmx, and you should see something like this:

If you get something like this, though:

Server Error in ‘/ntcws’ Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: The configuration section cannot contain a CDATA or text element.
Source Error:
Line 37: <appSettings>
Line 38: <!– 4.5WS Portal or not? Effects clickthrough and admin preferences. Acceptable values are 1 and 0. 0 implies a 5.0+ portal. –>
Line 39: 0

… you’re likely running the service with .NET 2.0 instead of 1.0.  The simple fix is to update ntcws\10.3.0\webapp\ntcws\web.config and change:

<add key="Is45Portal" value="@IS_45WS_PORTAL@">0</add>

to:

<add key="Is45Portal" value="0"/>

Happy crawling!

WCI Collaboration Server Not Working in Office 2010

Tuesday, March 15th, 2011

I’ve blogged a LOT about Collaboration Server, and have spent countless hours fighting with the WebEdit features – it’s the “bane of my existence“, a term I used because I thought “crime against humanity” was a little too strong.  More often than not I’ve thrown up my hands and said “sorry, fella, nothing to see here – it just plain don’t work”.  The problem is there are a near-infinite number of combinations, between the different versions of:

  • Plumtree / ALUI / WebCenter Interaction Portal (6.1, 6.5, 10.3.0, 10.3.0.1, 10.3/Neo)
  • Collaboration Server (4.2, 4.5, 10.3.0, 10.3.0.1, 10.3/Neo)
  • Windows (XP, Vista, 7), plus various patches
  • Office (2003, 2007, 2010), plus various patches
  • Application Servers (IIS, WebLogic, Tomcat)
  • Web Browsers (IE7 and IE8 – good luck if you have IE9, FireFox or Chrome)

Officially, Oracle only supports the following for WebEdit with version 10.3.0.1 – the latest publicly available version: MS Office 2003 on Windows XP SP2; MS Office 2007 on Windows XP SP2. No Office 2010, no Windows 7. Even Office 2007 is patchy at best.

I’d heard enough complaints, and decided to dig in and try to figure out why one very specific combination doesn’t work: Office 2010 running on Windows 7 against an IIS 6 .NET portal running WebCenter Collaboration 10.3.0.  Here’s what the out-of-the-box install shows when trying to save a file opened through WebDAV:

Your changes were saved but could not be uploaded because of an error.  You may be able to upload this file using the server Web page.

Having not accepted that it was impossible to get WebDAV working in Office 2010, I’ve spent countless hours reverse-engineering Office’s WebDAV protocol, WebCenter Interaction gateway calls, Apache Tomcat protocol handling, and everything in between.

Based on my research, this hack may be helpful for other versions of Office, Windows, and Collab, but I can’t even guarantee the hack I’ll discuss in the next couple of days is perfect, even with these very specific versions.  Proceed at your own risk, and drop me a line if you’d like to discuss your specific situation.

(more…)

WCI Community Cache-building woes: Give Everyone access to your headers

Sunday, March 6th, 2011

A year ago (wow – time flies!) I promised to elaborate on some other causes of the “Error displaying Dropdown menu tabs” error in WebCenter Interaction headers (which didn’t seem to affect the Plumtree or ALUI versions that predated it).

Well, it’s time to do some more ‘splaining: In most cases I’ve seen, this has to do with the fact that the current user (guest or authenticated) doesn’t have at least SELECT access to the header portlet.  So, if you’re just looking for the executive summary of this post, the first thing to check is whether EVERYONE has at least SELECT access to the header portlet.

Ms. Cooper (my made-up 8th grade algebra teacher) always told me: “Show your work“.  Hell, even if I got the right answer the old bag would still dock me points if I didn’t.  [Before you get offended, note that I can say that because Ms. Cooper is a figment of my imagination - I have great respect for the entire teaching profession and especially every teacher I've ever had that wasn't made up.  I would never refer to any of them as an "old bag".]

So, let’s show the work:
(more…)