cradleさんはじめまして
modxの機能の中でもかなり理解しづらい部分ですので、ご質問の趣旨や実現したいことがしっかり把握できずに間違ったことを言ったらお許しを。
Quote from: cradle at May 19, 2009, 08:08 PM
私は、各ドキュメントごとに、任意のユーザーを割り当てて、その他のユーザーが「編集/保存/公開/削除」をすることができない仕組みにしたいのですが。
可能です。半月チャレンジされたとのことから詳細は割愛します。
Quote from: cradle at May 19, 2009, 08:08 PM
ユーザーグループとドキュメントグループを関連付けて、ドキュメントごとにアクセス許可を設定し、任意のユーザーでアクセスした場合、親ドキュメントにアクセス許可がないと、その下の階層のドキュメントはすべて、modx上では非表示になってしまいます。
設定の仕方によってはそうなることがあるかもしれませんが、親ドキュメントへのアクセス権限がなくとも、その子ドキュメントがアクセス可能になっていれば、管理画面のツリーには、親を除外した形(つまりひとつ上の階層のドキュメントとして)で表示されます。私の環境で設定したところ、親を除外した形(つまりひとつ上の階層のドキュメントとして)で表示されました。(操作手順や細かい設定の差異をこの返信ですべて網羅することは厳しそうなので後ほど?)
[5/20]仰るとおり、親のアクセス許可だけを外す設定自体は可能ですが、ツリー表示の際に親のアクセス権限が子に継承され非表示になります。以前、ツリーに表示させるところまではチャレンジしたのですが、その後の処理に不整合が起こるためハックをロールバックした経緯があります。
Quote from: cradle at May 19, 2009, 08:08 PM
それは当たり前だと怒られてしまうかもしれないのですが。私としては、各ドキュメントを親子に関係なく個々に「編集/保存/公開/削除」をできるようにしたいのです。
システムによってはそのように実装されてるものもあると思いますが、上記のとおり可能だと思います。
Quote from: cradle at May 19, 2009, 08:08 PM
現状ではアクセス許可がないドキュメントはmodx上では表示されない仕組みのようなのですが、
仰るとおりです。触れないものは見せない/見えない/隠す、という基本理念でシステムが組まれてるのだと思います。
Quote from: cradle at May 19, 2009, 08:08 PM
これを全て表示させるようにし、編集などの作業は許可されたドキュメントのみに行なえる仕組みにできれば、解決するような気がするのですが、半月くらい試行錯誤しているのですが、もう手も足も出ない状況です。どなたかアドバイスをいただけないでしょうか。
これは無理かもしれません。上記「触れないものは見せない/見えない/隠す、という理念」が優先するため、ドキュメントへのアクセスを無効にしたユーザは、当該ドキュメントを見ることはできません。
但し、全てのドキュメント階層をリードオンリーで見せることは可能です。リードオンリーで見せるには、ドキュメントへの書き込み権限を剥奪したロールを作り、当該グループにユーザを配置します。動きとしては、保存操作のタイミングで書き込むことができない、とシステムから怒られます。
Quote from: cradle at May 19, 2009, 08:08 PM
ちなみに、modx管理画面内のツリー構造は、サイトマップと同じ表示にしたいので、ツリー構造をあまり崩さない形でお願いします。(ユーザビリティーの配慮とサイトマップの自動生成や、wayfinderによるナビゲーションメニューの自動生成、の都合上)
上記のようなわけで、
すべての要求を満足することはできそうにありません [5/20]現状ではできそうにありません。
要求事項は理解できますが、発想を変えて考えてみますと、すべてのドキュメントが見えてしまうと、どれが自分の触れるドキュメントかを判別しづらくなるかもしれません。あらかじめ、アイコンなどで触れるものと触れないものを明示する機能が加わればこの弊害は緩和されると思いますが、触れないものが見えないということは、ある種ユーザを考えた優しさと私は理解してます。