私は、Alfresco リポジトリに接続する「Documents and Media」に似た liferay ポートレットに取り組んでおり、apache chemist オープン cmis API を使用してリポジトリ アイテムとやり取りしています。
ACE を介したアクセス許可の適用はほぼ完了しましたが、親フォルダーのプロパティをすべての子フォルダーに伝達する alfresco の「親スペースのアクセス許可を継承する」機能に対処するという大きな問題があります。この機能は cmis ではサポートされていないようですが、liferay からこのプロパティを編集する方法を見つける必要があります。
このプロパティを編集するための利用可能な高レベル API はありませんが、Alfresco の REST API を使用して回避策を作成できると思います。このようなことをしているのかもしれません。
しかし、それを行う前に、それを行う方法が他にないことを確認したいと思います。つまり、ここに欠けているのはかなり大きな機能です。私が正しく理解している場合、そのプロパティにアクセスできない場合は、次のいずれかを選択できます。
すべてのアイテムの継承を無効にすると、継承と ACL の伝達による利点が失われます。
または、すべてのスペースの継承を有効にします。ACL はルールを付与するように (ルールを制限するのではなく) 機能するため、リポジトリを深くナビゲートするにつれて、常に子リソースの制限が緩和されます。このようにして、すべての制限付きリソースを「会社のホーム」スペースのかなり近くに配置し、可用性の高いリソースをリポジトリ スペース構造の非常に奥深くに配置することになります。
- または、継承を有効にして、子リソースから 1 つのアクセス許可を削除するたびに、別の下位レベル API から alfresco を呼び出し、継承を無効にして (必要かどうかに関係なく、伝播されたすべての ACE を失います)、追加します。再び必要なエース。
これは私には合理的ではないように思えます。そのため、主要な高レベル API 機能など、ここに何かが欠けているのではないかと心配しています。私が正しい軌道に乗っているかどうか、および下位レベルの API 呼び出しが利用可能な唯一のオプションであるかどうかを誰かに教えてもらえますか?