ポータルサイト、会員制サイトなどでは「ユーザーごとに表示を分けたい」という声が多々あります。
- ポータルサイトでは例えば…
-
全社情報とユーザーが所属している部署に関するお知らせ情報だけを表示させたい
- 本社・子会社すべてで利用している社内ポータルサイトだが、子会社には見せたくない情報がある
-
- 会員制サイトでは例えば…
-
非会員:会員限定情報は表示させたくない
- 会員 :会員限定情報と非会員にも見える情報を表示させたい
- 会員、非会員に関わらず、ユーザーがいる地域によってコンテンツ表示を出し分けたい
-
こういった動作も concrete5 では標準搭載されている権限設定やアドオンで実現可能です。
弊社がお手伝いした社内ポータルサイトでは、組織=グループにしてユーザー情報に紐付けたり、編集者用のグループを作成してユーザーに紐づけて運用している企業様もあります。
今回は、グループ権限に関する話と、無償アドオンのご紹介です。
目次 |
concrete5 の「グループ」とは?
ページの閲覧、編集、ユーザーに対する操作などの権限に使う「役割」のようなものです。
「サイト管理者」「部署A」「ページ編集者」など、ユーザーによって CMS 上で操作したい内容は異なりますよね。 cocnrete5 では、この権限のくくりを「グループ」と呼んでいます。他 CMS では「ロール」「役割」と呼称している場合もあります。
基本はユーザーが登録しているかしていないか
CMS は、基本的に閲覧させるだけであればユーザー登録していなくとも運用可能です。concrete5 では閲覧だけのグループ、ゲストが標準装備されています。
そしてもうひとつ、登録されているユーザーのみを対象としたグループ、登録ユーザーも標準装備されています。
例えば会員だけに表示させたいブロックがあるときは、ブロックの「表示」権限を登録ユーザーのみにすると、会員限定のブロックが表示されます。
この「表示」制御はブロック単位、ページ単位で可能です。
ページ単位であれば「ある特定階層以下のページは表示させない」といった表示制御をすることも可能です。
グループはユーザーが「何の権限を持っているのか」が分かりやすくなる
「ゲスト」は concrete5 に登録されていないユーザーのため、更にグループを細分化することはできませんが、concrete5 に登録されているユーザーであればさらにグループを細かくすることができます。例えばブログ投稿者用のグループ「投稿者」を作成し、「投稿者」グループのユーザーだけがブログ記事を書けるようにするといった制御も可能です。
もちろん、グループの名付け方次第にはよると思いますが「何の権限を持っているのか」「何を目的としたグループなのか」区別がしやすくなります。
例)「ブログ記事」が追加できるように設定した 投稿者 グループを、blogger ユーザーに設定
例)blogger ユーザーでログインすると、ページアイコンから「ブログ記事」を作成できるようになる
さらに細かく権限を設定してみる
ここまでの話ですと、大まかに言えば「ブログ記事を書ける人」でカテゴライズされるのですが、ここから更に条件を厳しくすることができます。
「投稿者」かつ「広報部」グループに所属しているユーザーでなければ編集できないようにしたい、といった制御も可能です。これは「グループの組み合わせ」機能で実現することができます。
例)グループの組み合わせで「投稿者」かつ「広報部」しか権限がないようにする
ここからさらに、特定のユーザー(外部社員等)には触ってほしくない権限を除外する、ということも可能です。
例)ページの「コンテンツを編集」権限から、「投稿者」かつ「広報部」に含まれる「blogger.add」ユーザーを除外する
権限周りは、設定次第でいろんな状態を実現することができます。ユーザー個別に設定することもできますし、グループ単位で設定することも可能です。
権限で実現できることについては、また後日あらためて紹介します。
ユーザーがいる地域ごとに違うコンテンツを出せるアドオン
北海道や関東、関西など、ユーザーがいる地域ごとにコンテンツを出し分けてみたい…という要望にぴったりな、無償アドオンのご紹介です。はじめにお断りしておきますが、アドオン自体は無償です。しかしその先の地理的位置情報を調べるサービスは商用目的の場合は有償です。
サイト訪問者のIPアドレスと第三者サービスを使用して、サイト訪問者がどの地域から閲覧しているのか判別してコンテンツを表示させることができるアドオンです。(開発者の PortlandLabs は concrete5 の開発元)
第三者サービスは ipinfo.io を利用しています。非商用目的、かつ月アクセスが5万件以内であれば無料で利用できます。もしご興味があれば、ぜひインストールしてみてください。
いかがでしたでしょうか?
もし、今後、ページの編集だけさせたり、特定のユーザーにだけコンテンツを表示させるような挙動をお考えの場合は、ぜひグループの設定をご検討ください。