控制面板界面设计
qinix opened this issue · 2 comments
fsword commented
做了一下UI改造,作为feature进行开发中,主要内容包括:
- 面板页面改造,显示用户所有groups中最新的两个repository
- 重新设计主菜单:面板、镜像、管理员入口
- 为避免占用根路由,使用 /n 作为namespace管理的路由前缀
resources :namespaces, path: '/n'
- 为避免占用namespace的/路由,使用 /r 作为镜像管理的路由前缀
遗留问题
- namespace为当前用户名称时,点击协作者出现错误
Couldn't find Group
- 问题在于这里的namespace对应的是user而不是group,因此自然couldnt find
- 进一步讨论,我们是否需要允许user这个namespace下面也有member管理的场景?
- 如果不是,那么界面上可以直接屏蔽掉tab项目 - 方案1
- 如果是,那么需要调整user的模型,使之支持member关联表 - 方案2
- 还可以干脆一点,直接将group和namespace合并,user创建group的操作就变成仅仅在一个表上添加一条记录 - 方案3
- 方案3可以兼容方案1,所以如果用方案3,那么可以先封掉user类namespace对member的管理能力,以后根据对需求理解的加深再做决定
fsword commented
关于上述遗留问题,我想让group和namespace合并,新模型可以叫group,也可以叫namespace,感觉这样比较简单,梳理了一下思路,主要涉及如下变化(假定新模型叫namespace):
- group代码的内容基本都移入namespace
- group_member改名为member,直接belongs_to namespace
- namespace拥有一个owner(但是依然拥有多个developer和viewer)
- user自己的namespace中,暂不能添加其它member,但这是业务层限制,数据库模型不做约束,以便于未来打开这个限制
看看这样合理不