This long page displays (nearly) all the contents of this site as of 05/28/20. This is particularly useful for those interested in printing the site or interested in reading it all without having to move through the standard navigation bar.

Webcenter / Aqualogic Interaction / Plumtree ConsultantSection: index 

Welcome Archaeologists and Historians. Please note:

  • Since 2001 this site has been essentially unchanged.
  • To find details of my recent work, visit my blog.
  • Recruiters, I seek no new opportunities, so please do not contact me.

In 2001 I created this site to promote my services as a Plumtree consultant and web developer. After successful independent consulting, Plumtree invited me to join its team in 2003. BEA bought Plumtree in 2005, and the latter's product was rebranded Aqualogic User Interaction. Oracle bought BEA in 2008, and the product was rebranded Webcenter Interaction. Oracle wasn't the type of company I would join deliberately, and in 2011 I moved to Boeing's portal team.

My resume is years out of date, updated in 2005.

Enjoy your visit.

Bill Benac


Plumtree PortalSection: latest 

A trend has been for companies to use enterprise portals to manage their diverse IT content. Portals present users with personalized information and bring content from multiple backend systems into a single interface. Plumtree is arguably the premiere portal vendor, and it is on Plumtree's software that have been working since September of 2000.

I am currently responsible for creating SPL Worldgroup's portal. I built a demo portal to gain senior management's buy-in, then I built the production portal, including customized integration with Lotus Notes and Siebel. Read the overview of this project that began in September 2002 and continues to the present (March 2003).

I worked with Arthur J. Gallagher & Co, a $3 billion insurance company, as its Plumtree specialist as the company designed and implemented its portal. You can read more information about this project in which I assisted the development team work most efficiently with Plumtree. This project was from March 2002 to July 2002.

I was responsible for all aspects of installing, deploying, and maintaining's Plumtree portal, SCIview. You read the overview of that work that began in September 2000 and continued full-time until October 2001.

SPL Worldgroup OverviewSection: latest 

SPL Worldgroup is a software vendor with a dozen offices around the world. It wanted a portal to make information more visible to employees across offices. SPL's Enterprise Applications group selected Plumtree as its portal framework, but it needed to convince senior management to support its vision.

I was selected by SPL as its Plumtree specialist and lead developer for the project. I was brought in at the end of September 2002 to put a demonstration portal together in a two week timeframe. The demo was populated with the gadgets, publications, and communities envisioned for the production environment. Senior management was excited by what it saw.

SPL then gave me two months as lead developer to create a pilot portal to rollout to offices in the US and Australia. Again, the company was excited by the results, and it rolled out the portal to additional offices ahead of schedule. In the subsequent months I continued to assist in decisions about the system and to meet more business needs through portal development. My accomplishments included the following:

  • Created a gadget building system allowing non-technical community managers to create gadgets with highly customized appearance, links, and behaviors. Documented system and trained users in its use.
  • Created a news publishing and archiving system for non-technical users.
  • Modify Plumtree's Lotus Notes integration to allow access through Plumtree's document security model to Notes content from servers otherwise inaccessible to users.
  • Initiated redesign of SPL's Plumtree server configuration to improve reliability and make better use of Equalizer load balancer.
  • Led the design of a system to allow previously unrelated IT systems to access user information from each other.
  • Integrated Siebel CRM system information into portal, accessing Siebel's own security through the gadget to identify what information the gadget should display on a user by user basis.
  • Selected and customized an open source helpdesk system to meet SPL business needs and integrate with Plumtree's user database. SPL had asked me to build a system from scratch, but I recommended this, thereby saving weeks of development time.
  • Created administration tools to audit security and configuration of portal objects such as gadgets, crawlers, and folders.
  • Trained a second developer to build Plumtree gadgets.


Portal for Insurance BrokerSection: latest 

Arthur J. Gallagher & Co, one of the worlds largest insurance brokers and on track to have $1 billion in revenues this year (2002), has decided to address the communication needs of its employees and customers through a portal.

For the months of March through July, I consulted with AJG to help its team of developers efficiently excel in its portal development. After helping the other developers become familiar with the Plumtree environment, I focused on building a suite of Plumtree gadgets for web content management and content publishing. This system included:

  • support for multiple authors
  • an article approval process
  • email alerts for approvers
  • article versioning and rollbacks
  • a template system
  • and of course, more

Major elements of the AJG deployment include:

  • Reworking the structure and functionality of the Plumtree user interface, for example, extending the gadget registration to customize features and rendering of gadgets.
  • Creating a security framework that greatly extends Plumtree's built-in features to allow more granularity of user rights while reducing user administration
  • Creating web-based content editing and approval processes
  • Creating collaborative workspace for employees and clients to more easily and quickly move through the forms and information tied to the insurance industry OverviewSection: latest 

From September 2000 until October 2001, I was webmaster at a software company called Thereafter, I continued to contract to the company periodically for upgrades, modifications, and troubleshooting of its Plumtree portal.

Internal Work--I was primarily responsible for developing and maintaining resources to facilitate the work of others in the company. When I began in September of 2000, my primary concern was to install and deploy its Plumtree portal. Part of this project was to transition the previous intranet content into the portal environment. Highlights of this project included:

After I finished that project, my role with regard to the portal turned to one of maintenance and tool creation. I built web applications usually with ASP code on a SQL Server 7 database to streamline many tasks related to content creation, modification, and retrieval.

External Work--The public web site was a project of the marketing department that I became involved with in the second half of my full-time employment with When marketing reduced its staff, it turned the technical aspects of the site over to me. I converted the site from inconsistently coded HTML pages into easy to maintain ASP pages. I added tools to help monitor and interpret customer's interactions with the site, and I created tools to make outbound communication easier for marketing.

Team is interesting in that none of its locations has the majority of its staff. In addition to working well with those located in the same office as me, I had the chance to build positive working relationships with other employees who in many cases I never met face to face. I was successful in these relationships to the point that my employer allowed me to work remotely for many months, all the while being pleased with my team participation.

Web Application DevelopmentSection: latest 

I independently and often at my own initiative built many web applications for A few of the most interesting ones were:

  • Mailing List
  • Crisis Tracking System
  • News Submission and Management System

Mailing List--I made a Windows-based mailing list for's marketing group to use. This application's development goals included:

Subscribers receive confirmation links with cryptic passwords in their query strings to ensure that users can only modify subscriptions for their own address. The administrative interface gives visibility into not only how many users are subscribed but also on where users are in the subscription or unsubscription process. For the company's marketers, I created pages that send HTML and text versions of the newsletter using the multipart/alternative content-type. The tool does not accept messages that use HTML unsafe for email distribution.

Crisis Tracking System--At, occasionally a matter would arrive on the priority list that had not been planned. The code word for such an incident was a "crisis." A crisis could take days or months to resolve depending on its nature. The information relating to a given crisis often had been spread through various e-mails and was generally hard to manage. The team responsible for crisis tracking and I had a conference call during which I was given a wish list of features. The tool I built includes:

News Submission and Management System--Perhaps the most updated section of's portal was the What's New section used for posting news items. Initially, all posts were separate HTML files. However, it was cumbersome when each new posting required one to create the new file, update the news page's links and content, and so forth. I built a news tool with an entry form for standard users wanting to submit items for review as a news post. I used DHTML to create the appropriate form for the user's needs based on answers to questions. The forms allow input of either the full content of an article, a simple paragraph as an introduction to what was being linked to elsewhere, or a simple blurb with no link. Users submitting full articles can use Javascript buttons that help them write correct HTML for their posting. On submission, site administrators are emailed an alert of the posting with a link into the administrative interface where they can accept or reject the posting. Another administrative tool edits past articles and submits new ones directly with instant approval. Old messages are automatically archived.

Process ImprovementSection: latest 

In many ways I was able to streamline and accelerate processes within with tools I created. A few examples of this are that I:

  • Integrated Web Site with CRM System
  • Introduced New System for Managing Site Content
  • Automated Internal News Postings

Integrating Web Site with CRM System--Initially when users submitted inquiries through the public web site, a person from marketing or sales would receive an email, then would copy the data by hand into Onyx, our CRM system. The process used required two interfaces be open, was hard to track, and made user error very easy. I replaced that process with a system that:

Introduced New System for Managing Site Content--Originally, marketing had a difficult time getting new or changed content onto the public website. Before I became the person responsible for's site, marketing would email requests for content changes to the gatekeeper, then it had to hope that changes would be promptly and correctly made. The person then doing the updates had to interpret instructions from an email into changes on the site. This system was both laborious and frustrating. When I became technically responsible for the public website, I introduced a staging environment for it, then I instructed marketing on how to safely change pages and how to move them live themselves. Small task, big benefits.

Automated Internal News Postings--The most frequently performed task whose process I improved was that of posting internal news items. That is described here in the web applications area.

One Stop Content MaintenanceSection: latest continued to use the same content with its portal that it had previously used for its intranet static .html pages. The portal was bring that content into various gadgets and communities. For several reasons, we did not want to elimiate the intranet access to the page, but the formatting required for the two access paths was different.

It would have been infeasible maintain the same content in two different formats. The strategy we used to deal with the situation was to first convert the intranet pages to .asp (required for the Plumtree's hosted display mode anyway), then to move the page content onto .txt files such that the .asp pages contained the intranet formatting and include calls. The portal gadget then would reference only the .txt files. This avoided stylesheet collision, made formatting a non-issue, and let us format only a single .txt file to update both locations.

A problem that arose with the old intranet being accessible was that some users continued to use bookmarks to intranet pages without using the portal. We wanted users to use the portal to gain its ancillary benefits. The solution was to include code in appropriate intranet pages to force users into the portal. I culled the intranet log files for a list of pages frequently hit outside the portal, then into those I inserted this code that would detect whether the user was in the portal, and if not, it would convert their url into one that passed through the portal's gateway space in hosted display mode.

This worked to a point, but occasionally there were javascript refresh issues (infinite refreshing to the same page). To combat this irregularity, I put in additional javascript to detect this problem, then to abort after two tries.

Robert Stephen Consulting OverviewSection: latest 

Beginning in late 2001, I have contracted for Robert Stephen Consulting. RSC provides products and services to companies that use the Archibus CAFM application.

A major project I've undertaking for RSC is that of making a web verion of an Archibus desktop component. This project, on the Sybase database, is written with .asp on the server and as much work as possible brought to the client interface for processing in Javascript to facilitate porting the web app to other languages in the future.

In simplest terms, The application I'm building helps human resources managers moving employee offices between various locations on a corporate campus. To help users properly fill out the various forms required to process these moves, I make extensive use of both Javascript and SQL to do filtering and lookups on a database with tens of thousands of records.

PerlSection: languages 

Perl is the programming language I have used longer than any other, although not with the same consistent intensity that I have given to VB/ASP. This site is built all on Perl, though I prefer PHP for database-driven pages.

Most of the work I have done with Perl has had more to do with text. For example, I have for more than two years been slowly improving on and expanding tools for posting and editing successive updates to a site that stores its information in text files. One of these is made available to the public through my site The script is due for a rewrite because it has in it many vestiges of my earlier days of Perl, but from a functionality standpoint it is quite strong.

A useful tool I made for went to a virus alerts web site, then using Perl copied the site to our server, used regular expressions to extract the portion of the page that we were interested in, then formatted that content for matching presentation on the SCIview portal. Perl makes it easy.

Another useful tool I made in Perl solved a problem I had with a client whose website I host. This person had more than 700 images stored on the server, hundreds of which were unused and left over from news articles long since deleted. There was no practical way for her to review all these images and delete those no longer used in the many dozens of pages on her site. I used Perl to review her log files to make a list of images actually being used, to compare that list to the files stored on the server, then to delete the files that were no longer in use.

My introductions to Perl came from sites like (which now includes several tools of mine, including Poster. That site provides hundreds of scripts for download and use by those who wish it. With that introduction to Perl, I have placed an emphasis with many Perl scripts I have written to make the code very simple for others to configure and use.

VB/ASP/.NETSection: languages 

The Plumtree portal implementations I have worked on have used VB/ASP as the medium between the user and the portal database in almost every situation. A digestable example of some ASP functions I wrote to format on a web page phone numbers with Siebel's masking. The numbers arrive from the database looking like this: +61414623689~0 0000 0000 and get formatted by my code to look like this: +61.4.1462.3689

Some useful ASP.NET code of mine is a Plumtree portlet delivering XML RSS newsfeeds as standard HTML to users. My experience with ASP.NET is limited.

JavascriptSection: languages 

Javascript to me in an indispensible tool for creating powerful web applications. It can help remind users to behave correctly, and it can be used to have the page change itself according to user requests.

At, I had a tangled situation in that my web pages and applications could be viewed by users through one of two web servers. It would have been very unwieldy from the server to determine how users were viewing my pages, and often I needed to know exactly which URL they were browsing through or whether I had access to server-specific tools. Enter Javascript.

I also have enjoyed using Javascript to enforce rules that would otherwise need to be followed by users. Users don't always follow instructions, so the more frequently rules can be forced on the user by the code, the better. Javascript is an easy way to watch page flow or to make sure forms are correctly used.

This site uses a Javascript function to efficiently manage screenshot thumbnails and popups. The code snippet, shown here, lets me give you thumbnails and popups by putting into the HTML simply this:


All the formatting is done by the script, which means that I can change formatting throughout the site by modifying only one function. Thanks to Louis Gray for complaining that this site initially did the full screen images on their own pages instead of in popups.

HTMLSection: languages 

I think it is in fact worth saying that I really am proficient with HTML. Some tech folks have disregard for HTML because it is merely a markup language, and maybe because it isn't arcane enough for them. The world has an awful lot of Geocities sites, after all. HTML is essential though, because no matter how intellectually stimulating the code on my server may be, your browser is waiting to render its HTML output. I am very conversant in working with HTML and in avoiding cross-platform difficulties. The very front-end of web development that is HTML can be a very nice respite too when a developer wants to switch from using the analytical part of the brain to the aesthetic design area.

French & SpanishSection: languages 

I have spent several years living abroad. The two years I spent in France and Belgium allowed me to master the French language. Later I worked for four months on an Internet infrastructure project for CODETEL, the Dominican Republic's primary telco. That gave me a great chance to build on the Spanish I had learned in college, although my skills at that language were most fortified the following year when for a short season I worked in a Salvadorian restaurant. I have also traveled in Mexico and Peru, which helped quite a bit.

PHPSection: languages 

PHP has quickly become a favorite language. There is no Plumtree GDK for PHP, but I explain how I can still use PHP in Plumtree gadgets. I like PHP for the ease with which it allows developers to access variables from web sessions and the quick access it allows to databases. I'm also a sucker for procedural as opposed to object-oriented programming, and PHP has got functions galore. It is also marvelously well documented at, which makes it very easy to succeed quickly in PHP projects.

A site made uses PHP for its administrative interface and to manage its monthly updates.

I have created a fairly feature-rich content management/site-builder application in PHP that I have rolled out to non-profit groups needing easier control of their web content.


SQLSection: languages 

A friend once told me that in two job interviews people didn't bother asking him about whether he knew SQL. He said in both cases they simple asked, "Do you know how to do joins?" According to him, that's what people want to know. Okay, I'll show you some useful joins:

Security rights for objects (like gadgets, communities, and folders) in the Plumtree Corporate Portal are stored in its database. The only way Plumtree provides to view security rights is to go into the administrative wizard for the individual objects. The Plumtree wizards work well when an administrator is interested in examining or modifying any or all properties of an individual object such as a press release gadget. The wizards are very cumbersome though if you are trying to audit security across mulitple objects.

When bringing SPL Worldgroup's portal into production, I had assigned security rights throughout the portal, and I wanted to be sure I had not made errors. I wanted to have one report showing security assignments for each object type. I created these desired reports using SQL queries like the one below for each object type. I execute them in Query Analyzer. Additionally, it's easy to change the final WHERE clause to get customized reports. Reports might show all gadgets a user has rights to or might show all users with read/write access to a certain community. This has become a great tool for me and other portal administrators.

left(,30) as 'Gadget Name', 
	(select left(replace(,'splwg\hr_',''),28) 
) as 'User/Group',

) as 'U/G ID',


left outer join PTGADGETSECURITY ON 
left outer JOIN PTUSERS ON 

ORDER BY 'Gadget Name'


Javascript Function for Displaying ImagesSection: languages 


TCP/IPSection: languages 

Through mostly informal means, I have learned a lot about TCP/IP (which I know is a protocol rather than a language as here classified. My experience with TCP/IP routing has come from configuring several small networks to use incoming broadband connections. I have worked with routers from Linksys, Netgear, Netopia, and Efficient Networks. I do not bill myself as an expert in routing, but I am able to manage the basics of routing tables, NAT, DHCP, configuring PCs, and so forth.

Java / JSPSection: languages 

As a contractor on the AJG's portal project, I was responsible for implementing Plumtree's Collaboration Server product according to the company's business requirements. Collaboration Server is a Java/JSP product running on BEA's WebLogic server.

This was my first major involvement with Java. Over the course of my customizations, I created several web applications within the product that make available different feature sets of the product. From the portal side, I register gadgets (snap-in components) to render their content and links from the appropriate .war file and then once users click through the gadget into Collaboration Server, they are only given the features of the product relevant to our business needs. I am much more limited with Java than I am with the other languages discussed on this platform, but certainly with the combination of a programming background, a Wrox book, being immersed in a Java product, and time to work within it, I'll continue to quickly move toward a more complete skill level.

ServersSection: software 

I am comfortable working with both Unix and Windows servers. This web site is one of a dozen or so that I host for myself and others on a BSDi server running Apache. All the Plumtree implementations I've worked on have been on Windows NT or 2000 servers. I am comfortable establishing new web sites on these machines, configuring existing ones, and so forth. Windows servers are nice because forgotten functions and commands appear on the screen regardless of your human memory. Unix machines are great because they allow so much flexibility with how settings are managed.

Load Balancing
At SPL Worldgroup, I worked frequently with an Equalizer load balancer from Coyote Point. I worked with the server clusters in Equalizer--the load balancer's own configuration preceded my involvement.

Java Web Servers
My experience with Java web servers has mostly revolved around my use of applications built on them. Most importantly, I have deployed and customized Plumtree Collaboration Server on BEA WebLogic. I have also used WebLogic with divine Content Server. My development environment runs Apache Tomcat.

DNS Servers
I manage the DNS records for several sites I host. The place where I've gotten most involved with DNS, though, has been with clients of my previous employer, Utopia Communication. Our service required clients to assign an MX record (for mail) and a CNAME (for the web server) for their domain to IP addresses we control. We then offered e-mail and more to the site's users. I worked with Utopia's network engineer to decide the best way to host these services, and I instructed ISPs on modifying DNS records. When possible I started by using named-xfer to retrieve their DNS record, then showed them the changes required. Take a look at the documentation I gave a client for this.

On the hardware side of servers, I was involved extensively in collocation and global networking issues while working on the CODETEL NAP project in the Dominican Republic. I was also responsible for negotiating collocation with Globix, Utopia Communication's provider. While in these planning stages, I did extensive research and learning about voice-over-IP providers, systems, and business models. Buy some stock in a sector and tell me if you can easily avoid learning about the niche.

I have done enough work and research into the streaming of media files to be comfortable with common creation and distribution features of the RealMedia products RealProducer and RealServer.

DatabasesSection: software 

The power of web development is in databases. The databases I'm comfortable working with are:

  • MS SQL Server
  • Oracle
  • MySQL
  • Sybase
  • MS Access
Most of the work that I talk about on this site (the contents of which is on MySQL) relates to one of these databases.

Development ApplicationsSection: software 

The applications I like to use when developing include:

  • Crimson Editor (free and highly recommended)
  • Irfanview (super fast graphics program that does batch conversions)
  • CS Diff
  • Visual SourceSafe
  • Trusty vi


Other ToolsSection: software 

Applications I've worked with include:

  • Plumtree Corporate Portal
  • Plumtree Collaboration Server
  • Plumtree Studio Server
  • Web Trends Log Analyzer
  • Analog
  • Onyx
  • ProCarta
  • PCAnywhere
  • Adobe Acrobat
  • MSOffice Suite
  • MSProject
  • Archibus


Desktop PublishingSection: software 

For years I have been desktop publishing in Quark. Examples of my work are available in PDF format through these links:

In addition to my practical experience, I have formal training in relevant computer applications, and I have been trained in principles of design.


Business BackgroundSection: extra 

Prior to turning to the tech side, I worked in the strategy/business development team at an aspiring dot-com that has since disappeared. I believe that every person can increase their perspicacity as they are more familiar with a broad range of considerations and issues. My understanding of marketing and the tides of business helps me be more able to create technical products that correctly address needs. Take a look at a sample of my writing in which I put forth a business case for a product at a previous company.


Web MarketingSection: extra 

My experience with web marketing is fairly broad. I've read the text books, I've subscribed to the e-newsletters, I've poured over the Industry Standard, and I've put it into practice professionally. Web marketing methods that I'm experienced with include:

  • Establishing affiliate programs
      Evaluated CommissionJunction; Joined ClickTrade

  • Establishing sales of web advertising space
      Initiated banner sales through FlyCast network; Arranged for audio sales through MessagePath network

  • Buying print and interactive advertising
  • Search engine optimization
      My previous web development site was among the top ten sites on AOLNetfind, Hotbot, and the Yahoo/Inktomi search engine

  • Link trading
      Managed's promotions with


Communication SkillsSection: extra 

My academic background is a degree in public relations from the communications department of Brigham Young University. My studies focused on how messages move through society, how to communicate with large audiences, and how to plan strategically. An example of the structured business communications (here applied to designing a web presence) with which I am comfortable is here.

The most direct benefit this background gives me when I'm doing web development is that I'm able to create better user documentation for my work.


Excellent Team MemberSection: extra 

One of the most likely points of feedback my former employer at will give of my work was that I was an excellent team member. is interesting in that none of its office locations has the majority of its staff. I had the chance to build positive working relationships not only with those at my location, but also with other employees who in many cases I never met face to face. I was successful in these relationships to the point that my employer allowed me to work remotely for many months, all the while being pleased with my team participation.

Gadgets Without a GDKSection: code 

Note: The below was written for the Plumtree 4.x portal. Since then, Plumtree released its 5.0 portal that makes the described approach optional but not necessary. In 5.0, Plumtree gateway transformation tags make all the below features available without regard to programming language in a much easier way.

Plumtree gadgets can display content from any system that can output HTML over HTTP. This is very open and nice. However, Plumtree only provides GDKs for ASP, ASP.NET, JSP, Perl, and ColdFusion (and these last two are not officially supported).

If you have a very simple gadget, one that has no real interactivity and displays only a single page, then you do not have any problems. You can register your code as a gadget, and display it in a MyPage or a Community Page. When your gadget is only slightly more sophisticated, however, you run into trouble if you don't have a GDK.

Let's say your gadget is written in PHP, and when it displays on the MyPage, it shows a list of links to other PHP files. Without a GDK, when you click on the links, you lose the portal's navigation scheme, colors, etc. Were the GDK available to you, you would have it send an HTTP header to the portal along with the page request that stated that you wanted to use hosted display mode. What do you do without the GDK?

Most programming languages let you insert extra HTTP headers. PHP is no different. If you simply put the following at the top of your PHP files, then if you send them through Plumtree's portal, you'll see the file in hosted display mode under Plumtree's banner:

    // use hosted display mode
    header("Csp-Display-Mode: Hosted");
Great, so now you have gotten your page to appear under Plumtree's banner. Let's take it a step further. You may want to access Plumtree settings such as the PT-Return-URI or the PT-User-ID. This information is sent from Plumtree to your PHP server. Simply ask for it:
You now have in the string $systemSettings all the information that you would get through the GDKs dSystemSettings. You can install this example code on your PHP server to see this in action. Simply link to this file from a gadget on your Plumtree portal that specifies your PHP server in the Gateway URL Prefixes box of the Gadget Editor.

This example admittedly only gets you started. It does not show you how to access any portal settings or how to set those settings. Read Plumtree's The Gadget Book to understand the CSP and these settings. You can then get started with tcpTrace to modify this PHP code to have PHP gadgets that are equally interactive as those written in a language that has a supported GDK.

Sample Code for PHP GadgetsSection: code 


Bill Benac :: ResumeSection: index 


Bill Benac
4049 47th Ave SW
Seattle, WA 98116

Phone: 214.773.6440

Not Seeking New Opportunities (through 2009)

Seek challenging environments and bright teams in which I can continue to make measurable positive results while capitalizing on my rich experience with technology.

EXPERIENCE 4/2003 - Present (9/2005) Plumtree Software San Francisco, CA
Product Specialist (Technical Consultant)
Plumtree provides enterprise portal, collaboration, search, document management, and content publishing software. As a Product Specialist in the Plumtree Consulting Services organization, I was called on to be the expert in essentially anything with which our customers sought vendor assistance. I also developed a reputation as a resource for others within Plumtree facing technical challenges.

- Enterprise Scale: Worked on-site to solve the most complicated technical problems of many of Plumtree's largest customers' including: Boeing, Department of Defense (DFAS), Weyerhaeuser, Dex Media, Amgen, Veterans Administration, and American Medical Response.
- Diverse Technologies: Performed and guided teams through system installations, customizations, and upgrades for clients using combinations of the SQL Server or Oracle DB, .NET or Java user interface, and IIS, WebLogic, Tomcat, Apache, or WebSphere web servers on Windows, RedHat or Solaris OS.
- Application Development: Created user apps, admin utilities, and integrations in .NET, ASP, and Java.
- System Design: Designed architectures balancing client interest in highly available, load balanced and redundant systems with client's organizational ability to support the complexities of such systems.
- Teaching: Taught multi-day workshops in [1] developing custom extensions and integrations to Plumtree with its APIs and in [2] using its customizable template-driven content publishing system.
- Mentored web developers at client sites in general best practices and Plumtree-specific techniques.
- Recognized Excellence: Based on successes with clients, was given Plumtree's Employee Excellence award in the third quarter of 2004.
- Enterprise Software Release: Led successful customer beta program for Plumtree's 6.0 release as special assignment at HQ. Selected participants, arranged Plumtree product experts to assist weeklong betas, addressed resulting feedback. Collected customer databases and customizations, upgraded them internally, then worked with engineering to correct bugs and improve upgrade process.

11/2001 - 4/2003 Independent Consultant Texas, California, Oklahoma
Web Developer and Plumtree Expert
SPL WorldGroup (9/2002 - 3/2003)
As lead web developer and Plumtree expert for intranet portal deployed worldwide to nine offices:
- Built demo portal in two weeks for senior management's buy-in, then built production portal in ten weeks for pilot rollout so successful that full rollout to all offices occurred ahead of schedule.
- Wrote content publishing system in ASP; also applications integrating with Siebel and Lotus Notes.
- Initiated redesign of server architecture to improve reliability and make maintenance easier.
- Led design of system to let previously unrelated IT systems access each other's user information.
- Trained other roles in company such as content managers and web developers.

Arthur J. Gallagher (3/2002 - 7/2002)
As Plumtree Software expert and member of web development team:
- Built content publishing system in ASP featuring multiple authors, approval workflow, versioning, rollbacks, template system, etc. to serve as the content engine for self-service insurance web site.
- Trained developers in Plumtree API; helped project manager maximize available portal benefits.

Robert Steven Consulting (12/2001 - 3/2002)
Developed ASP/JavaScript/Sybase web application that interfaced with enterprise CAFM software.

SCI Solutions (11/2001 - 2/2002)
Helped company transfer technical ownership of portal, upgraded system, enhanced applications.

9/2000 - 10/2001 SCI Solutions Los Gatos, CA
Webmaster & Plumtree Corporate Portal Manager
- For this healthcare software provider, was responsible for all aspects of migrating old intranet to portal, managing system, writing new applications, supporting users. Also managed public website.

7/2000 - Present HumanFocus Palo Alto, CA
Web Developer
- Founding member of group providing site design, brand consulting, and custom applications to humanitarian organizations. Wrote PHP/Perl website publishing system.

6/1999 - 9/2000 / Utopia Communication, Inc Fremont, CA
Business Development Manager

- Developed concept, method and business strategy for core product, a private labeled version of company's end-user-focused voice, fax, and e-mail "unified messaging" product.
- Initiated and led ad buying, ad selling, customer support, and affiliate programs.
- Negotiated then managed contracts for PSTN telephone service and server collocation
- Consulted and coded with development team to create appropriate user interface and functionality.
- Refined technological and business proposals by senior management for viability, appropriateness.

9/1998 - 12/1998 Grameen Foundation USA Washington, DC
Intern to Director of Development

- Designed database of donors and mailing list. Orchestrated and gave presentation in donor community.
- Worked on structure and editing of several successful grant proposals.
- Laid out and coordinated printing and distribution of mailing generating substantial contributions.

5/1997 - 8/1997 CODETEL Santo Domingo, Dominican Republic
Internet Service Sales Coordinator and Representative

- For this subsidiary of Verizon, wrote Internet Network Access Point promotional information and service documentation. Presented service to potential clients on three Caribbean islands.
- Negotiated partnership with Netscape to mirror its software--a first for a commercial site.
- Designed sales approaches and methods to reach new customer segments, trained colleagues.

EDUCATION Brigham Young University Provo, UT
Bachelor's Degree
BA in Public Relations -- GPA in major: 3.90; GPA overall: 3.80.
Graduated cum laude and with University Honors
Minors: English, International Development.

- Phi Kappa Phi Honor Society member, Golden Key Honor Society member, Dean's list.
- Recipient of several academic scholarships and of scholarship for humanitarian project in India.
- Jerusalem Center Study Abroad program - studied in Israel, Jordan, and Egypt.

SKILLS Operating Systems Windows, Solaris, RHEL, BSDi and Fedora Linux
Web Servers IIS, WebLogic, Tomcat, Apache, WebSphere
Databases SQl Server, Oracle, MySQL, Sybase
Languages .NET, ASP, Java, PHP, Perl, JavaScript, HTML

CONFERENCES, ASSOCIATIONS & PUBLICATION - Panelist for the session "Online Business: A Whole New Ballgame" at the International Chamber of Commerce's (ICC) World Congress in Morocco, June, 2004.
- Participated through the ICC in the United Nations' World Summit on the Information Society (WSIS) in Switzerland, December, 2003.
- Published article entitled "Improving WSIS Success by Increasing Business Participation" in the journal Information Technologies and International Development, a project of MIT and Harvard.
- For the technical track at Plumtree's 2004 employee conference, presented case studies from my successes solving customer business needs through custom code extensions to Plumtree products.
- At Plumtree's 2005 conference for consultants, presented and coordinated other presentations for new product training.

PERSONAL Eagle Scout. Two-years as full-time volunteer representative in Europe for church. Fluent French, moderate Spanish. A decade of volunteer involvement with humanitarian organizations in India. Widely-traveled.

Contact InformationSection: index 

The essentials for contacting me:

  • Email:
  • Telephone: 214.773.6440


HomeResume | Contact Information