Archive for February, 2010

There’s A WCI App For That 1: PublisherEditor

Thursday, February 25th, 2010

Special thanks to Fabien Sanglier for giving me the idea for the title of this blog feature (where’d he come up with such a catchy line!?).  Indeed, the WCI Portal has a ton of APIs that allow extensions and customizations, and there are dozens of products, code samples, and utilities that have been developed using them; if you can dream it, there no doubt IS an app for that.  The trick is finding it.

I’ll use this feature to showcase some of ’em (admittedly, in a somewhat self-serving way).  Most will be products I’m offering or interesting throwaway apps Integryst has developed to share some ideas with you, but I am on the lookout for cool apps created by others to feature here as well.

Today’s feature is PublisherEditor 3.1, a product I’ve written over the past year that includes many features not available in the out-of-the-box Publisher Content Item Editor, resolving common issues with the out-of-the-box version of Publisher such as:

  1. Pasting content from Microsoft Word is possible without corrupting the styles
  2. Check-outs, saves, check-ins, and publishing are performed in one click, and all version history capabilities that Publisher provides are still available
  3. Styles in the rich editor are the same as the page, so there’s no guess-work on what the content will look like when it’s published
  4. Dynamically define styles, fonts, and sizes as you deem appropriate to prevent “style sprawl”
  5. Page anchor links can be created and won’t be broken on save/checkin
  6. Users don’t have to go from the HTML editor to the rich text editor to actually save content (a Publisher 6.5 bug)
  7. Images can be uploaded and actually viewed in the editor; gatewaying, relative links, and adaptive tags such as pt://images aren’t broken.
  8. Adaptive tags are not broken and are actually enhanced (rather than seeing XML you see formatted text)
  9. The HTML DOM won’t be corrupted when you’re updating the HTML
  10. Previews can be viewed in-line on the actual page the item will appear on
  11. Link to other communities, pages, and portlets by selecting them in a simple dialog box – no more copying links!
  12. Easily upload and link to files/documents for quick inclusion in the item
  13. In-line spell checker like Microsoft Word
  14. Browse existing images and files and quickly link to them
  15. Automatically refresh portlet caches so publishing items results in the content actually being updated
  16. Search, Replace, and more!

Take a look at the below video for more information, hit up the product page, and contact me if you’d like a Live Demo!

“I’m nawt dead yet!”: WCI getting some love at Oracle?

Sunday, February 21st, 2010

Woah, what’s this?  Perhaps rumors of WebCenter Interaction’s demise have been greatly exaggerated.  The Little Portal That Could seems to have gained a foothold – however slight – in an Oracle site at communities.oracle.com.

I don’t really know how long this has been available – or even if it’s an official Oracle site – and maybe you’ve already heard of it.  But I think it’s promising that at least the old AquaLogic User Interaction is getting some mindshare over at the Oracle mothership.

Ironically, this portal is still BEA’s ALUI version 6.5:

alui-6-5

.. and not Oracle’s WebCenter Interaction (10gR3).  It would have been even neater if this was a preview release of the much-fabled 11g, but I’m not complaining.  The site does look pretty interesting in an “Enterprise 2.0-y” kind of way and appears to have some neat social features such as tagging, profiles, and a much more integrated Collab (if it’s even Collaboration Server at all?).  Maybe this will some day replace that terrible flash-based support.oracle.com site?  A person can hope…

Check it out at http://communities.oracle.com/ – your support credentials should work to get you logged in:

oracle-communities

Finally, special thanks to Monty Pyton, Mark Twain, and, uh, The Little Engine That Could for providing the mixed metaphore fodder above…

(more…)

Bug Blog 2: Give the Guest user access to KD Root

Wednesday, February 17th, 2010

The Guest user in the Plumtree – and ALUI, and now WCI portal – is a mixed bag.  On the one hand, I usually advise my clients to never give this user – or the EVERYONE group – access to anything in your portal if you don’t want your information showing up somewhere it shouldn’t.

On the other hand, this advice can bite you.  Have you ever gotten an “Error displaying Dropdown menu tabs” error in the nav bar when using the JS drop-down menus?

error-displaying-dropdown

Well, in at least one case the problem is simple:  Give that EVERYONE (or at least the respective GUEST users) access to the root directory of your Knowledge Directory.  No need to give that user access to any cards or folders – just the root directory itself.  It seems the code in 10gR3 chokes if it can’t read this directory when trying to display the Directory drop-downs.  In fact, this is similar to Bill Benac’s Bug about missing footers in 10gR3 breaking the page (incidentally, I’ve run into the same problem with headers) – it seems 10gR3 isn’t quite as “forgiving” as previous versions were regarding error handling.

This quick fix should restore your menu:

displaying-dropdown

… but there are other reasons you can run into this error.  I’ve got another post pending on some other root causes of this problem (spoiler alert: give SELECT privileges to the EVERYONE group for your headers!); in it I’ll offer some instructional advice on how to diagnose the root cause of problems like this.

Opening Excel Documents from the WCI Knowledge Directory

Sunday, February 14th, 2010

I had a client report this strange issue with Excel file handling in IE7 and IE8 (and Office 2007).  Basically, every time someone would open a document, it would get cached by IE.  But the next time the person would try to open the same document, they’d get a “file is locked by user” message.  It seemed IE was caching the file in the Temporary Files folder, then when the user would click the link a second time there was a conflict between the existing file in that folder and the new one IE was trying to bring in.  I found some articles and discussions on the topic, but most came back to making changes on the client-side, which is never easy to do in an enterprise.  Even if it’s a little trickier to execute, you should always try to make changes on the WebCenter Portal side.

In this case, after downloading the Excel file the first time, I confirmed it was in my Temporary Internet Files folder:

 Temp Files

I was also able to verify that the portal was returning a “Not-Modified” header when the user tried to open this Excel document again:

not-modified

The fix I applied here?  Another BigIP iRule that turns off caching of Excel files – after the jump. (more…)

Cool Tools 2: WinDirStat

Wednesday, February 10th, 2010

Here’s a tool I can no longer go without.  The premise is simple:  it’s MUCH easier to visualize what’s using up your disk space, rather than look for it.  Enter WinDirStat.  Run this thing as a portalable app or install it, and you get beautiful looking graphic representations of your drive – complete with the ability to hover over blocks and identify what’s taking up so much space on your disk. 

Here’s a drive with a ridiculous amount of Analytics Logs on it (remember to prevent Analytics from logging like crazy with log4j configurations!):

WinDirStat

(more…)

Wall of Shame Rant: Beware Shady WCI Consultant Resellers

Saturday, February 6th, 2010

The views and opinions expressed herein are not necessarily the views and opinions of Integryst, LLC.  No, wait.  They are.

I hate spam.  Spam in my mind is like getting mugged at knifepoint for a nickel.  Sure you’re not completely destitute when it’s over, but you just feel dirty knowing that that shady character is going to turn around and keep mugging millions of others.  It’s the people that buy these goods and services that keep shady operators operating, but hey – I don’t blame you, Mr. Penis Extender Guy.  I blame the Nigerian Prince who keeps emailing me in the first place.

I had an idea last year – even registered the domain name counterattackspam.com – that is simple in its premise:  Set up a “white-hat” botnet that would launch denial of service attacks on spammers so that the next Nigerian prince gets 10 million fake bank account numbers trying to help him move his millions across international lines, submit millions of fake credit card numbers to the V1gr1a vendors to steal for their own illicit purposes, or simply launch a DDOS attack on the site to knock it offline and protect Grandma Mildred from making a mistake buying from these people.  My opinion is that if you hand that mugger a fake nickel and he gets busted for counterfeiting when he tries to spend it, the ends justify the means.  But apparently my legal counsel (thanks Bill!) advises me that there are numerous ways to run afoul of the law on this according to the Virginia Computer Crimes Act, Virginia Code § 18.2-152.1 et seq.  So, in the absence of doing anything interesting (or illegal), I submit my idea to the world for someone else to implement.

The definition of spam is a bit nebulous:  I have a lot of contacts I’ve worked with over the years.  If I email one of them an unsolicited – but personalized – message, is that “spam”?  I’d say no; it’s just reaching see how they’re doing and see if there’s any way to help them out.  If I email all of them the same form message, is that spam?  A little greyer, to be sure, and something I wouldn’t do. 

Before I get into the root of this rant, just know that there are still a lot of reputable, experienced firms out there that can help with your AquaLogic, WebCenter, or “Enterprise 2.0” needs.  I started Integryst with a specific focus on honesty, integrity, and excellent service.  And I know it sounds idealistic, but I’m just as interested in you having a successful WebCenter Integration as you using Integryst to do so.  As such, here are some other great firms who can help you out (disclaimers included):

  1. Function1 (I cofounded this company in 2007, and while I left in Jan 2009, as of this writing I still have a vested interest)
  2. PPC (I count several consultants here among my personal friends, but they’re some of the most talented people I know in the industry)
  3. Idhasoft (I have partnered with this firm on at least one proposal, and they’ve got another of my personal friends/college roommates among their ranks)
  4. Oracle (I worked for Plumtree and then BEA, leaving shortly before Oracle acquired BEA, but I still have lots of friends and colleagues there)

Want to hear the actual Rant?  Click on… (more…)

Bug Blog 1: WordPress Commenting with Large User-Agent headers

Tuesday, February 2nd, 2010

I love blogging to help others out with Plumtree / ALUI / WCI issues, and to contribute to the “The WebCenter Interaction” portal ecosystem. But I have a confession to make: A big reason I blog is to create my own reference tool. I find myself always forgetting the syntax for Remotely Rebooting Windows Servers just when I need it, or the console command to use when the number of Remote Desktop Connections are maxed out in Windows.

I know I’ve overcome challenges like these in the past, but can’t remember the command syntax or how I did it. So I do a Google search for something like site:integryst.com wordpress rather than a general search where I have to dig through thousands of responses.

My first WebCenter-related tip for this post is to use “site:integryst.com” or “site:function1.com” in your Google queries for WebCenter tips you know you’ve seen before but can’t quite remember where they are.

Secondly, I’ve been looking at integrating the WordPress blog into the WCI portal.  As of this writing, I’ve basically been getting acquainted with the technology and have gotten the UI pretty much down by simply mirroring the portal UI in WordPress.  This blog is a good example of that, as is the Health Buzz Blog (check out the blog, which is running WordPress, and click the nav links on the left, which link to the portal).  Next up for WordPress blog integration is Authentication, Authorization, and Search.

But that’s not the real reason I started this post. The real reason was that I found myself debugging a WordPress (2.8.6) bug knowing in the back of my mind that I’ve seen this before but forgetting how I fixed it. The bug is that when a user submits a comment to a blog post, the page that comes back is a 404 error and the comment isn’t recorded. Turns out – after a crash course in PHP and way too long doing diagnostics and printing debug statements – my browser has a User-Agent header that’s larger than 255 characters. This causes WordPress to fail deep in its core, and it improperly redirects the browser after a comment is posted without showing or logging any error messages.

The solution (and maybe I’ll remember this the next time I run into it without spending another hour looking for my own bug report): increase the size of the comment_agent column in wp_comments:
ALTER TABLE wp.wp_comments MODIFY COLUMN comment_agent VARCHAR(512) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

Astute readers will notice that I’m a little behind in my WordPress versions; the latest as of this writing is 2.9.1.  However, as this is as much of a test/demo environment as a “real” web site, I’m testing out WordPress MU, which is a couple of revs back due to the additional functionality: WordPress MU (multi-user) is what would allow us to provide each portal user and community with their own blogs.

Interested in getting an industry-leading blog integrated with your WCI portal?  Drop a comment here, contact me, and/or stay tuned!