Sharing Pane: Developers Notes for redesign (code in solid-ui now)
@SharonStrats 已经在做这个了。
开始于 2026年6月1日。
评估
这个 Issue 还没有评估数据。
描述
Wanted to document my findings and some ideas/notes on redesign work and how we could go about it, what we might be able to reuse etc.
Current Design Structure
Overview
Currently the sharingPane in solid-panes is only a wrapper for the function ACLControlBox5 this as well is basically a wrapper for the AccessControler. The groups such as Viewers, Editors, etc are defined and rendered by the AccessGroups render function. There is then the 'Add + Button' where you can select access recipients/agents. These are dragged/dropped onto the access groups and automatically saved.
Data
- The save happens in the Access controller here.
Set and Remove default permissions
The following are used for the buttons that appear at the bottom under the Add + button and/or the agent list. It's based on whether the using default acl flag is true or false. If true then you get the button to set the acl for the resource, if false you get the button to remove the acl for the resource.
- add ACLs which creates a specific ACL for the current resource by copying the inherited default ACL into the target ACL document.
- remove ACLs which deletes the custom ACL file for this resource and go back to inherited default sharing
Using the Add button
- add a new URI which adds this new agent as a Viewer, then saves the ACL. Not drag and drop.
- dropped handlers when the user drags and drops on a group.
- delete Agent which removes one existing recipient/agent from one specific access combo, then saves the ACL.
New Design Potential Structure
Based on the review of the current sharingPane implementation, it does not look practical to reuse the existing ACL code directly in a new dialog.
The main issue is that the current read/write ACL logic is tightly coupled to the existing UI classes in solid-ui, in the ACL UI components the access controller and access groups. Because of that, the current code is not structured as a reusable data layer that a new dialog could call cleanly.
The best path is likely to use the existing code as reference and extract a new ACL data module that handles loading, mutating, and saving permissions independently from the UI.
Potential Options
Keep the new dialog near sharingPane, extract the data layer into solid-ui
- Create the new dialog UI under the existing sharing area so it stays close to the current feature surface.
- Keep the current
sharingPanein place as-is for now, or optionally move it into a legacy location later if we want to make the old implementation status more explicit. - At the same time, build a reusable ACL data module in
solid-ui.
Put both the new dialog and the data module in solid-ui
- place the dialog UI under the existing
widgetsarea - place the reusable ACL data module under the existing
aclarea
Futher acl permission api research
- solid-contrib there is just an archived solid-permissions and it says to use solid/acl-check which only checks the resource not read and write. Both are very old and solid-permissions is archived.
- 主要语言
- HTML
- 星标
- 106
- 派生
- 52
- 平均合并
- 8 分钟
- 30 天内合并 PR
- 2
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
SolidOS/solid-panes 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
SolidOS/solid-panes#653 ·
-
Refactor table to div可能已有人在做 @SharonStrats 于 3 天前认领。 未关闭
SolidOS/solid-panes#765 · 1 条评论 · 已指派 1 人 ·
-
enhancement
难度 3/5 1-2 天 新手友好度 48/100
SolidOS/solid-panes#751 · 1 条评论 ·
-
enhancement
难度 4/5 3-5 天 新手友好度 35/100
SolidOS/solid-panes#745 ·
-
Deleting Resources (Special Case) - Pane deletion - type indexes可能重新可做 @timea-solid 于 50 天前认领,目前没有进行中的 PR。 未关闭question
SolidOS/solid-panes#740 · 3 条评论 · 已指派 2 人 ·