DUICUO

Confluence のオープンソース代替品である BookStack を使用してドキュメントを作成します。

BookStackは、個人、チーム、企業向けに構造化されたナレッジベースを作成できるオープンソースのWebベースのドキュメントシステムです。BookStackは、使いやすさと、技術スキルが多様なユーザー層に適した設計に重点を置いています。PHPフレームワークLaravelをベースに構築されており、データストレージにはMySQLまたはMariaDBを使用しています。

職場用のドキュメント作成システムやWikiシステムを探した結果、BookStackを構築しました。Confluenceは私の要件に最も適した選択肢でしたが、ユーザーベースの価格設定がネックでした。また、Confluenceはクローズドなため、作成したいドキュメントの寿命についても疑問が生じました。最終的に、自分のニーズを満たす独自のプラットフォームを構築することにしました。長年愛し、恩恵を受けてきたオープンソースコミュニティへの恩返しとして、MITライセンスでリリースしました。

コンテンツの階層と整理オプション

BookStackでは、親しみやすさと直感性を維持するために、実際の書籍の用語を用いて構成構造を説明しています。ドキュメントコンテンツは「ページ」として作成されます。

  • 「ページ」は特定の「ブック」に属します。
  • 本では、「ページ」を「章」に選択的にグループ化できます。
  • コレクションが増えてきたら、「シェル」を使って本を分類することができます。また、必要に応じて、本を複数の本棚の一部にすることもできます。

この構造は BookStack の中核であり、多くの場合、BookStack が使用ケースに適しているかどうかを決定する要因となります。

このコア レベルでは、BookStack は、コンテンツを確実に見つけられるように、タグ、ユーザーのお気に入り、高度な検索機能も提供します。

文書の作成

BookStackでドキュメントを作成する主な方法は、オープンソースのTinyプロジェクトを活用したWYSIWYGエディタを使用することです。このエディタは、以下のような幅広いコンテンツフォーマットオプションを提供しています。

  • さまざまな見出しレベル
  • コードブロック
  • 折りたたみブロック
  • シート
  • 写真
  • リンク
  • iFrameの埋め込み
  • リマインダーコール
  • 箇条書き、番号付け、タスクリスト
  • 描画(オープンソースの diagrams.net との統合を通じて)

Markdownをお好みの場合は、ライブプレビュー機能とWYSIWYGエディターと同じ機能を備えた組み込みのMarkdownエディターをご利用いただけます。権限が許せば、編集中のページに応じてこれらのエディターオプションを切り替えることもできます。

データはどのように保存されますか?

Markdownを使用する場合、文書は元のMarkdownコンテンツに加えて、比較的シンプルなHTML形式でMySQLまたはMariaDBデータベースに保存されます。このHTML形式のシンプルさを維持するために、多くの設計および開発上の決定がなされています。元の文書コンテンツのオープン性と可搬性を維持するために、一般的な標準HTML要素を可能な限り使用しています。

アップロードされた画像、添付ファイル、作成された図面はローカル ファイル システムに保存されますが、オープンソースの MinIO などの S3 互換データ ストアに保存することもできます。

コンテンツのアクセシビリティを維持するために、PDF、HTML、プレーンテキスト、Markdown形式でエクスポートするオプションが組み込まれています。外部利用向けには、HTTP REST APIとWebhookシステムが用意されています。拡張性に関しては、「ロジカルテーマシステム」により、幅広いシステムイベントでカスタムPHPコードを実行できます。

ビジネスの準備

BookStackは、ビジネス環境をサポートする幅広い機能を提供します。SAML2、OpenID Connect、LDAPなど、幅広い認証オプションを標準でサポートしており、KeyCloakなどのプラットフォームを利用したシングルサインオンを容易に実現できます。多要素認証(MFA)もサポートされており、ロールに基づいた認証も可能です。監査ログにより、インスタンス全体の変更アクティビティを完全に可視化できます。

完全なロールベースのアクセス制御システムにより、管理者はシステムコンテンツの作成、閲覧、更新、削除を完全に制御できます。これにより、各ロールにシステムのデフォルト設定を適用できるほか、アイテムレベルごとにカスタム権限を設定することも可能になります。

支援対象コミュニティ

7年以上にわたる活発な開発を経て、BookStackコミュニティは成長を続け、ディスカッションやサポートのための様々なチャンネルが設けられています。現在、以下の機能を備えています。

  • ドキュメントサイト
  • YouTubeのビデオガイド
  • サブレディット
  • GitHubの問題のアクティブなリスト
  • 有料サービスサポート

BookStackをお試しになりたい場合は、デモウェブサイトからお試しいただけます。インスタンスの設定方法については、ドキュメントのインストールページをご覧ください。