At the Forge - Weblogs and Slash

作者:Reuven M. Lerner

上个月,我们了解了 Slash 的安装和基本管理,Slash 是一款开源 Weblog 和社区系统,为广受欢迎的 Slashdot 站点以及其他站点提供支持。Slash 在 GNU Public License 下发布,利用了 Perl、mod_perl 和 Apache。

创建日志

Slash 使用术语 “journals” 来表示其 Weblog。系统上的每个用户都可以维护自己的 journal;此功能可通过单击 “You” 菜单上的 “Journal” 来使用,该菜单通常显示在屏幕的左侧。这将调用 journal.pl,它位于您站点的 Slash 目录中。在我的计算机 chaim-weizmann 上,我在 /usr/local/slash/site/chaim-weizmann/htdocs/journal.pl 中找到了 journal.pl。代码比我想象的更容易阅读,但即使您是一位经验丰富的 Perl 黑客,您也会发现许多功能都集中化并为 Slash 环境定制。也就是说,如果您有兴趣对其进行修改,那么更改 Slash 似乎并不十分困难。

首次单击 “Journal” 链接时,您会看到一个屏幕,如图 1 中的屏幕截图所示。那里的消息表明您尚未创建任何 journal 条目,并且有多个链接供您选择在 journal 中书写或编辑现有条目。

At the Forge - Weblogs and Slash

图 1. 没有条目的新 Slash Journal

让我们通过单击 “Write in Journal” 链接来创建一个新的 journal 条目。这将打开一个新页面,如图 2 所示。我们输入主题、主题(全局主题列表和用户 journal 的组合)、是否允许其他人评论您的 journal 条目的指示以及条目本身。

At the Forge - Weblogs and Slash

图 2. journal 条目页面是您为 journal 撰写新文本的地方。

完成 journal 条目撰写后,您可以单击 “Preview” 按钮,以便在发布之前查看您的条目。这对我来说似乎有点屈尊俯就;虽然我理解在提交工作之前校对和仔细检查工作是有用且重要的,但有时我想继续前进,并且不喜欢预览我的工作。

“Preview” 按钮旁边是一个选择列表,您可以在其中指示应如何格式化您的 journal 条目。默认的 HTML 格式允许您将 HTML 标签粘贴到您的 journal 中,以便您可以创建 <b>粗体</b> 和 <i>斜体</i> 文本。当然,HTML 不区分空格类型,这意味着选择此格式化方法需要您使用 <p> 标签分隔段落。这也意味着您只能通过使用适当的 HTML 实体 &lt; 或 &rt; 来输入文字 < 或 > 字符。

如果我从一开始就知道 extrans 格式化选项是什么,那么它将是我的首选:extrans 假定每个字符都应按字面意思理解,并将多个换行符转换为 HTML 段落分隔符。我意识到该选项说的是 “HTML 标签到文本”,但这似乎不如段落分隔在最终副本中得到保留这一事实重要。

一旦您至少预览过一次您的条目,“Preview” 按钮和格式选择列表之间就会出现一个 “Save” 按钮。您可以继续修改和预览您的 journal 条目,也可以单击 “Add” 按钮来保存它并使其对所有人可见。实际上,任何人都可以通过将其浏览器指向 URL chaim-weizmann/~reuven/journal 来查看我在 chaim-weizmann 上创建的 journal。

评论

与其他 Weblog 和 journal 软件常见的情况一样,Slash 使征求其他用户的评论成为可能且容易。默认情况下,此选项处于关闭状态,并且说明清楚且反复地表明,打开评论意味着它们将永远保持打开状态。

此选项是为每个单独的 journal 条目设置的;有些可以允许评论,有些可以禁止评论,用户可以酌情决定。您可以通过单击 journal 页面顶部的 “Edit Preferences” 链接,然后根据需要选择 “comments disabled” 或 “comments enabled” 来更改默认设置。由于您仅设置默认值,因此它对已存在的 journal 条目和评论没有影响。

对于不熟悉的人来说,向已启用评论的 journal 条目添加评论并不那么简单。每个 journal 条目后面都跟着一个菜单栏(图 3),它既控制讨论的显示,又允许用户参与讨论。我说这令人困惑,因为很容易错过 “Reply” 按钮,该按钮允许您添加到讨论中,以及菜单栏的其余部分,这些部分更改了讨论的查看方式。

At the Forge - Weblogs and Slash

图 3. 每个 journal 条目后面都跟着一个 Slashdot 风格的菜单。

回复实际上比这稍微复杂一些。要回复原始帖子,请单击紧跟在文章后面的 “Reply” 按钮。但是,如果您要回复评论,从而创建线程讨论,则您应单击每个评论下方紧跟的 “Reply to This link”。这种结构在逻辑上是有道理的,但我必须承认,即使在多年关注和参与 Slash 支持的站点上的讨论之后,我也花了一些时间才找到并理解这两种方法之间的区别。

除了界面之外,添加评论与添加新帖子相同,只是您无法限制人们评论您所写的内容。输入主题和评论文本,指示格式,然后预览或添加您的评论。Slash 允许您以匿名用户身份发布评论,称为 Anonymous Coward,方法是选中条目旁边的 “post anonymously box”。但是,许多管理员已将其系统配置为禁止此类匿名帖子,理由是匿名会降低责任感。

最后,显示设置使您可以以多种方式查看讨论。“threshold setting” 允许您根据站点社区其他成员分配的分数有选择地查看评论。站点的管理员可以激活 “Moderation” 和相关的 “meta-moderation” 功能,它们允许社区成员确定哪些评论值得最多关注。

显示设置更改了线程讨论的显示方式。我一直更喜欢以嵌套格式查看此类讨论,这意味着响应始终可见,并且相对于其父级略微缩进。默认情况下,Slash 站点以线程模式显示评论,这需要您显式请求查看评论,然后才能看到它。

最后,您可以要求以各种顺序查看评论。Journal 条目始终以 Weblog 风格显示,从最新的条目开始,到最旧的条目结束。相比之下,这些 journal 文章的评论通常按时间顺序显示,最旧的评论在顶部。因此,随着时间的推移跟上讨论需要向下滚动到屏幕底部。

Journal 社区

从我们目前所见的情况来看,Slash 似乎为许多用户提供了一种创建和维护自己 journal 的简单方法。但是,这些用户或他们的 journal 之间没有真正的互动;每个人都彼此隔离。

但是 Slash 的编写目的是为了促进在线社区,并且它带有许多促进协作和集成的功能。首先,Slash 会跟踪系统中所有 journal 的统计信息。通过单击 journal.pl(主 journal 页面)中的 “Top 10” 链接,您可以找出哪些 journal 最近更新,哪些人撰写最多以及哪些朋友撰写最多。

我在此处指的术语 “friends” 不是社区成员的同义词。相反,Slash 系统中的每个用户都可以将其他用户分类为朋友和敌人,从而创建类似于但不等同于 Orkut 和 LinkedIn 等站点的有趣的人际关系网络。

将某人标记为朋友或敌人的最简单方法是转到他或她的主页,通常是 ~username。因此,在我的系统上,任何人都可以使用 URL chaim-weizmann/~reuven 转到我的主页。在用户的用户名旁边,有一个图标指示他或她当前是朋友(笑脸)、敌人(红色悲伤的脸)还是中立(默认,带有看起来像太阳镜和奇怪傻笑的表情)。单击此图标可让您更改您与另一个人的关系。

Slash 与各种其他个人网络和社区网站之间的一个主要区别是,这种关系是公开的。Slash 站点上的任何用户都可以找出谁是我的朋友和敌人。尽管这可能会阻止人们将他人标记为敌人,因为这可能会导致公开场合的尴尬和不良后果,但这确实意味着 Slash 可以创建引人入胜的个人网络和关系组合。您不仅可以看到某人的朋友列表,还可以看到该人的朋友的朋友。

这些关系中的每一个都是单方面的;A 可以是 B 的朋友,但 B 可以是 A 的敌人。当您转到某人的主页时,您不仅可以查看该人的朋友和敌人,还可以查看他或她的粉丝(其他将此人标记为朋友的人)和怪人(其他将此人标记为敌人的人)。

建立朋友列表的最大实际优势是,Slash 会为您跟踪他们的 journal 和 journal 更新。单击您主页顶部的 “Friend's Journals” 链接会弹出一个包含您有 journal 的朋友的列表。这是 Slash 相当于书签或 RSS 新闻聚合器的功能。将人员添加到您的朋友列表中意味着您可以轻松跟上您的朋友撰写的 journal。

您应该使用 Slash 吗?

多年来,我多次看过 Slash,每次我都觉得它相当令人印象深刻。代码似乎难以理解,用户界面很丑陋,功能似乎有限。基于 Slash 的站点仍然相对丑陋,尽管现在由于使用了 Template Toolkit,这种情况已经可以改变。当您将其与其他社区基础设施和工具包(例如 Xoops 和 OpenACS)进行比较时,功能仍然非常有限。

但是,Slash 并非为广泛的需求而设计;相反,它试图实现一组有限的功能并做得很好。在这方面,他们确实成功了。use.perl.org 是这样一个站点的绝佳示例,该站点既分发新闻文章,又允许用户维护自己的 journal。如果您想提供有限的新闻和公告,同时让大量用户可以维护和评论 journal,那么 Slash 可能是个不错的选择。

此外,我必须承认,多年来代码得到了显着改进;现在可以理解正在发生的事情,甚至如果您是一位经验丰富的 Web/数据库黑客,也可以修改或添加功能。诚然,Slash 有许多方便的功能,在您可以立即上手并进行更改之前,需要一定的学习曲线,但这对于所有 Web/数据库工具包来说都是如此,因此说 Slash 在这方面有所不同是不公平的。

我对 Slash 的主要批评,除了与发行版本(仍保留在 CVS 中)和文档相关的问题外,是缺乏像 Xoops、OpenACS 和 Zope 通过其各种模块和软件包所做的那样添加新功能的标准系统。

结论

Slash 与许多开源软件一样,功能强大、可扩展、新手难以安装且文档记录不完善。与许多其他软件包不同,它还侧重于深度而不是广度,与其他许多工具包相比,它提供了更多的功能,但代价是可扩展性和通用性。而且,如果您的站点甚至开始接近 Slashdot 吸引的用户或访问者数量,那么您应该明智地考虑使用它。

本文的资源: /article/7607

Reuven M. Lerner 是一位资深的 Web/数据库顾问和开发人员,现在是西北大学学习科学项目的一年级研究生。他的 Weblog 位于 altneuland.lerner.co.il,您可以通过 reuven@lerner.co.il 与他联系。

加载 Disqus 评论