Discourseをコミュニティ主導のWikiとして活用する

Erlend Sogge Heggen
May 3, 2016 • 2 min read

以下は、OSMC.tvのCEO兼創設者であるSam Nazarkoによるゲスト投稿です。

Discourseを斬新な方法で活用されていますか?このようなゲスト投稿を書くことにご興味があれば、ぜひご連絡ください

2014年、私は新しいプロジェクトOSMC(Open Source Media Center)に取り組み始めました。OSMCは、ローカルネットワーク、接続ストレージ、およびインターネットからメディアを再生できる、Linuxベースの無料かつオープンソースのメディアプレーヤーです。

プロジェクトにユーザーが集まり始めると、私たちは新規ユーザーをできる限りサポートし、必要なリソースを入手できるようにしたいと考えました。Wikiの必要性は明らかでしたが、一般的なWikiソフトウェアが私たちに最適かどうか確信が持てませんでした。しばらくの間、私たちはGitHubベースの独自のWikiシステムに取り組んでいました。GitHubにはMarkdownエディターがありましたが、新規ユーザーにとっては依然として多くの課題が残っており、プロセスは期待していたほどスムーズではありませんでした。

熟考の末、私たちはDiscourseに必要なものがすべて揃っていることに気づきました。投稿やWYSIWYGエディターに慣れているユーザーであれば、追加の学習コストなしにWikiを編集したり追加したりすることができ、外部のWikiサイトに別途アカウントを持つ必要もありません。Mark Theis(OSMCのウェブ開発者)と私は作業に取り掛かりました。その日の終わりには、DiscourseにWikiカテゴリを作成し、このフォーラムカテゴリを30分ごとにスクレイピングして、ウェブサイト上に静的なHTMLとしてページを公開する基本的なスクリプトが完成していました。私たちはDiscourse REST APIを通じてDiscourseをスクレイピングし、ブログ用のテンプレートを構築しています。

この仕組みはうまく機能しています。編集内容は簡単に追跡でき、Discourseの権限システムによってウェブサイト上の編集を細かく管理できます。また、WikiページをスタティックなHTMLとして構築してキャッシュしているため、新しい実装は非常に高速です。Discourseは大量の投稿を処理する能力をすでに証明しているため、他のWikiソフトウェアとは異なり、Wikiが拡大してもパフォーマンスの問題を心配する必要はありません。

私たちのWikiには改善の余地が確かにあります。現在はWikiカテゴリから各投稿をスクレイピングし、JSON形式で投稿コンテンツを取得しています。このJSONにはあらかじめフォーマットされたHTMLが含まれています。将来的には、投稿をMarkdown形式でアクセスできるようにし、コンテンツのスタイリングをより細かく制御できるようにすることが望ましいです。投稿の編集は十分シンプルですが、新しいカテゴリや新しい記事の追加は一部のユーザーにはまだ少し複雑すぎるため、今後これを簡略化したいと考えています。

Wikiにはまだ多くの改善が必要ですが、何年にもわたって使い続けられる安定した使いやすいものを実装できたことを嬉しく思っています。現在、同様の編集のしやすさと優れた耐久性を持つ新しいニュースレターシステムの構築にもDiscourseの活用を検討しています。

ソースコードはこちらから入手できます:(更新済み)

https://github.com/osmc/website/tree/master/server/modules/wiki

原文はこちら:


Good Loopでは、Discourseのセルフホスティングを安価で提供しています。開発元であるCDCK社の協力のもと、公式ブログ記事の翻訳・公開など、日本での普及にも努めています。

詳しくはこちら: Discourseの導入・運用支援・コンサルティング – Good Loop