SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
Drupal Meetup
GroupとContent Moderation
コンテンツマネジメントしたい時に入れるモジュール
2018年7月12日
合同会社ユビキタスライフスタイル研究所
萩原 高行
会社紹介
• 合同会社ユビキタスライフスタイル研究所
Ubiquitous Lifestyle Laboratory. LLC
– 設立:2013年3月28日
– 代表:萩原高行
– 長期ミッション:
誰もが場所にしばられずに協働できる社会の実現
– 事業概要:
Internet時代の新しいライフスタイル確立に関わる
研究を行い、その成果に基づいてITサービス、コン
サルティング等のサービスを提供する
1
やりたいこと:コンテンツの執筆、編集・承認、発行を部署単位で行いたい
• 利用したモジュール
– Workflows (core)
– Content Moderation (core)
• Editorial workflow – 標準添付のcontent moderation
– Group (contribution)
• group 8.x-1.0-rc2
2
モデル:ユーザーやコンテンツの想定
3
• 部署が2つ。部署A、部署B。
• 従業員の職位は執筆者と編集者。
部署Aには執筆者2名
(memberA1,memberA2)、
編集者2名(managerA1,managerA2)、
部署Bにはそれぞれ1名
(memberB1,managerB1)
• 記事(Articleコンテンツタイプ)は、
部署毎に執筆者または編集者がDraftを作
成し、編集者が公開(Publish)、公開終了
(Archive)操作を行えることとする。
• 執筆者、編集者は自部署の記事を公開状
態のまま改定案Draftを作成できる事とする。
• 他部署の執筆者はDraftの内容を見る事が
できない。
• 他部署の編集者は公開、公開終了操作を
行えない。
object Drupal
Groupの管理範囲 Workflowの管理範囲
組織: GroupType
組織A: Group
title = 組織1
Type = 組織
組織B: Group
title = 組織B
Type = 組織
memberA1: User
role = writer
memberA2: User
role = writer
managerA1: User
role = editor
managerA2: User
role = editor
memberB1: User
role = writer
managerB1: User
role = editor
memberA1:
GroupMember
Group role = writer
User = memberA1
Group = 組織A
memberA2:
GroupMember
Group role = writer
User = memberA2
Group = 組織A
managerA1:
GroupMember
Group role = editor
User = managerA1
Group = 組織A
managerA2:
GroupMember
Group role = editor
User = managerA2
Group = 組織A
記事1: Node
Publish = False
revision = 1
Author = memberA1
記事1:
GroupContent
Group = 組織1
Content = 記事1
記事1ドラフト: Editorial
Workflow
Actor = memberA1
Content = 記事1
state = Draft
記事1: Node
Publish = True
revision = 2
Author = memberA1
記事1公開: Editorial Workflow
Actor = managerA1
Content = 記事1
state = Published
記事1: Node
Publish = False
revision = 3
Author = memberA2
記事1ドラフト2: Editorial
Workflow
Actor = memberA2
Content = 記事1
state = Draft
memberB1:
GroupMember
Group role = writer
User = memberB1
Group = 組織B
managerB1:
GroupMember
Group role = writer
User = managerB1
Group = 組織B
Groupモジュールは、参
照、変更権限を拡張する
から、組織に属する記事の
アクセス権は、通常の
Roleによる権限を上書き
する
組織2のユーザーの組織1
に属する記事に関するアク
セス権は、Group typeの
Group RoleのOutsider
権限が適用される。
記事1非公開: Editorial
Workflow
Actor = managerA1
Content = 記事1
state = Archived
記事1: Node
Publish = False
revision = 4 (=2)
Author = memberA1
Archiveの遷移を選択すると
Publishedコンテンツが非公開になる
そのコンテンツをもう一度Draftに戻すこと
もできるし、任意のDraftを最新リビジョン
にしてからPublishすることもできる
editor-publish: transitionChart
to = publish
from = draft
role = editor
記事: GroupContentPrivilege
View unpublished コンテンツ entities = False
View コンテンツ entities = True
Group role = Anonymous
Content type = 記事
公開すれば誰でも見えるようにする
PublishステータスはWorkflowモ
ジュールによって管理される
ユーザーの設定
• 6名のユーザーをそれぞれ設定
– Content WorkflowのTransitionの権限はユーザーRoleと連動
4
Workflowの設定
• Content Workflowを有効にすると
Editorial workflowが基本ワークフロー
• 適用するコンテンツタイプを追加する
(ブロックにも適用可能)
5
Editorial workflowの設定
• ユーザーRole(執筆者、編集者)とtransition(遷移)権限を定義する
執筆者はDraftが作れるだけ(workflow設定はこれだけでOK)
6
Group Typeの設定
• Groupを作り、ついでGroup内のRole(権限) (コンテンツアクセス権)を追加する
7
Group管理対象コンテンツとアクセス権の設定
• 記事(コンテンツタイプ)をインストール
• Edit anyコンテンツで同僚の原稿を
操作可能に (revisionを作成)
• View unpublishedコンテンツで
部署のDraftコンテンツが読める
8
DEMO
9
クラスモデル
10
object Drupal
Groupの管理範囲 Workflowの管理範囲
組織: GroupType
組織A: Group
title = 組織1
Type = 組織
組織B: Group
title = 組織B
Type = 組織
memberA1: User
role = writer
memberA2: User
role = writer
managerA1: User
role = editor
managerA2: User
role = editor
memberB1: User
role = writer
managerB1: User
role = editor
memberA1:
GroupMember
Group role = writer
User = memberA1
Group = 組織A
memberA2:
GroupMember
Group role = writer
User = memberA2
Group = 組織A
managerA1:
GroupMember
Group role = editor
User = managerA1
Group = 組織A
managerA2:
GroupMember
Group role = editor
User = managerA2
Group = 組織A
記事1: Node
Publish = False
revision = 1
Author = memberA1
記事1:
GroupContent
Group = 組織1
Content = 記事1
記事1ドラフト: Editorial
Workflow
Actor = memberA1
Content = 記事1
state = Draft
記事1: Node
Publish = True
revision = 2
Author = memberA1
記事1公開: Editorial Workflow
Actor = managerA1
Content = 記事1
state = Published
記事1: Node
Publish = False
revision = 3
Author = memberA2
記事1ドラフト2: Editorial
Workflow
Actor = memberA2
Content = 記事1
state = Draft
memberB1:
GroupMember
Group role = writer
User = memberB1
Group = 組織B
managerB1:
GroupMember
Group role = writer
User = managerB1
Group = 組織B
Groupモジュールは、参
照、変更権限を拡張する
から、組織に属する記事の
アクセス権は、通常の
Roleによる権限を上書き
する
組織2のユーザーの組織1
に属する記事に関するアク
セス権は、Group typeの
Group RoleのOutsider
権限が適用される。
記事1非公開: Editorial
Workflow
Actor = managerA1
Content = 記事1
state = Archived
記事1: Node
Publish = False
revision = 4 (=2)
Author = memberA1
Archiveの遷移を選択すると
Publishedコンテンツが非公開になる
そのコンテンツをもう一度Draftに戻すこと
もできるし、任意のDraftを最新リビジョン
にしてからPublishすることもできる
editor-publish: transitionChart
to = publish
from = draft
role = editor
記事: GroupContentPrivilege
View unpublished コンテンツ entities = False
View コンテンツ entities = True
Group role = Anonymous
Content type = 記事
公開すれば誰でも見えるようにする
PublishステータスはWorkflowモ
ジュールによって管理される
Groupモジュールの課題
• 現在の権限設定は通常の
ユーザーroleとGroup roleを双
方設定する必要がある
• 致命的な欠点として、既に公
開されているコンテンツの場
合、他部署の編集者がDraftを
Publishできる
• Group roleでworkflow遷移権
限が定義できれば、ユーザー
roleの設定は不要になる
• Groupとworkflowの統合は
issue認識されている
Content moderation
integration: transition
permissions and latest version
access
https://www.drupal.org/projec
t/group/issues/2906085
11
気になる点
• Groupモジュールはコンテンツアクセスの認可を重くする
– パフォーマンスチェックはまだやっていない
• どのように要件を記述するか?
– どうしてもモデルが複雑になるので仕様記述が困難
12
それでも、この組み合わせに価値があると考えます
お問い合わせは
HAGI@ULSLAB.COM
までお願いします。
13
本資料の扱いは、creative commons 表示 4.0 国際 (CC BY 4.0)とします。ただし、引用コ
ンテンツについては、それぞれその条件に従ってください

Mais conteúdo relacionado

Semelhante a Group and Content Moderation for Drupal8

eZ Publish 2012年7月勉強会 - 権限システム
eZ Publish 2012年7月勉強会 - 権限システムeZ Publish 2012年7月勉強会 - 権限システム
eZ Publish 2012年7月勉強会 - 権限システムericsagnes
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」ericsagnes
 
アジャイルマネジメントとは?
アジャイルマネジメントとは?アジャイルマネジメントとは?
アジャイルマネジメントとは?Kiro Harada
 
Agileツール適合化分科会(dev opsツール)
Agileツール適合化分科会(dev opsツール)Agileツール適合化分科会(dev opsツール)
Agileツール適合化分科会(dev opsツール)masanori kataoka
 
20140120 Movable Type Seminar
20140120 Movable Type Seminar20140120 Movable Type Seminar
20140120 Movable Type SeminarSix Apart
 
20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminarSix Apart
 
Drupal のコア要素を知る ~構築を支える道具立て~
Drupal のコア要素を知る ~構築を支える道具立て~Drupal のコア要素を知る ~構築を支える道具立て~
Drupal のコア要素を知る ~構築を支える道具立て~Kenji Shirane
 
Moodle によるe ラーニングシステムの概要と連動するストリーミングシステム教育ITソリューションEXPO5/18
Moodle によるe ラーニングシステムの概要と連動するストリーミングシステム教育ITソリューションEXPO5/18Moodle によるe ラーニングシステムの概要と連動するストリーミングシステム教育ITソリューションEXPO5/18
Moodle によるe ラーニングシステムの概要と連動するストリーミングシステム教育ITソリューションEXPO5/18アテイン株式会社
 
詳説 Movable type 7
詳説 Movable type 7詳説 Movable type 7
詳説 Movable type 7Yuji Takayama
 
20140228 Movable Type Seminar
20140228 Movable Type Seminar20140228 Movable Type Seminar
20140228 Movable Type SeminarSix Apart
 
グループポリシーでWindowsファイアウォール制御 120602
グループポリシーでWindowsファイアウォール制御 120602グループポリシーでWindowsファイアウォール制御 120602
グループポリシーでWindowsファイアウォール制御 120602wintechq
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理Tadashi Miyazato
 
アジャイル開発&TFS導入
アジャイル開発&TFS導入アジャイル開発&TFS導入
アジャイル開発&TFS導入You&I
 
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜Ryo Sasaki
 
20130911 Movable Type Seminar
20130911 Movable Type Seminar20130911 Movable Type Seminar
20130911 Movable Type SeminarSix Apart
 
20130909 movable type_seminar
20130909 movable type_seminar20130909 movable type_seminar
20130909 movable type_seminarSix Apart
 

Semelhante a Group and Content Moderation for Drupal8 (20)

eZ Publish 2012年7月勉強会 - 権限システム
eZ Publish 2012年7月勉強会 - 権限システムeZ Publish 2012年7月勉強会 - 権限システム
eZ Publish 2012年7月勉強会 - 権限システム
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
 
Pivotal Tracker概略
Pivotal Tracker概略Pivotal Tracker概略
Pivotal Tracker概略
 
Atlassian Summit US 2017 #augj
Atlassian Summit US 2017 #augjAtlassian Summit US 2017 #augj
Atlassian Summit US 2017 #augj
 
アジャイルマネジメントとは?
アジャイルマネジメントとは?アジャイルマネジメントとは?
アジャイルマネジメントとは?
 
Agileツール適合化分科会(dev opsツール)
Agileツール適合化分科会(dev opsツール)Agileツール適合化分科会(dev opsツール)
Agileツール適合化分科会(dev opsツール)
 
20140120 Movable Type Seminar
20140120 Movable Type Seminar20140120 Movable Type Seminar
20140120 Movable Type Seminar
 
20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar
 
Drupal のコア要素を知る ~構築を支える道具立て~
Drupal のコア要素を知る ~構築を支える道具立て~Drupal のコア要素を知る ~構築を支える道具立て~
Drupal のコア要素を知る ~構築を支える道具立て~
 
Moodle によるe ラーニングシステムの概要と連動するストリーミングシステム教育ITソリューションEXPO5/18
Moodle によるe ラーニングシステムの概要と連動するストリーミングシステム教育ITソリューションEXPO5/18Moodle によるe ラーニングシステムの概要と連動するストリーミングシステム教育ITソリューションEXPO5/18
Moodle によるe ラーニングシステムの概要と連動するストリーミングシステム教育ITソリューションEXPO5/18
 
詳説 Movable type 7
詳説 Movable type 7詳説 Movable type 7
詳説 Movable type 7
 
20140228 Movable Type Seminar
20140228 Movable Type Seminar20140228 Movable Type Seminar
20140228 Movable Type Seminar
 
Yahoo! JAPANでのHadoop利用について
Yahoo! JAPANでのHadoop利用についてYahoo! JAPANでのHadoop利用について
Yahoo! JAPANでのHadoop利用について
 
グループポリシーでWindowsファイアウォール制御 120602
グループポリシーでWindowsファイアウォール制御 120602グループポリシーでWindowsファイアウォール制御 120602
グループポリシーでWindowsファイアウォール制御 120602
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
 
アジャイル開発&TFS導入
アジャイル開発&TFS導入アジャイル開発&TFS導入
アジャイル開発&TFS導入
 
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
 
ソーシャルダッシュボード+機能概要説明
ソーシャルダッシュボード+機能概要説明ソーシャルダッシュボード+機能概要説明
ソーシャルダッシュボード+機能概要説明
 
20130911 Movable Type Seminar
20130911 Movable Type Seminar20130911 Movable Type Seminar
20130911 Movable Type Seminar
 
20130909 movable type_seminar
20130909 movable type_seminar20130909 movable type_seminar
20130909 movable type_seminar
 

Mais de Takayuki Hagihara

書評:ベネディクト・アンダーソン グローバリゼーションを語る
書評:ベネディクト・アンダーソン グローバリゼーションを語る書評:ベネディクト・アンダーソン グローバリゼーションを語る
書評:ベネディクト・アンダーソン グローバリゼーションを語るTakayuki Hagihara
 
シェアワークプレースの動向
シェアワークプレースの動向シェアワークプレースの動向
シェアワークプレースの動向Takayuki Hagihara
 
Jisa simposium 120614 selected slides
Jisa simposium 120614 selected slidesJisa simposium 120614 selected slides
Jisa simposium 120614 selected slidesTakayuki Hagihara
 

Mais de Takayuki Hagihara (6)

DrupalCon19参加報告
DrupalCon19参加報告DrupalCon19参加報告
DrupalCon19参加報告
 
Drupal social api
Drupal social apiDrupal social api
Drupal social api
 
Drupal con17
Drupal con17Drupal con17
Drupal con17
 
書評:ベネディクト・アンダーソン グローバリゼーションを語る
書評:ベネディクト・アンダーソン グローバリゼーションを語る書評:ベネディクト・アンダーソン グローバリゼーションを語る
書評:ベネディクト・アンダーソン グローバリゼーションを語る
 
シェアワークプレースの動向
シェアワークプレースの動向シェアワークプレースの動向
シェアワークプレースの動向
 
Jisa simposium 120614 selected slides
Jisa simposium 120614 selected slidesJisa simposium 120614 selected slides
Jisa simposium 120614 selected slides
 

Group and Content Moderation for Drupal8