オープンソース

一覧へ

5. 記事の公開範囲を設定する

5.1. Wiki.jsの権限について

Wiki.jsは、記事の参照・編集・移動など細かい権限を付与することができます。 これらの権限は、グループごとに設定を行います。

以下は、Wiki.jsのグループ、ユーザー、権限の関係性をイメージ化したものです。

Wiki.jsのグループの役割

このように、ユーザーが表示できる記事や実行できる内容はグループを用いて設定を行います。 グループの管理については グループを管理する を参照してください。

Wiki.jsの権限は、大きく2つの要素があります。

  • グローバル許可設定: グループが可能な操作 (記事の参照、編集や削除) の設定
  • ページルール グループに対して、ページごとに許可・拒否する操作のルール

グローバル許可設定は、記事の参照、編集や削除など具体的な操作の権限を付与します。 例えば、 read:pages はページを閲覧できる権限で、 write:assets は画像とファイルをアップロードする権限です。 設定できる権限の詳細については グループが可能な操作を設定する を参照してください。

グローバル許可設定は、ユーザーが特定の操作のみを実行できるように制限することはできますが、これらの権限をどこに適用するかを制御することはできません。 例えば、ユーザーに対し、 /全社情報 の下のページは閲覧でき、 /部署/情報システム部 の下のページは表示できないようにしたい場合があります。ここで使用するのがページルールです。

ページルールは、権限が適用される場所を指定することができます。 ページルールの設定については、 フォルダ構造を決める を参照してください。

ユーザーが複数のグループに所属している場合は、まとめて拒否/許可のルールの評価が行われます。 そのため、一般的な権限を持つグループと、部分的に強い権限を持つグループを別で作成すると、管理がしやすくなります。

5.2. フォルダ構造を決める

上述の通り、Wiki.jsでは、フォルダとグループの権限により、公開範囲を制限することができます。

例えば、部署ごとに記事を管理したいのであれば、部署ごとのフォルダを作成する必要があります。 記事のフォルダと、画像などのデータを管理するフォルダは別となるため、部署ごとのデータ用フォルダも作成する必要があります。

さらに、各部署のフォルダをその部署の人しか編集できないようにしたい場合は、部署ごとにグループを作成し、そのグループに編集権限などを付与する必要があります。

このようなことを踏まえ、運用を開始する前に、以下について決めておく必要があります。

  • 記事を配置するフォルダ
  • 画像などのデータを配置するフォルダ
  • ユーザーを所属させるグループ
  • どのグループにどのフォルダを許可/禁止するか

Note

Wiki.jsでは、あらかじめシステム側で予約されているフォルダ名やファイル名が存在します。 予約されているフォルダ名やファイル名は使用することができません。 詳しくは フォルダ作成時の注意点 を参照してください。

5.2.1. 記事のフォルダ構造を決める

まずは、記事のフォルダ構造を決めておきます。 例えば、次のような構造になります。

/
├ ─ ─  home(トップページ)
├ ─ ─  技術情報/
├ ─ ─  全社情報/
└ ─ ─  部署/
    ├ ─ ─  人事部/
    ├ ─ ─  情報システム部/情報システム
    ├ ─ ─  営業部/
    └ ─ ─  技術部/

5.2.2. データ用のフォルダ構造を決める

Wiki.jsでは、記事とアップロードされた画像などのデータは、若干取扱い方が異なります。 記事のフォルダ構造と同じように管理しても構いませんが、次のようにデータ部分のみ フォルダ構造を変えて管理することもできます。

/data
├ ─ ─  全社/
├ ─ ─  人事部/
├ ─ ─  情報システム部/
├ ─ ─  営業部/
└ ─ ─  技術部/

Note

現在、Wiki.jsでは作成したフォルダをWEB画面上で削除することができません。 削除するにはデータベースでの操作が必要となりますので注意してください。 削除方法については データ用フォルダをデータベースから削除する を参照してください。

5.3. ページルールを設定し記事の公開範囲を設定する

記事の公開範囲を設定するには、ページルールで設定を行います。

ページルールの設定を行うには、管理画面の グループ から行います。 グループ一覧から設定を行いたいグループを選択します。

Wiki.jsグループ一覧

ページルールの設定は、 PAGE RULES タブで設定します。

Wiki.jsのPERMISSIONS設定

PAGE RULEでは、左から順に以下の項目を設定できます。

  • 許可/拒否:許可または拒否を選択します。マウスクリックで切り替えることができます。
  • 対象権限:対象となる権限(操作)を選択します。 PERMISSIONS タブの設定で許可されている必要があります。
  • 条件:対象となるパスの設定と、実際のパスの一致させるための条件を選択します。
    • Path Starts with: 前方一致
    • Path is Exactly: 完全一致
    • Path Ends With: 後方一致
    • Path Matches Regex: 正規表現による一致
    • Tag Matches: タグのマッチング
  • 対象言語:許可設定が適用される記事の言語を選択します。
  • 対象パス:対象となるパスを指定します。

なお、ルールを複数登録した場合は、記述順とは無関係に、必ず拒否のルールが優先されます。

これらの設定を組み合わせることで、記事の公開範囲を設定することができます。 ページルールでは、以下3つの方法で公開範囲を制限することができます。 具体的な設定方法については、各リンクを参照してください。

  1. フォルダごとに権限を設定する
    • Wiki.jsは、フォルダ構造を用いて記事を管理することができます。フォルダに対し公開範囲を設定することで、そのフォルダ配下にある記事に対し制限を行うことができます。
    • (フォルダ構造について詳しくは Wiki.jsのフォルダ構造について を参照してください。)
  2. ファイル名ごとに権限を設定する
    • Wiki.jsは、記事をファイルとして保存します。ファイル名を指定し公開範囲を設定することで、その記事だけに制限を行うことができます。
  3. タグごとに権限を設定する
    • Wiki.jsは、記事作成時に検索用のタグを付与することができます。タグは、情報が整理されていなくとも、情報への到達性を上げることができる便利な機能です。このタグに対しても公開範囲を設定することができます。

5.4. Wiki.jsのフォルダ構造について

Wiki.jsでは、記事や画像などのデータをフォルダ構造を用いて管理しています。 ただし、記事を管理するための構造は、一般的なフォルダ構造と異なります。

特徴的なのは 新しいフォルダを作成する必要がないという点です。 記事を作成する際に、新しいファイルパスを指定するだけで、自動的に階層構造が作られます。

次は、Wiki.jsのフォルダ構造と、伝統的なフォルダ構造をイメージ化した画像です。

フォルダ構造のイメージ

この仕組みがあるため、記事をまとめていくときにフォルダを作成する手間を省くことができます。

記事を管理するためのフォルダは、新しく作成する必要はありませんが、画像などのデータを管理するフォルダは作成するという作業が必要になります。 データ用のフォルダ作成は、記事の編集画面から行うことができます。

Note

Wiki.jsでは、あらかじめシステム側で予約されているフォルダ名やファイル名が存在します。 予約されているフォルダ名やファイル名は使用することができません。 詳しくは フォルダ作成時の注意点 を参照してください。

5.5. 記事のフォルダを作成する

ここでは、記事のフォルダ作成について解説します。

記事のフォルダは、ページを作成するときに自動で作成されます。 そのため、記事のフォルダだけを作成することはできません。 合わせてデフォルトとなるページを作成する必要があります。

画面右上の 新規作成 ボタンから作成します。

Wiki.js記事新規作成

作成したいフォルダをパスに入力し 選択 を押します。

Wiki.js記事パス入力

Wiki.js は、複数のエディタを用いてページの作成を行うことができるため、エディタの選択画面が表示されます。

ここでは、視覚的に作成可能な Visual Editor を選択します。 エディタの詳しい使用方法については、ユーザーマニュアルを参照してください。

Wiki.jsエディタ選択画面

エディタを選択すると、ページの情報入力フォームが現れます。

Wiki.js記事情報入力

入力する項目は以下の通りです。

  • タイトル:ページのタイトルを入力します
  • 簡単な説明:タイトルの下に表示されるページの概要を入力します
  • 言語:記事で使用する言語を指定します
  • パス:記事のパスを指定します
    • パスには空白は使用できません。代わりに-(ハイフン)を使用してください。
    • 末尾にスラッシュは含めないでください。
    • 作成したいパスを入力すると、フォルダは自動で作成されます。
      • たとえば、 universe/planets/earth のように入力すると自動的に universe と planets のサブフォルダが存在するように振る舞います。
    • システムで予約されているため使用できない文字もあります。詳しくは フォルダ作成時の注意点 を参照してください。
  • カテゴリー:タグを追加します
    • 入力項目にタグを入力し、エンターを押すことでタグを追加できます。
    • 追加したタグは後から記事の検索で使用できます

入力後、 OK をクリックします。

続いて記事の中身を作成します。 記事を入力後、 作成 をクリックします。

Wiki.js記事新規作成

記事を保存すると、作成したページが表示されます。

Wiki.js記事新規作成

これで、記事のフォルダの作成と、デフォルトページの作成が完了となります。

5.6. アップロードファイルのフォルダを作成する

ここでは、アップロードファイルのフォルダ作成について解説します。

データ用のフォルダの作成は、記事の編集画面からしか行うことができません。

右上の ページアクション から 編集 をクリックします。 もしくは、画面右下の ページを編集 をクリックします。

Wiki.js記事の編集

編集画面にある Insert Assets をクリックします。

Wiki.jsグループ一覧画面

画像の管理インタフェースが表示されます。 データ用のフォルダを作成するため、 + 新しいフォルダ をクリックします。

Wiki.jsグループ一覧画面

作成するフォルダ名を入力します。 システムで予約されているため使用できない文字もあります。詳しくは フォルダ作成時の注意点 を参照してください。

入力後、 作成 をクリックします。

Wiki.jsグループ一覧画面

フォルダが作成されると、フォルダ一覧に追加したフォルダが表示されます。

Wiki.jsグループ一覧画面

続けて複数作成したい場合は、 + 新しいフォルダ をクリックすることで追加できます。

Note

現在、Wiki.jsでは作成したフォルダをWEB画面上で削除することができません。 削除するにはデータベースでの操作が必要となりますので注意してください。 削除方法については データ用フォルダをデータベースから削除する を参照してください。

5.7. フォルダごとに権限を設定する

ここではフォルダごとに権限を設定する方法について解説します。

フォルダごとに権限を設定するには、管理画面の グループ から行います。 グループ一覧画面を表示し、権限を設定したいグループを選択します。

Wiki.jsグループ一覧

ここでは、情報システム部に対し以下の条件で設定を行う例で解説します。

  • /部署/情報システム部/情報システムフォルダ配下の記事は閲覧/作成/編集/削除を許可
  • /情報システム部フォルダ配下のデータは閲覧/作成/編集を許可

設定内容は以下の通りです。

  • 情報システムフォルダに対する設定
    • 許可/拒否:許可
    • 対象権限:read:pages、write:pages、manage:pages、delete:pages、read:source、read:history、read:comments、write:comments、manage:comments
    • 条件:Path Starts with (前方一致)
    • 対象言語:Any Local
    • 対象パス:/部署/情報システム部/情報システム
  • 情報システム部のデータフォルダに対する設定
    • 許可/拒否:許可
    • 対象権限:read:assets、write:assets、manage:assets
    • 条件:Path Starts with (前方一致)
    • 対象言語:Any Local
    • 対象パス:/情報システム部

事前に操作の許可を、グローバル許可設定で許可しておく必要があります。 グローバル許可設定については、 グループが可能な操作を設定する を参照してください。

グローバル許可設定のあと、ページルールの設定でファイル名に対し権限を設定していきます。 ページルールの設定は、PAGE RULESタブから行います。

Wiki.jsのPAGE RULES設定

フォルダ配下に対し権限を設定する場合は、条件を Path Starts with (前方一致)に設定するのがポイントです。 条件を前方一致にすることで、指定したパス配下に対して、指定した権限で制限を行うことができます。

設定後、 UPDATE GROUP をクリックします。

5.8. ファイル名ごとに権限を設定する

ファイル名ごとに権限を設定するには、管理画面の グループ から行います。 グループ一覧画面を表示し、権限を設定したいグループを選択します。

ここでは、Guestsグループ対し設定を行う例です。

Wiki.jsグループ一覧

ここでは、Guestsグループに対し以下の条件で設定を行う例で解説します。

  • トップページ(/home)のみ閲覧許可

設定内容は以下の通りです。

  • home(トップページ)に対する設定
    • 許可/拒否:許可
    • 対象権限:read:pages、read:assets、read:comments
    • 条件:Path is Exactly (完全一致)
    • 対象言語:Any Local
    • 対象パス:/home

事前に操作の許可を、グローバル許可設定で許可しておく必要があります。 グローバル許可設定については、 グループが可能な操作を設定する を参照してください。

グローバル許可設定のあと、ページルールの設定でファイル名に対し権限を設定していきます。 ページルールの設定は、PAGE RULESタブから行います。

Wiki.jsのPAGE RULES設定

ファイル名を指定し権限を設定する場合は、条件を Path is Exactly (完全一致)に設定するのがポイントです。 これにより、パスで指定したファイルだけに対して権限を制限することができます。

設定後、 UPDATE GROUP をクリックします。

これでファイル名 /home (トップページ)の閲覧のみ許可設定は完了です。 他にもファイル名ごとの権限を追加したい場合は、 + ADD RULE をクリックし、ルールを追加します。

5.9. フォルダとファイル名を組み合わせて許可設定を行う

ここではフォルダとファイル名組み合わせてそれぞに権限を設定する方法について解説します。

権限を設定するには、管理画面の グループ から行います。 グループ一覧画面を表示し、権限を設定したいグループを選択します。

Wiki.jsグループ一覧

ここでは、全社グループに対し以下の条件で設定を行う例で解説します。

  • 部署フォルダは閲覧のみ許可
  • ただし情報システム部のフォルダは閲覧不可とする
  • 技術情報フォルダと全社情報フォルダは閲覧も編集も許可
  • トップページは閲覧のみ許可

設定内容は以下の通りです。

  • 技術情報フォルダ配下の設定
    • 許可/拒否:許可
    • 対象権限:read:pages、write:pages、manage:pages、delete:pages、read:source、read:history、read:comments、write:comments、manage:comments
    • 条件:Path Starts with (前方一致)
    • 対象言語:Any Local
    • 対象パス:/技術情報
  • 全社情報フォルダ配下の設定
    • 許可/拒否:許可
    • 対象権限:read:pages、write:pages、manage:pages、delete:pages、read:source、read:history、read:comments、write:comments、manage:comments
    • 条件:Path Starts with (前方一致)
    • 対象言語:Any Local
    • 対象パス:/全社情報
  • 部署フォルダ配下の設定
    • 許可/拒否:許可
    • 対象権限:read:pages、read:history、read:assets、read:comments
    • 条件:Path Starts with (前方一致)
    • 対象言語:Any Local
    • 対象パス:/部署
  • 情報システム部フォルダ配下の設定
    • 許可/拒否: 拒否
    • 対象権限:read:pages
    • 条件:Path Starts with (前方一致)
    • 対象言語:Any Local
    • 対象パス:/部署/情報システム部
  • 全社フォルダ配下の設定
    • 許可/拒否:許可
    • 対象権限:read:assets、write:assets、manage:assets
    • 条件:Path Starts with (前方一致)
    • 対象言語:Any Local
    • 対象パス:/全社
  • home(トップページ)に対する設定
    • 許可/拒否:許可
    • 対象権限:read:pages、read:assets、read:comments
    • 条件:Path is Exactly (完全一致)
    • 対象言語:Any Local
    • 対象パス:/home

事前に操作の許可を、グローバル許可設定で許可しておく必要があります。 グローバル許可設定については、 グループが可能な操作を設定する を参照してください。

グローバル許可設定のあと、ページルールの設定でファイル名に対し権限を設定していきます。 ページルールの設定は、PAGE RULESタブから行います。

Wiki.jsのPAGE RULES設定

許可・拒否のルールは、マウスクリックで切り替えることができます。 なお、ルールを複数登録した場合は、記述順とは無関係に、必ず拒否のルールが優先されます。

設定後、 UPDATE GROUP をクリックします。

5.10. タグごとに権限を設定する

Wiki.jsでは記事作成時にタグを付与し、後から検索の絞り込みに利用することができます。

このタグに対しても権限を設定することができます。 この機能により、「設定変更」というタグのついた記事は、情報システム部と技術部に所属するユーザーしか変更ができない、ということができます。

ここでは、以下の条件で設定を行う例で解説します。

  • 「設定変更」というタグのついた記事に対して以下の制限を行う
    • 記事を変更できるのは情報システム部と技術部に所属するユーザーのみ
    • それ以外の部署に所属するユーザーは閲覧のみ可能

設定内容は以下の通りです。

  • 情報システム部と技術部グループに対する設定
    • 許可/拒否:許可
    • 対象権限:write:pages、manage:pages、delete:pages、write:assets、manage:assets
    • 条件:Tag Matches(タグの一致)
    • 対象言語:Any Local
    • 対象パス:設定方法
  • その他の部署に対する設定
    • 許可/拒否:拒否
    • 対象権限:write:pages、manage:pages、delete:pages、write:assets、manage:assets
    • 条件:Tag Matches(タグの一致)
    • 対象言語:Any Local
    • 対象パス:設定方法

権限を設定するには、管理画面の グループ から行います。 グループ一覧画面を表示し、権限を設定したいグループを選択します。

Wiki.jsグループ一覧

以下は情報システム部に 許可設定 を追加する画面例です。

Wiki.jsタグ設定

設定後、 UPDATE GROUPS をクリックし設定を反映します。 同様に技術部グループにも設定を追加してください。

その他の部署は拒否設定を追加します。 以下は人事部に 拒否設定 を追加する画面例です。

Wiki.jsタグ設定

設定後、 UPDATE GROUPS をクリックし設定を反映します。 同様にその他の部署のグループにも設定を追加してください。

5.11. 未ログインユーザーの許可設定を行う

Wiki.jsではログインしていないユーザーは、 便宜的にGuests グループの権限で動作します。 このため、未ログインユーザーの権限を変えるためには、Guests グループの設定を行います。

Wiki.jsグループ一覧

Guests(未ログインユーザー)は、/home(トップページ)の閲覧のみ許可設定を行う場合、以下のように設定します。

  • home(トップページ)に対する設定
    • 許可/拒否:許可
    • 対象権限:read:pages、read:assets、read:comments
    • 条件:Path is Exactly (完全一致)
    • 対象言語:Any Local
    • 対象パス:/home

事前に操作の許可を、グローバル許可設定で許可しておく必要があります。 グローバル許可設定の設定方法については、 グループが可能な操作を設定する を参照してください。

グローバル許可設定後、 /home の閲覧設定をページルール設定で行います。 ページルールの設定方法については ファイル名ごとに権限を設定する を参照してください。

一覧へ