Categories
bdg Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

Our relationship with BEA + BEAWorld 2006

I often get asked the question: what’s your relationship with BEA?

Without lapsing into buzzword bingo (e.g. synergy), let me just say this: bdg is a BEA “Select Services Partner.” We work on our own or team up with BEA sales and service folks (and sometimes other system integrators as well) to deliver ALUI solutions to our joint customers. Recently, our partner profile was approved by BEA for publication on their web site, where you can get the scoop on what we do here at bdg.

* * *

Considering all the fun we had at last year’s Odyssey, we’re planning on making a big splash at this year’s BEAWorld, which will feature a “Portal Pavilion” to cater to all the old Plumtree customers, partners and fans.

I can’t reveal too much about our plans just yet, but we’re putting out a call to our customers for speaking opportunities and gearing up to defend our “Booth of Pain” title (should we be called upon to do so). Also, if you plan to attend BEAWorld 2006, be sure to stop by the bdg booth to pick up some goodies . . . last year it was mousepads, but this year we’re thinking along the lines of something far less pragmatic. I’ll leave it at that. . . .

Categories
bdg Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

Announcing my new dev2dev blog

I’m very pleased to announce that I’ve been selected by BEA to be one of their featured bloggers on dev2dev, BEA’s product community site for developers by developers. You can read my dev2dev blog for all the Plumtree/ALUI tips that you’re used to finding here, but continue to check this space for news about bdg.

Also, stay tuned for a new Plumtree/ALUI podcast . . . coming soon!

Categories
dev2dev Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

Hello World + Portlet vs. Native Navigation

Hello world! This is my first post on my shiny new dev2dev blog and needless to say, I’m very pleased to be blogging here and to be given the opportunity to contribute to this prestigious and active community.

That being said, I hope you’ll find my contributions worthwhile. I plan to address mostly technical topics pertaining to AquaLogic User Interaction or ALUI (pronounced ah-LOO-eee by those in the know) with the occasional foray into the business side of ALUI and portals in general. I’ve been working with the ALUI (formerly Plumtree) products now for almost 10 years, but I also know a bit about Weblogic and I want to learn more about the other products in the AquaLogic family. So watch this space for news about all your favorite BEA products!

Okay, on to the topic at hand — navigation. Once upon a time (pre Plumtree 5.0), UI customization meant hacking through layers of ASP or JSP includes to find the right file and then changing this and that and trying not to break anything. And then when upgrade time came, you somehow had to merge all your changes out of the old UI code and into the new. It was a black art at best, a total goat rodeo at worst.

Enter Plumtree 5.0, which introduced the concept of header, footer and content canvas portlets along with “pluggable navigation.” For the first time, you could code your navigation against a supported and documented API and bundle it into a separate DLL or JAR file. When upgrades came along, you simply installed the new code and everything in your old DLL or JAR just worked. The only problem was that writing a pluggable navigation was really hard.

So, in ALUI G6 (the current version), you can easily make a navigation using a remote portlet and few lines of HTML, CSS along with a few handy XML tags. However, the old pluggable navigation model is still in the product, which begs the question: how do I know what form of navigation to use (native or remote)?

A lot of times you’ll hear me say, “it depends” i.e. it depends on your goals or it depends on your architecture. But, in this case, with 100% certainty, I can say that you want to go with remote navigation. Why? Because it’s about 1000 times easier to code, maintain and deploy, you can change it on the fly and in a breeze, you can include Javascript and CSS just like you would in a normal web page, you don’t have to work with confusing HTMLElement classes, you don’t have to know Java or C# . . . need I say more?

If you’re not sold yet on the concept of remote, XML tag based navigation over native pluggable navigation, consider the following example. Say I want to get all the mandatory with tab communities and display them in an unordered list.

Here’s the native code for that:

CListURLMediator mediator = new CListURLMediator(m_asOwner,
m_model.GetCategoryLinks(NavCategoryType.MANDATORYTABS,
false));
HTMLList ul = new HTMLList(1);
while (mediator.Next()) {
  HTMLListItem li = new HTMLListItem();
  li.AddInnerHTMLElement((HTMLAnchor)mediator.GetEntry());
  ul.AddInnerHTMLElement(li);
}
return ul;

And here’s the remote code:

<ul xmlns:pt='http://www.plumtree.com/xmlschemas/ptui/'>
  <pt:ptdata.mandtabcommsdata pt:id='mandtabcomms'/>
  <pt:logic.foreach pt:data='mandtabcomms' pt:var='c'>
    <li><pt:core.html pt:tag='a' href='$c.url'><pt:logic.value 
  pt:value='$c.title'/></pt:core.html></li>
  </pt:logic.foreach>
</ul>

The code speaks for itself. (If you never have to learn what a CListURLMediator is, consider yourself lucky.) Not to mention that you have to worry about the NavType and deployment issues and that you have to restart the portal any time you make a change to your navigation code.

So, is remote, tag-based portlet navigation the solution to all your navigation needs? Not exactly. With pluggable navigation, you can control six navigation areas: the top bar, above the header, below the header, the left side, the right side and above the footer. It’s easy enough to suppress the top bar and replace the first three areas with your header portlet. Same goes for the footer. But what about the left and right sides? You can’t really replace those with portlets unless you use the two narrow columns, which leaves you with only a single portlet column for content.

So you’re in a pickle — you read this post and you’re now the world’s biggest remote navigation fan — but you can’t use them in left and right navigation. There is a solution. If you read this post in the newsgroups, you’ll see that it’s possible to write some code that will load a remote portlet into the left and/or right columns. (The only thing I would change about this code is make sure you put the portlet ID in a VarPack instead of hardcoding it.) Using this fairly simple approach, you can have your cake and eat it too.

Comments

Comments from BEA dev2dev are listed in date ascending order (oldest first)

  • were doing UI customization to modify the top nav section, but would like to move to remote portlet with tags instead for reasons you mention.
    If i understand correctly, we have to do this in header portlet. How do we enforce that that the same top nav is used across the portal if the community managers are able to change the tag code in the header portlet?

thanks
steph
[email protected]

Posted by: sviau on July 9, 2006 at 7:04 AM

  • That’s a great question and I’m glad you asked it. First let me clear something up: community managers cannot and should not change the tag code. However, they can change which header portlets are being used for the communities they manage (and thus choose a whole new set of tags or no tags at all).

    Fortunately, there’s a easy way to prevent this from happening using community templates. There’s a check box on the “Header and Footer” page of the community template that says “Force Community to use Header and Footer from Experience Definition.” You’ll want to check this box. Then, as the portal administrator, you can mandate which community templates your community managers can use. Set it up so that your community managers are forced to use the community template with this box checked and you should be good to go.

    Posted by: bucchere on July 10, 2006 at 2:38 AM

  • Hopefully this is applicable here…I am trying to brand (or customize) the title bar of a portlet(s). I have determined how to change the text on the title bar (PortletResponse.setTitle) but cannot find nothing on changing colors or adding colors to the title bar. Can this even be done? Is there a CSS class somewhere or can it be done programmatically? Thanks for your assistance.

    Posted by: jayparker on January 2, 2007 at 12:28 PM

  • This should do the trick:
    .platportletHeaderBg {
     background-color: red;
    }

    Posted by: bucchere on January 10, 2007 at 7:13 PM

  • is the remote code supported in 6.1 mp1? I attempted to run it and nothing is generated. Has mandtabcommsdata gone away? I notice it also is absent from the current edocs http://edocs.bea.com/alui/devdoc/docs60/Portlets/Adaptive_Portlets/Using_Adaptive_Tags/PlumtreeDevDoc_Portlets_Adaptive_Navigation.htm

    Posted by: geoffgarcia on October 2, 2007 at 11:26 AM

Categories
bdg Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

Mingle posted on the BEA/Plumtree Code Share

I’m very pleased to announce that Mingle, a prototype of a BEA/Plumtree Web 2.0 social networking application, has been posted on the BEA/Plumtree Code Share!

Mingle was bdg’s winning entry in Odyssey 2005’s Booth of Pain competition.

Mingle features a set of adaptive portlets that work together to help people find one another and form social networks based on personal interests, physical proximity, etc. The portlets consist of:

Adaptive User Search (JSP): each keystroke issues an EDK/PRC search API call to help people find other people quickly and easily. Clicking on a person re-focuses the Network Browser, causing the browser to center on that person’s network.

Network Browser (Java/JSP): built as a Java applet leveraging an opensource hyperbolic graphing project (HyperGraph), this portlet shows the physical connections between people and allows you to browse the network.

Featured Person Profile (JSP): when a person double-clicks on another person in the Network Browser, this portlet shows that person’s complete user profile, include all the EOD attached to that user (Name, Address, Hobbies, etc.).

Del.icio.us Hobby Links (C#.NET): when a person clicks on the featured person’s hobby of choice, this portlet makes an adaptive request to del.icio.us to download social bookmarks relevant to the hobby.

Google Map Locator (HTML/Javascript): when a person clicks on the feature person’s address, this portlet makes an adaptive request to a free geocoder and then to Google Maps to display an interactive map of the person’s address in the portal.

Mingle is bdg’s second open source offering to the BEA/Plumtree community. You can download the source and install it on your own BEA/Plumtree deployment.

Have fun, and if you run into problems, please don’t hesitate to contact us.

Categories
Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

Official transition date/time

I heard from someone on the inside that at noon on Thursday, October 20th, Plumtree officially becomes the AquaLogic devision of BEA.

Categories
bdg Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

bdg launches world’s first Plumtree podcast

I’m very pleased to announce that bdg has officially kicked off our very much irregular and irreverent Plumtree podcast!

bdg-podcastPlease download and listen to our first episode, which talks about the background of your host, yours truly, Chris Bucchere; gives a rundown of recent news in the Plumtree world including G6 features and an Odyssey recap; and ends with a trivia challenge.

See if you can be our first winner by answering the question at the end of the podcast. Enjoy!

Categories
bdg Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

Plumtree Odyssey+ADC 2005 wrap-up

With a resounding victory this morning in the Booth of Pain, bdg put the wraps on what will probably be the last Plumtree Odyssey.

We sent five people this year: me (President & CEO), Eric Bucchere (Account Manager) and Rich Weinhold (Plumtree Developer) representing the East Coast and Howie Bagley (VP Sales & Service) and Steve Markoff (Plumtree Architect) representing the West Coast. We had the opportunity to meet many of you at our booth – thank you for stopping by and introducing yourselves! In the upcoming weeks we’ll be raffling off the iPod Nano that was on display in our booth. If you asked us to follow up with you, expect to receive a follow up call or e-mail in the next 2-3 weeks.

Although the official feedback has not been tallied up yet, the talk we gave with Wind River was standing room only and I personally received lots of positive comments including one person who said that our session was the highlight of this year’s Odyssey. Another piece of feedback I got from Jack Jones of DTIC was that without our training (given in 2004), they would have gotten nowhere with their Plumtree project.

Winning the Booth of Pain competition was the icing on the cake. Despite the heat, the claustrophobic booth and numerous distractions from David Meyer (including scaling my booth, firing projectiles at me and scrawling the word “LOSER” across my booth with Silly String), I was able to compile and assemble the PTMingle application in about 25 or 30 minutes and then give a demo, which was very well received by the audience. In a humorous moment, I clicked on a del.icio.us hobby link related to “Romance Novels” and it displayed a half naked, hunky long haired dude with a cheesy smile (think Fabio). I quickly closed the window amid quite a bit of laughter from the audience.

PTMingle at this point is no more than a concept application/prototype, but expect to see the code used in the Booth of Pain competition up on the Code Share within the next few days. Plumtree data visualization in hyperbolic trees, profile integration with del.icio.us and Google maps integration are all hot topics right now and all areas of interest that bdg would like to pursue, so you should keep an eye out for more offerings from bdg that exhibit these features.

In closing, I wanted to send a resounding THANK YOU out to Yi Hong Xu of Wind River for her help with the presentation, to Mattias Cudich for plugging this blog during his Holland presentation (more on this later), to all of you who attended our presentation or the Booth of Pain, to all of you who stopped by our booth and last but certainly not least to the stellar team of bdg-ers who made this event a huge success for bdg.

On a personal note, this year’s Odyssey had a bittersweet feel for me. It was my sixth Odyssey, having attended four as a Plumtree employee, two as a bdg-er and missing just one (in 2003) and it will most likely be the last. We do, however, look forward to seeing all of you again next year at BEA World in San Francisco.

Look for more posts from me regarding the material presented at Odyssey, especially on Project Holland, which has exciting implications for future BEA/Plumtree offerings.

Categories
Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

Plumtree releases G6

Late yesterday, Plumtree announced the release of their G6 line of products. They have made everything generally available for download for partners and customers at portal.plumtree.com.

A couple things have been renamed. The Portal has become the “Foundation,” Content Server has become “Publisher,” Authentication Web Services have become “Identity Services,” Crawler Web Services have become “Content Services,” the .NET Web Controls have had the word “Consumer” tacked on the end, and the EDK (once known as the GDK), is now contained within something called the PDK. Not sure what happened to the WSRP container, but the JSR 168 container has been updated for G6 as well.

The major difference is that the Foundation product and many of the services are now entirely Java-based or entirely C#-based. This means some interesting things, including the fact that although Plumtree is only officially supporting RedHat Linux 3 ES Update 3 right now, there’s a good chance that the Java version will run (and run well) on other versions of Linux and even on Solaris or even Solaris X86.

On Windows, the support matrix includes IIS 6.0 and SQL Server 2000 SP3a.

For the non-Microsofties, Oracle 9i and Oracle 10G (with or without RAC) are supported along with Tomcat 5.0.28, IBM WebSphere 6.0.1 and of course BEA 8.1 SP4.

If you’re just silly like that, you can also run any of those configurations on Windows, but I’d have to ask you “why?!?” if you did. 😉

Major feature differences include a re-tooled (and now web-based) object migration, enhanced subportals (now called user experiences), improved user syncrhonization, enhanced Snapshot Queries and Best Best, and improved tools for integrating existing web applications into the portal.

Everyone at bdg is excited about this release and we look forward to helping our customers upgrade to the latest and greatest, starting whenever they’re ready.

Categories
bdg

bdg web site updates

We updated the web site today to include bios for Howie and Steve as well as new information about the Plumtree partnership.

Categories
bdg Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

Steve Markoff – welcome to bdg!

I am very pleased to announce that Steve Markoff, an outstanding software engineer with over 10 years of product development experience and a background in Plumtree and open source, has joined the bdg team.

Steve has already been working on a Java- and Plumtree-based product licensing application for one of our marquee customers, Wind River. He also led an effort at Boeing to develop reference documentation and performance testing plans for their Apache and Tomcat configurations.

Prior to joining bdg fulltime, Steve worked on mission-critical applications for Wells Fargo and built a distributed music encoding application for Netscape/AOL that handles millions of records and several terabytes of data. He also integrated web services and caching middleware using a Java and open source stack.

His first encounter with Plumtree was back in 2001 when he designed and built Plumtree’s bug tracking system from the ground up using SQL Server, JDBC, Java, XML, Tomcat and Plumtree. Given that his customer was the incredibly bright and demanding Plumtree engineering team, he had his work cut out for him and he did a stellar job. (I can speak from personal experience, because I used this system myself for several years.)

Prior to contracting at Plumtree, Steve built J2EE web applications on behalf of a startup company called Emerald Solutions that served customers in the gaming, outdoor adventure, and biotech industries. Prior to his startup experience, he spent almost five years working for IBM Global Services where he built client/server and web applications in Java.

Steve graduated cum laude from the CS Honors program at Hamilton College in 1995.

I speak for all of us at bdg when I say that I’m extremely excited to add Steve to our team. Please join me in welcoming him to bdg!