Developer

Product Review: Build inexpensive portals using open source Slash

Review of Slash, which builds online enterprise portals


Large companies can invest in expensive intranet portal software to provide one-stop information shopping for their employees. But until recently, the price of such implementations have made them prohibitive for small- to medium-size companies.

Now there's an open source solution called Slash that can make it more affordable to put company newsletters online. Slash makes an excellent news and portal engine, and you can download it for free at Slashcode.com.

Consultants with experience in Apache Web server, Perl, and MySQL database may find a profitable niche implementing internal Slash sites for their clients, because, while the software is free, the implementation is tricky. Let's take a look at how Slash works, where to get it, and how to install and use it.

Slash: A Slashdot-like automated storytelling home page
Slash technically works like a Web log: a dated archive of commentary about interesting places on the Web. The best way to see what it can do is to visit Slashdot, the self-described "news for nerds" Web site that was created using Slash. What you'll find is a feature-rich environment for managing and sharing information in the form of stories and comments about them.

A story is usually a paragraph or two describing a page on another Web site. Its text contains one or more links, one to the page of interest, plus additional ones for the organization or individual that the story is about, or related subjects. In an intranet setting, a story might point to new content elsewhere on the intranet, such as a revised form or news of a recent successful sale.

Slash stories can also be entire feature articles, such as book reviews or interviews with celebrities. In an intranet setting, such features might be new product announcements, details about the new 401(k) plan, or a how-to article from the help desk.

On the right-hand side of the page are small, outlined areas called Slashboxes. Each Slashbox can contain static information that must stay on the page semipermanently, or it can be used as a portal to ever-changing content elsewhere on the Web. A background process retrieves external content on a regular schedule to update the Slashboxes.

This portal feature can be used to display up-to-date statistics about sales, production, market share, etc., on the site's home page. All you need to set up a Slashbox is a data source that can generate an Extensible Markup Language (XML) file. Most systems that can export text to a specified directory can be programmed to create such files.

User interaction promotes knowledge-sharing
If a key goal of a client’s intranet is to foster information-sharing among employees, Slash can be an ideal method. In addition to its content management features, Slash promotes user interaction in several ways.

First, Slash allows readers to comment on stories, creating an instant discussion forum focused on a particular topic. Readers can submit their own ideas for stories, which go into a queue for editing and approval before being published.

Second, a polling feature makes it easy to create and view the results of user polls. There is even a journaling system that would enable employees to create their own mini-Web logs detailing news in their part of the company.

Slash's configurability is another plus for intranet use. Stories can be categorized both by topic and by section for easy searching. Discussions can be enabled or disabled on individual stories; anonymous posting can be enabled or disabled, as can the entire user-moderation system. Authorship can be delegated in a larger company so that several individuals share the workload of generating content.

Getting and installing Slash
Installing and configuring Slash is an involved process. For efficiency, Slash requires that the Apache Web server has the Perl language built in via a module called mod_perl. So Apache must be rebuilt on the Web server before Slash can be installed. Likewise, specific versions of Perl and the MySQL database are both required for proper functioning.

Fortunately, you're not on your own during the install. The full details are described in the Slashcode FAQ. In addition, the following resources are helpful:
  • Slashcode.com is itself a Slash site, and its community is very active in helping each other use Slash. Be sure you've read the FAQ thoroughly and the Ask Slashcode stories on the site first. Then, if you're still stuck, submit a story of your own asking for help. You'll be amazed at the timeliness and accuracy of the responses.
  • O'Reilly & Associates  has an excellent book on Slash called Running Weblogs with Slash. It is well illustrated and describes the customization and administration process thoroughly.
  • "Install Slash for Dummies" isn't part of the Dummies book series, but is a Web article written by someone who documented step-by-step everything he encountered in installing Slash. There are tips and tricks in here not covered by either the Slash FAQ or the O'Reilly book. I highly recommend it.
  • Design for Community, by Derek M. Powazek has a chapter on Slash that serves as a great overview of its features from the user's perspective, including an interview with the creator of Slashdot, Rob "CmdrTaco" Malda. But its most important contribution is its advice on how to nurture discussion in an online community. In fact, this may be the most valuable advice you provide to your clients, over and above the technical aspects of installing the Slash engine.

Offsite hosting tip
If you're creating a public Slash site and want to avoid building and hosting it in-house, there are Web hosting companies that specialize in Slash hosting. Check out the Slashcode site for a current list. I don't recommend trying this at a regular Web hosting company: Slash's requirements for server memory and Apache configuration are very precise. It won't work unless it's configured correctly.

Administering a Slash site
Slash's administrative interface is a series of Web forms collectively called BackSlash. Site users who are defined as authors are automatically presented with an administration menu of text links when they log in. The items on the menu vary depending on the security level assigned the author. Some of these items include:
  • New allows you to create a new story for the site.
  • Stories lets you view the published stories and update them.
  • Submissions permits you to view the list of user-suggested stories to set their topic and section, edit the introductions, and approve or reject the stories for publication.
  • Sections defines the categories used to subdivide the site, much as a newspaper's sections divide its content. On an intranet, sections might be company departments, such as Human Resources or Help Desk.
  • Templates lets you edit the design of the site. Templates are bits of HTML source code that you can find through sites like the Template Toolkit. Templates are easier to create and edit than the underlying Perl code that implements them. You can use templates to define the appearance of the site, and call upon a wide range of predefined variables, such as user preferences, to determine what to display.
  • Blocks allows you to edit the static pieces of HTML code displayed on the site, or portal definitions that obtain content from other sites automatically for display.
  • Authors lets you define which users are also authors that create, approve, edit, or delete submitted stories and change their properties, such as which section and topic they are assigned.
  • Vars allows you to change the variables that control which features of the Slash software are in use and how the site operates.
  • Colors lets you affect the overall appearance of the site by determining which foreground and background colors are used to display stories and blocks. This can be varied by section.

Create an opportunity
Slash is a powerful news and discussion engine that is well suited for company intranet deployment, as well as for public Internet information sites. Its portal feature enables automatic updates of information from multiple sources, both inside and outside the company.

Once installed, a Slash site's content is easily administered by the client, although overall administration of the site can earn you repeat work over time. It's an opportunity in disguise for consultants comfortable with Linux, Apache, Perl, and MySQL.

Editor's Picks

Free Newsletters, In your Inbox