web-dev-qa-db-ja.com

他のどのユーザーがコンテンツを編集できるかをユーザーが判断できるようにするにはどうすればよいですか?

他のどのユーザーがコンテンツを編集できるかをユーザーに指定させたいのですが。基本的に、ユーザーはコンテンツの一部を作成でき、それを編集することはできますが、他のユーザーは編集できません(「管理者」を受け入れる)。これはすべて標準のDrupalのもので、非常に簡単です。しかし、今度は、ユーザーが他の特定のユーザーに作成したコンテンツを編集する権限を与えるようにします。つまり、「作成者」 「エディター」を割り当てて、元のユーザーが作成したコンテンツを他のユーザーが編集できるようになりました。

これがまだ明確でない場合のために、ここにユースケースがあります...

サイトは、特権ユーザーがサイト上にプロジェクト(ソフトウェア開発プロジェクトの意味でのプロジェクト)を作成できるようにするサブスクリプションを販売しています。サブスクリプションを購入したユーザーは、プロジェクトのコンテンツを構成するさまざまなコンテンツタイプのノードを作成できるようになりました。しかし、一人で仕事をするのが好きな人はいないので、他の人をプロジェクトに招待することができます。招待されたユーザーは、サブスクリプションを購入したユーザーが作成したコンテンツを編集できます。

それで...ユーザーが自分のコンテンツを編集できる特定の他のユーザーを指定し、それらの選択されたユーザーに元のユーザーによって作成されたすべてのノードに対する編集権限を与えることを許可するにはどうすればよいですか?

2
Chaulky

ノードアクセスユーザーリファレンス 私にとってはうまくいき、ユーザーの観点からは非常に使いやすかったです。

3
lordg

[〜#〜] acl [〜#〜] もご覧になることをお勧めします。どのユーザーがどのノードにアクセスできるかを構成できるAPIを提供します。また、前述のコンテンツアクセスモジュールは、その上にユーザーインターフェイスを提供しますが、これは管理ユーザーを対象としています。ですから、あなたが私たちに計画していることにはうまくいかないかもしれません。

ただし、ACLの上に特定のユースケース用のカスタムユーザーインターフェイスを作成することはそれほど複雑ではありません。

2
Berdir

コンテンツアクセス + [〜#〜] acl [〜#〜] を使用できますが、手順を注意深くお読みください。
また、 ルール モジュールをお勧めします。そこでは、ノードのフローとそのアクセスを制御できます(ただし、phpに関する「知識がほとんどない」必要があります)。

1
Nikit