Sharing pane overwrites current owner
オープン
まだ誰も着手していません。
bug
priority-high
- 主要言語
- TypeScript
- スター
- 153
- フォーク
- 46
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 7
説明
Did this always happen? It seems pretty big.
To Replicate:
- In the databrowser, create a new file in, say, the
privatefolder (https://jackson.localhost:8443/private/test.txt) - Once you do that, the private folder has two resources (
https://jackson.localhost:8443/private/test.txtandhttps://jackson.localhost:8443/private/.acl- the private folder's default acl, seen below)
# ACL resource for the private folder
@prefix acl: <http://www.w3.org/ns/auth/acl#>.
# The owner has all permissions
<#owner>
a acl:Authorization;
acl:agent <https://jackson.localhost:8443/profile/card#me>;
acl:accessTo <./>;
acl:defaultForNew <./>;
acl:mode acl:Read, acl:Write, acl:Control.
- At this point, everything's good.
text.txtinherits its permissions fromprivate's acl. - Go to the sharing pane and click "Set specific sharing preferences"
- This will cause a new file (
https://jackson.localhost:8443/private/test.txt.acl) to be made (see below)
@prefix : <#>.
@prefix acl: <http://www.w3.org/ns/auth/acl#>.
@prefix c: </profile/card#>.
:owner
a acl:Authorization;
acl:accessTo <test.txt>;
acl:agent c:me;
acl:mode acl:Control, acl:Read, acl:Write.
- Everything's still fine because it adds
c:meto the acl. - Now, click the green plus and the single person icon to add a new user.
- Add another webid like
https://ldp.demo-ess.inrupt.com/114176645321964550648/profile/card#me - This updates
https://jackson.localhost:8443/private/test.txt.aclto be below
@prefix : <#>.
@prefix n0: <http://www.w3.org/ns/auth/acl#>.
@prefix c: <https://ldp.demo-ess.inrupt.com/114176645321964550648/profile/card#>.
:Read a n0:Authorization; n0:accessTo <test.txt>; n0:agent c:me; n0:mode n0:Read.
- Notice that instead of adding the new user, it fully replaced the original owner of the document.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
“Set specific sharing preferences” と緑色のプラスによるユーザー追加で開始される共有ペインのフローから着手してください。新しい WebID が追加されたときに既存の ACL がどのように更新されるかを追跡します。新しいユーザーが追加され、現在の所有者と既存の権限が維持されれば完了です。結果の ACL を検証するため、issue に記載された手順を再現してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- typescript
- 領域
- authorization, frontend
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100