减少仪表板面板数量¶
https://blueprints.launchpad.net/sahara/+spec/reduce-number-of-panels
Sahara UI 当前包含 10 个面板。这比任何其他 Openstack 服务都多。此外,面板之间的交互方式并不直观,容易导致用户困惑。本规范的目的是提出重新组织 Sahara UI,使其具有更逻辑化的布局,从而为用户提供更简洁的外观和更直观的工具集。
问题描述¶
Sahara 仪表板包含过多的面板,且缺乏上下文信息来传达每个面板与其他面板的关系。它们目前垂直分组,以便每个面板与其相关的面板在列表中显示接近,但没有其他视觉提示。因此,学习如何使用仪表板通常是一个令人沮丧的尝试和错误过程。
提议的变更¶
在当前仪表板的 10 个面板中,有 4 个(集群、集群模板、节点组模板、镜像仓库)专注于集群创建。鉴于此,将其折叠到一个名为“集群”的面板中是合理的。这将非常清楚地表明在哪里可以找到所有与集群相关的内容。当前以集群为中心的每个面板都将在新创建的面板内拥有自己的选项卡。还有 5 个面板(作业、作业模板、作业二进制文件、数据源和插件)专注于作业创建和执行。
除了从面板到选项卡的转换之外,我还建议对代码进行重新组织,以反映新的布局(例如:将代码移动到将驻留在该面板的子目录中——将有一个顶层“集群”面板,其中包含该面板中每个选项卡的子目录(集群、集群模板、节点组模板、镜像仓库))。这种重新组织将导致 URL 定义的更改,也会改变我们引用模板名称的方式(例如,从“project/data_processing.nodegroup-templates/whatever.html”改为“data_processing.nodegroup-templates/whatever.html”,这在简洁性方面略有改进。此外,我们还可以选择通过重命名模板文件夹来删除“data_processing.”部分。迫使我们使用它的解决方法已被 horizon 的“enabled”机制解决。)
以下是一个快速的 ASCII 图表,显示了建议的 UI 布局: +————+—————————————————+ | | | | 集群 | 集群|集群模板|节点组模板 | | 作业 | +——————————————–+ | | | | | | | | | 所选对象的常规表格 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +——————————————–+ | | | | +————+—————————————————+
此外,当前的“指南”面板将被拆分,以更方便地适应作业和集群空间。它当前占据一个单独的选项卡,并链接到其他面板中的按钮。按钮将保持不变,但代码将被移动到集群指南的集群子目录和作业指南的作业子目录中。
替代方案¶
我们可以选择保留当前的面板,并依赖更强大、更详细的文档,并可能从仪表板本身提供指向该文档的链接。在与 Sahara 团队多次讨论后,很明显,这种方法不如重新组织布局那么理想。
我们或许可以避免一些代码的重新组织,但从我的观点来看,让代码准确地反映布局非常重要。这使得设计未来的更改和调试更容易。
数据模型影响¶
不影响数据模型
REST API 影响¶
不影响 REST API
其他最终用户影响¶
最终用户将在 Sahara 仪表板中看到不同的布局。虽然切换到选项卡的差异很大,但一旦有经验的用户进入选项卡,那里的功能将不会从当前的工作方式发生变化。用于每个对象类型的“details” URL 也会发生一些变化,以消除任何歧义(例如,数据源详细信息的 URL 将重命名为“ds-details”)。
部署者影响¶
不影响部署者
开发者影响¶
不影响开发者
Sahara-image-elements impact¶
不影响 sahara-image-elements
Sahara-dashboard / Horizon 影响¶
Sahara-dashboard 项目中的“enabled”文件将会发生变化,但安装和运行的过程将保持不变。如果您正在升级现有安装,将有一些不再需要的“enabled”文件(除了更新的文件)。我们需要确保记录(并在可能的情况下编写脚本)应该删除哪些文件。
实现¶
负责人¶
- 主要负责人
croberts
- 其他贡献者
无
工作项¶
重新组织 Sahara UI 代码,将多个面板转换为包含多个选项卡的 2 个面板。这可能会分成多个补丁,以便尽量减少每个部分的审查工作量。尽管如此,每个部分仍然会很大,因为它将涉及移动整个代码目录。
依赖项¶
无
测试¶
所有现有的单元测试仍然适用。为了接受此更改,它们都需要通过。现有的(少量)集成测试可能需要重写或调整以期望所提出的更改集。
文档影响¶
Sahara-dashboard 文档由 Sahara 团队编写和维护。由于本规范中描述的更改,将需要进行多次文档更新。
参考资料¶
无