PSA: Avoiding Catastrophic Failure

General by jeremy on June 25th, 2010 1 Comment

The back story

I recently had the misfortune of being the victim of theft. As a frequent traveller, I keep many of my most important items (technology, travel documents, iPhone charger, breath mints) close at hand in a single bag. At a moments notice I can be out the door and on a plane to help my favorite portal customer. This particular theft reminded me that no matter how much I back up important documents, it doesn’t stop someone from stealing the physical backup media.

Years of experience (i.e. viruses, windows crashes, drive failures, drink spilling, and fumbles) have taught me to always backup. I carry an external harddrive along with my laptop that has a backup of my most important personal and professional documents. For the critical items, I also have a solid state media (flash drive) just to be sure. To make travel easier, I usually have said backup devices parked right alongside my laptop for easy access.

GASP!!! You could hear a pin-drop when I realized someone had decided my bag was much better looking in his/her possession. My immediate disgust wasn’t because of the $2,000+ worth of electronics I would have to replace, but the information on those devices. Countless hours of design, development, and documentation work were suddenly gone.

Read more »

Tags: , , , , , ,

Meta-Post #1: A Blog Post About Blog Posts

Function1 by Brian Hak on May 1st, 2010 2 Comments

I’m randomly up early on a Saturday morning and decided to use the time to put out this week’s belated blog post.  There are a bunch of things I probably should be writing about (including the WCI->Sharepoint migration tool we’re building…look for more info soon), but it’s before 8 AM on a Saturday, and I’m just not up for writing about technology.  So instead, you get this: a blog post about our blog posts.

One of the reasons I left BEA was because I was tired of the big-company atmosphere.  Tired of the bureaucracy, of just being a number, of the corporate politics, and all the cons that come along with the positives of working for a large organization.  All in all, I felt like being at BEA was just kind of blah.  There wasn’t any corporate culture, and I didn’t identify with the company.  Maybe these things aren’t that important, but I think they are.  And it’s something we’re cognizant of at Function1: corporate culture and identity matter.  It’s an interesting challenge to build a consulting company in which employees feel part of a bigger whole, and not just off by themselves in Anytown, USA billing hours.  Likewise, deciding how you present your company to the outside world is an intriguing question to ponder.  How do you differentiate yourself from the approximately 1.27 gazillion other nameless consulting companies out there?  How do you want customers, partners, potential hires, and the general public to perceive your company?  Hard questions to answer, but my gut tells me that the best answer is to present your company honestly, as you are.

Which brings us to the crux of today’s post.  There’s been a long-standing on again/off again discussion amongst our circle of professional friends about the style and tone of the Function1 blog.  Some people like it, and some people think it’s not professional enough.  My take is this: other than our people,  this blog is the most consistent public-facing component of Function1.  And it’s an honest reflection of who we are.  We’re a small company that’s damn good at what we do, and we have fun doing it.  We work hard for our customers and ourselves, but we don’t take ourselves so seriously that we can’t have a good time.

Read more »

A Webcenter Interaction 10gR3 install and an Oracle 11g Database walk into a bar

Portal by Allan on April 23rd, 2010 No Comments

Error accessing database! Check your config files and verify that your database is correctly scripted.

It’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:

Exception in thread “Main Thread” 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
SQL: ‘/* 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’

Red Herring Alert: 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’s an hour and a half we’ll never get back.

Luckily, you will not have to go through this pain!

As it turns out, the real problem isn’t a mis-scripted database, but a compatibility problem between WCI 10gR3 and some Oracle 11g database default settings.

The fix is as follows:

  1. To start let’s make a back up of our sensitive files just in case things go wrong (just copy them out to somewhere safe):
    oracle\product\11.1.0\db_1\dbs\init.ora
    oracle\product\11.1.0\db_1\database\iinitPLUM10.ora
  2. Open sqlplus and connect as sysdba
  3. SQL > alter system set “_optimizer_group_by_placement”=FALSE scope=spfile;
  4. Stop the Oracle service corresponding to your database SID, it will be called OracleService<YOUR_SID>
  5. Modify the file initPLUM10.ora and change ‘compatible = 10.2.0.0.0’ to ‘compatible = 11.0.0’
  6. Start OracleService<YOUR_SID>
  7. Reset IIS (use inetmgr to handle this using a pretty interface or open a command prompt and type: iisreset)
  8. Clear your browser cache
  9. Visit your portal home page. Read more »

Tags: ,

Function1 Welcomes Spheric to the Team

Function1, General by Brian Hak on April 15th, 2010 1 Comment

Howdy all. This post is a bit late in coming, but exciting for me to share none-the-less. Function1 is pleased to announce its acquisition of Spheric Technologies. I could blabber on about what this means to us, our customers, and our loyal blog readers, but I’ll spare you all the pages of dialog and just give you a link to the press release (our first, so you know it’s a big deal) and copy/paste the announcement that’s live elsewhere on our site. To our our friends from Spheric….aloha, we’re happy to have you on board.

Please join us in welcoming Spheric to the Function1 family. This acquisition increases the value we deliver to customers and partners by leveraging the combined experience and expertise of both the Spheric and Function1 teams. We know many of you are wondering what this means, so please read on for more information.

Read more »

On Music and Using WCI as a Corporate Communication Tool

Portal by Brian Hak on April 8th, 2010 2 Comments

Since the age of 12 or so, I’ve had an on-going love affair with music. You know that scene in Almost Famous where William is going through the record collection his sister left him and is just blown away by the realization that all this music exists?

Yeah, I had one of those moments, except it was with my parents’ record collection, and the hippest LP they had was Bob Dylan’s Greatest Hits Vol. II. Still and all, I can remember exactly the time lying on my bed flipping through an Uncanny X-men, and listening to Bob Dylan’s scratchy voice on scratchy old vinyl: the windows were open, it was spring. Who knows, it’s entirely possible that I’m over-romanticizing the memory, but after that random afternoon, I was all about music. I took up the piano and guitar, with varying degrees of success, and did my best to find new songs to put on mix tapes for friends.

Read more »

Tags: , ,

Terms of Endearment – Part 1: Understanding High Availability

Uncategorized by Sandeep Khaneja on April 1st, 2010 2 Comments

Hello Everybody…so this is my first post of a multi-part series of topics covering terms that are often misused or generally confusing. There are a number of topics I want to cover at a general 101 level before looking at each in more detail during a 202 series.

So without further a dieu, those of you that have had the pleasure of working with us may already know that for some reason people confuse Vasanth for me, and vice versa. While we are both awesome people, I assure you we are in fact different people with different parents that aren’t even related to each other.  Never the less, some people may still expect me to respond if you call me by his name. Clearly this is some funky use of logic. Interestingly enough, that same logic seems prevalent with regard to technology terms. Say one word, mean another.  This post is about the difference between Redundant, and Highly Available.  Much like Vasanth and I, these terms are quite different from each other.

Tags: ,

WCI Search Overload Syndrome

Portal, Search Server by Vasanth Manikumar on March 26th, 2010 1 Comment

Recently, one of our customers asked us to help them improve the search experience for their 6.5 portal users, and before I could even think about the problem, the first thing that popped in my mind was this:

Read more »

Tags: ,

Everything Maven Part 2 – Twitter Portlet

Cool Tools, Development, Portal, Portal Server by Dave on March 18th, 2010 1 Comment

A few weeks ago I wrote about reasons why you might want to invest some time in learning and using maven: “Everything maven Part I”. Now it’s time to roll up our sleeves and get down into guts of maven. In this article, I’ll describe how you can use Maven to build and deploy a WCI portlet using the IDK. The portlet will connect to Twitter and return all your followers’ latest tweets.

Step 1: Install Maven

Here’s a link to the official maven2 installation guide. Here are the steps I used to install on my windows laptop: Read more »

Tags: , , , ,

“Just When I Thought I Was Out, They Pull Me Back In”: A Belated Welcome To Dave Paroulek

Function1 by Brian Hak on March 11th, 2010 No Comments

Look, I think we can all agree that The Godfather III sucked, and was a black mark on an otherwise amazing trilogy. The one (and probably only) highlight of the movie was Pacino giving us the sound-bite, “Just when I thought I was out, The pull me back in!”. And so we welcome Dave Paroulek to the Function1 team.

As you may or may not know, the WCI professional services world isn’t all that big. Your options for finding quality consultants are pretty much either: Oracle (for an un-godly hourly tab), us, or a couple of other firms with WCI expertise. The small resource pool of qualified WCI consultants means that when we’re looking to bring new folks on board, we start by talking to people we’ve worked with in the past (usually at Plumtree/BEA/Oracle). These folks are a know quantity, and we know they’ll represent Function1 well and make our customers happy. Such is the case with Dave. Dave is another long-time Plumtree->BEA->Oracle guy who took a little different career path than the rest of the Plumtree alumni at Function1. He put his time in working for Plumtree Public Sector professional services, and then moved onto the BEA Services Engineering team. In this capacity, Dave was focused on designing, developing, and delivering WCI add-on software directly to customers. But his development experience doesn’t stop there. About a year and a half or so ago, Dave left the mothership and took a full-time gig doing software development (specifically, playing around with GWT).

Read more »

A Real World Example of PT Tags

Development, Portal by jeremy on March 4th, 2010 1 Comment

If Aqualogic PT Tags were a character on MTVs Real World, it would surely be the difficult to understand, moody, and unpredictable one. Part of the misunderstanding comes from the cryptic tag library documentation and general lack of real world examples.

PT Tags give you the ability to use out-of-the-box coding logic within simple HTML pages. With a little patience and a slightly different way of thinking about logic flow, PT Tags can be an inexpensive answer to your UI problem.

Function1 has been “roomies” with PT Tags for quite some time, and we love our often confusing friend. To help educate our readers on PT Tags, here’s an example of solving a joined communities tag problem for portal navigation.

Read more »

Tags: , , , , , , , ,