At the Forge - Weblogs and Slash

User journals with comments are one feature of the complex but battle-tested community system Slash. Give users the power to build friend and foe networks, moderate one another's comments and more.

Last month, we looked at the installation and basic administration of Slash, the open-source Weblog and community system that powers the popular Slashdot site, among others. Slash, which is distributed under the GNU Public License, takes advantage of Perl, mod_perl and Apache.

Creating a Journal

Slash uses the term journals for its Weblogs. Each user on the system can keep his or her own journal; this functionality is available by clicking Journal on the You menu, which typically is displayed along the left side of the screen. This invokes, which is located inside of your site's Slash directory. On my computer, named chaim-weizmann, I found in /usr/local/slash/site/chaim-weizmann/htdocs/ The code is easier to read than I imagined, but even if you are an experienced Perl hacker, you should find that a great many functions are centralized and customized for the Slash environment. That said, changing Slash does not appear to be terribly difficult, if you are interested in tinkering with it.

The first time you click on the Journal link, you see a screen that looks like the screenshot pictured in Figure 1. A message there indicates you have not created any journal entries, and several links offer you the chance to write in your journal or edit existing entries.

Figure 1. A New Slash Journal without Any Entries

Let's create a new journal entry by clicking on the Write in Journal link. This opens a new page, shown in Figure 2. We enter a subject, a topic (a combination of the global list of topics, along with user journal), an indication of whether you want to allow others to comment on your journal entry and the entry itself.

Figure 2. The journal entry page is where you compose new text for your journal.

When you have finished writing a journal entry, you can click the Preview button, which allows you to look at your entry before posting it. This seems a bit patronizing to me; although I understand it is useful and important for people to proofread and double-check their work before submitting it, at times I want to move ahead and prefer not to preview my work.

Next to the Preview button is a selection list that allows you to indicate how your journal entry should be formatted. The default, HTML format, allows you to stick HTML tags into your journal, so that you can create <b>boldface</b> and <i>italic</i> text. Of course, HTML does not differentiate between types of whitespace, which means choosing this formatting method requires you to separate paragraphs with <p> tags. It also means you can enter a literal < or > character only by using the appropriate HTML entity, &lt; or &rt;.

The extrans formatting option would have been my preference, if I had known what it was from the beginning: extrans assumes that every character should be taken literally and converts multiple newline characters into HTML paragraph breaks. I realize that the option says “HTML tags to text”, but that seems less important than the fact that paragraph separations are preserved in the final copy.

Once you have previewed your entry at least once, a Save button appears between the Preview button and formatting selection list. You can continue to modify and preview your journal entry, or you can save it and make it viewable by everyone else by clicking on the Add button). Indeed, anyone can view the journal I created on chaim-weizmann by pointing their browsers to the URL chaim-weizmann/~reuven/journal.


As often is the case with other Weblog and journal software, Slash makes it possible and easy to solicit comments from other users. By default, this option is off, and the instructions indicate clearly and repeatedly that turning comments on means they remain on forever.

This option is set for each individual journal entry; some can allow comments and others can forbid them, as users see fit. You can change the default setting by clicking the Edit Preferences link at the top of the journal page and then selecting comments disabled or comments enabled, as appropriate. Because you are setting only a default value, it has no effect on already existing journal entries and comments.

Adding comments to a journal entry that has enabled them is somewhat less than straightforward to the uninitiated. Each journal entry is followed by a menubar (Figure 3), which both controls the display of the discussion and allows users to participate in it. I say that this is confusing because it is easy to miss the Reply button, which allows you to add to the discussion, and the rest of the menubar, which changes the way the discussion is viewed.

Figure 3. A Slashdot-style menu follows each journal entry.

Replying actually is slightly more complicated than this. To reply to the original posting, click on the Reply button that immediately follows the article. But, if you want to reply to a comment, thus creating a threaded discussion, you instead click on Reply to This link, which appears immediately beneath each comment. This structure makes logical sense, but I must admit that even after years of following and participating in discussions on Slash-powered sites, it took me some time to find and understand the distinction between the two methods.

Interface aside, adding a comment is identical to adding a new posting, except you cannot restrict people from commenting on what you have written. Enter a subject and the text of the comment, indicate the formatting and then either preview or add your comment. Slash allows you to post comments as an anonymous user, known as Anonymous Coward, by checking the post anonymously box next to the entry. However, many administrators have configured their systems to forbid such anonymous postings on the assumption that anonymity reduces accountability.

Finally, the display settings make it possible to view a discussion in any of several ways. The threshold setting allows you to selectively view comments, based on scores assigned by other members of the site's community. Moderation and the related meta-moderation feature can be activated by the site's administrator, and they allow community members to determine which comments deserve the most attention.

The display setting changes the way in which threaded discussions are shown. I always have preferred to see such discussions in nested format, meaning that responses always are visible, indented somewhat from their parent. By default, Slash sites show the comments in threaded mode, which requires that you explicitly ask to view a comment before it is visible.

Finally, you can ask to see the comments in various orders. Journal entries always are displayed, Weblog-style, starting with the newest entry and ending with the oldest one. Comments to these journal articles, by contrast, normally are displayed in chronological order, with the oldest comment at the top. Therefore, keeping up with a discussion over time requires scrolling down to the bottom of the screen.