Section 7.5. Integration


7.5. Integration

The basic elements we just mentioned are important and go a long way to closing the skills gap and promoting wider adoption. The next step is to improve the integration of an open source project into the users' environment. This is a more advanced level of productization that can take place only after the core development team understands how a project is being used.

Better integration is the key to completing the goals of productization so that the installed software does everything the user wants it to do. For this discussion, integration means the software works with all the other parts of an IT infrastructure when it is installed. Basic productization involves making the process of understanding, installing, and configuring the software as easy as possible.

For example, Apache, MySQL, and PHP are used in thousands of applications all over the Internet, and most of the time they work together seamlessly. Sometimes, however, when one of the three is upgraded to a newer version, problems arise that are hard to track down. The more such problems are anticipated, planned for, and tested for, the better integrated a set of products will be.

Proper integration is not accomplished on a whiteboard. Generally, a fully productized, integrated product is the result of gathering feedback through a series of releases. Careful study of users' experiences with the software generates requirements that, if properly implemented, make using the software a pleasant experience.

7.5.1. TWiki: An Integration Case Study

One of the most successful, productized, and deeply integrated open source projects is TWiki?, an implementation of Ward Cunningham's Wiki concept for efficient collaboration. Peter Thoeny, founder of the TWiki project, deliberately focused on making TWiki friendly to the IT environment. Part of this is due to the fact that Peter introduced the idea of using Wikis to his employer, Wind River Systems. Peter used TWiki as the foundation of the company's systems for providing user support. Hundreds of contributors update and read content from a massive TWiki composed of 50,000 pages that are changed an average of 20,000 times each month.

Peter has consciously pursued a variety of productization elements and integration features intended to promote TWiki's use in engineering departments and corporations as an environment for intranets and knowledge bases. How his decisions worked to encourage adoption makes for an instructive story.

7.5.2. Choosing an Intranet Identity

The concept of a Wiki is so flexible that it is used by a huge variety of applications. In eXtreme Programming, Wiki is used to manage projects and to help record requirements. The Wikipedia uses Wiki as a publishing and knowledge management platform (in fact, we wrote this book using Wiki for project management and collaboration). When Peter Thoeny first encountered Wiki and was given the task of running a customer support department, he wanted to use Wiki for knowledge management.

True to form for open source protocol, Peter first grabbed an existing Wiki written in Java, called JOS Wiki, and used that for a while. Like most talented developers, his head quickly filled with ideas for improvements, and to scratch that itch, he created the TWiki project and wrote a Wiki based on the Perl language.

The early version of TWiki worked well enough within a small customer support department, but then the user community expanded and new requirements arose. Peter saw that TWiki needed to focus more on satisfying the needs of the IT department and not just those of content creators. Peter changed his vision of TWiki from a knowledge management tool to one that was also designed to operate as a corporate intranet.

Here are a few of the features he had to add to make this transition:

  • The original TWiki, like many other Wiki implementations, had no access control; anybody could do anything to any page of information. Based on user feedback from many installations, Peter found that database and system administrators couldn't stomach the idea that TWiki had no access control. Peter added a simple mechanism that allowed access to portions of the TWiki that can be controlled by assigning permissions to users and groups of users.

  • TWiki has its own user registration database along with the ability to use HTTP Auth to control access. While permissions must always be handled as part of administration, the original TWiki users found it annoying and difficult to have to maintain a parallel database of TWiki users when a perfectly good directory of users, usernames, emails, and other information was already part of the IT infrastructure. Peter added the ability to integrate with the namespace created by single sign-on mechanisms.

  • The original Wiki implementations had no way to recover if a user deleted the contents of a Wiki page, whether by accident or on purpose. Peter added a version control mechanism to create an audit trail of how pages were created and to allow deleted information to be recovered.

  • The original Wiki did not have a mechanism for attaching files to a page. Peter added this feature for use by his customer support department and it proved popular with users.

  • Many pages created for Peter's customer support Wiki turned out to be lists of small items. Peter added the ability to create forms that allowed information on a page to be entered into fields. Adding such metadata turned pages into something similar to records in a database. This allowed new pages to be created that were lists of portions of other pages selected based on metadata. In this way, TWiki became similar to a database-driven content management system.

Peter communicated all of this to the world at large by declaring his commitment to the IT world in TWiki's mission statement: "TWiki is a leading-edge, web-based collaboration platform targeting the corporate intranet. TWiki fosters information flow within an organization; lets distributed teams work together seamlessly and productively; and eliminates the one webmaster syndrome of outdated intranet content."

TWiki's focus and its integration into the corporate IT environment have made it one of the most popular and widely adopted Wiki implementations. On http://www.TWiki.org/, success stories from Disney, Motorola, SAP, and Yahoo! explain different ways the software has been used in large environments.

One possible objection to this broader, advanced view of productization is that it really is inseparable from the task of just improving the product. There is no dividing line between making a product friendly to a new environment by adding a feature such as integration with single sign-on, which can be seen as an advanced form of productization, and adding a vital feature such as keeping an audit trail, which could be thought of as merely useful. The idea of advanced productization is to focus more on the audience and to anticipate their needs, which is what great products do.



Open Source for the Enterprise
Open Source for the Enterprise
ISBN: 596101198
EAN: N/A
Year: 2003
Pages: 134

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net