Skip to main content
 Web开发网 » 站长学院 » 浏览器插件

致力于JavaScript驱动的Drupal管理界面

2021年11月03日6830百度已收录

借鉴DurpalCon Vienna的经验教训,让我们来看看Drupal,看看他们如何努力创建一个API优先,JavaScript驱动的管理界面。

致力于JavaScript驱动的Drupal管理界面  Drupal 第1张

随着Web应用程序从静态页面发展到类似应用程序的体验,最终用户对网站的期望越来越高。JavaScript与有效的用户体验设计结合在一起,实现了用户现在所期望的无缝,即时的交互。

Drupal项目多年前就预见了这种趋势,并且自那时起,我们一直在大力投资Drupal API。因此,更多的组织正在构建由Drupal提供服务的解耦应用程序。这种方法允许组织使用现代JavaScript框架,同时仍受益于Drupal强大的内容管理功能,如内容建模,内容编辑,内容工作流程,访问权限等等。

虽然组织使用JavaScript框架创建Drupal作为后端的面向访客的体验,但Drupal自己的管理界面还没有采用现代JavaScript框架。Drupal对自己的用户提供最先进的体验非常需求:网站的内容创建者和管理员。

在DrupalCon维也纳,我们决定开始使用React开发另一个Drupal管理界面。Sally Young是首席协调员之一,最近发表了自DrupalCon维也纳以来我们取得的进展的最新信息。

Drupal API-First和JavaScript Work的后续步骤尽管我们在改进Drupal的Web服务支持和改进JavaScript支持方面取得了很大的进步,但我想使用此博客文章来汇总一些我们最重要的后续步骤:

1.稳定JSON API模块JSON API是用于在JSON中构建Web服务API的广泛使用的规范。我们正在努力将JSON API添加到Drupal核心,因为它可以让JavaScript开发人员更轻松地访问Drupal中管理的内容和配置。有一个中央计划问题列出了将JSON API转换为核心的所有拦截器(综合测试覆盖率,规范合规性等)。我们正在努力将其全部排除在外!

2.改进我们的JavaScript测试基础架构Drupal的测试基础架构非常适合测试PHP代码,但直到现在,它还没有针对测试JavaScript代码进行优化。正如我们预计Drupal管理界面中JavaScript代码的数量在未来几年会大幅增加,我们一直致力于使用无头Chrome和Nightwatch.js改进JavaScript测试基础架构。Nightwatch.js已经被纳入Drupal 8.6,但是,还需要做一些额外的工作来创建一个强大的JavaScript-to-Drupal桥梁。完成这项工作对于确保我们不引入回归至关重要,因为我们继续处理路线图中的其他项目。

3.为基于React的管理UI创建设计拥有基于JavaScript的用户界面还可以让我们重新思考如何改进Drupal的管理体验。例如,Drupal的当前内容建模UI需要大量点击,保存和重新加载。通过使用React,我们可以将我们的用户体验重新构想为更类似应用程序,直观且更快速地使用。我们仍然需要很多帮助来设计和测试Drupal管理界面的不同部分。

4.允许Contributed模块使用React或Twig我们希望启用模块以提供React支持的管理用户界面或传统的基于Twig的管理用户界面。我们正在研究可同时支持两者的架构。这将允许我们逐步引入基于JavaScript的用户界面,而不是一次强制执行大规模的范例转换。它还将为希望退出支持新管理界面的模块提供某种程度的选择性。

5.实施缺少的Web服务API虽然我们多年来一直在将Web服务API添加到Drupal的许多部分,但并非所有的Drupal都支持Web服务。对于我们基于React的管理UI原型, 我们决定实施一个新的权限屏幕(即example.com/admin/people/permissions)。我们了解到,Drupal缺乏必要的Web服务API来检索系统中所有可用权限的列表。这导致我们创建一个支持模块来提供这样一个API。这个支持模块是一个临时解决方案,帮助我们在原型上取得进展; 目标是将这些API集成到核心本身中。如果你想贡献Drupal,为各种Drupal子系统创建Web服务API可能是一个很好的参与方式。

6.使React UI可扩展并可配置Drupal当前管理用户界面的好处之一是可以配置它(例如,您可以修改内容列表,因为它是使用Views模块构建的),并且可以通过贡献模块进行扩展(例如,地址模块添加了针对编辑地址信息)。我们希望确保在新的React UI中,我们为站点构建者保留足够的灵活性来自定义管理UI。

所有分离构建的好处所有分离的应用程序将受益于上述六个步骤; 它们对于构建完全分离的管理UI以及构建面向访问者的分离应用程序非常重要。

致力于JavaScript驱动的Drupal管理界面  Drupal 第2张

结论在过去的三年中,我们一直在稳步前进,将Drupal推向更先进的API和JavaScript中心的世界。考虑到我们行业的各种市场趋势,这是重要的工作。虽然我们取得了出色的进展,但还有更多需要解决的挑战。我们希望您喜欢我们的下一步,我们欢迎您加入他们的行列。感谢迄今为止贡献的每一个人!

评论列表暂无评论
发表评论
微信