上周,WordPress 元贡献者在官方目录中为插件实现了“实时预览”按钮,目的是让用户一键安全地测试任何插件。该按钮在 WordPress.org 的所有 59,000 多个插件中上线,但让插件开发人员感到惊讶,因为它是在没有利益相关者任何沟通或输入的情况下推动的。
该实现还为时过早,并且未能考虑到许多不同类型的插件,由于 Playground 测试环境的支持不足,这些插件似乎已被破坏。
五周前,Automattic 赞助的 Meta 团队贡献者 Steve Dufresne对这张工单发表了评论,“补充说情况可能仍然如此(其他人可以证实),并非所有插件都可以在 Playground 中运行,因此我们应该建立一个选择退出机制。 ”
这个建议被票上的其他参与者完全忽略了,游乐场预览开始了。很明显,这是在没有经过彻底测试的情况下完成的,因为许多插件作者报告说预览版给用户带来了不利的、破碎的体验。
“谁决定发布预览版而不在make.wordpress.org/plugins/上发布并向插件开发人员发出一些预先警告?” WordPress 开发人员 Alan Fuller 问道,并在 #meta Slack 频道中发起讨论。“这是#meta 的决定吗?可以恢复并给予适当通知吗?”
已退休的插件团队代表 Mika Epstein 指出了三个被遗漏的主要用例,她估计这将影响 30-40% 无法在 Playground 环境中运行的插件:
- 它不适用于附加插件(即 Woo 的任何插件),因为我们无法识别插件依赖关系,并且沙箱不会知道安装“父”插件
- 它不适用于任何需要大量定制的东西(WooCommerce 本身)
- 它根本不适用于任何服务器集成(Memcached、Redis 等)。
- 多站点
参与者指出,DEBUG 也设置为 True,允许向访问者显示不相关的警告和通知。
WordPress 开发者 Ben Sibley 表示:“在插件上非常努力地工作,然后出现一些预览,让插件看起来完全损坏,而实际上并没有损坏,这真是太糟糕了。”
“这个功能是个好主意,但还需要做很多工作。我们已经有几十年没有实时预览了;为什么今天突然急于推出这个明显不可靠的产品?
“正如其他人所说,这应该立即回滚并切换为选择加入功能。一旦回滚,请努力向插件开发人员提供有关预览如何工作的信息,以便我们可以决定它是否适合我们。如果没有适当的沟通和测试,不要急于发布它!”
Newsletter Glue 联合创始人 Lesley Sim 要求选择加入该功能,认为如果出现问题,普通用户不会有耐心,并且会认为插件有问题,而不是目录或游乐场有问题。
“因此,这最终会给插件开发人员带来不好的影响,如果这意味着(潜在的)收入/安装量的损失,这对他们来说可能会带来很大的压力(是的,我知道很多人认为这不应该是一个关键问题,但是这是许多小型插件开发人员的现实),或者如果他们因为这个功能而承担额外的支持负担,这完全超出了他们的控制范围,”Sim 说。
在其他人回应这些担忧后,Automattic 赞助的贡献者 Alex Shiels 实现了该功能,他表示他预计该功能不会引起争议,并表示他“对其运行的顺利程度过于乐观”。他部署了一个添加了选择退出开关的提交,以便插件提交者可以禁用实时预览按钮。
“我在部署前没有沟通的原因是,一个月前就已经讨论过票证;因为 Playground 已经上线几个月了,”希尔斯说。“早在这张票之前,目录中的每个已发布插件就已经可以在 Playground 中运行。我所做的只是通过单击一下即可轻松到达那里。抱歉让大家措手不及。”
其他人要求 WordPress.org 在自述文件中实现可自定义的演示链接 URL,而不是为所有插件打开 Playground 预览,以及更多关于使环境更好地展示插件的建议。
在不断敦促 Shiels 选择加入而不是选择退出该功能后,他于 10 月 6 日星期五删除了该按钮。
“我确实想强调,很多担心和担忧并不是因为 Playground 中的插件被破坏了,”插件开发人员 Aurooba Ahmed 说。“我们大多数人都知道我们的插件是否可以在 Playground 上运行,这是一个非常明显的功能被推送到了插件存储库,影响了用户如何评估插件,而没有得到足够多的关键利益相关者受众的讨论和反馈。
“我期待看到该功能如何迭代(因为最终这是一个很棒的概念),以便它能够以所有正确的方式为所有利益相关者提供帮助。”
与此同时,喜欢快速访问 Playground 的用户可能想看看由开发机构 LUBUS 创建的 Chrome 浏览器扩展。它在 WordPress.org 的主题和插件页面上添加了一个“Playground”按钮,以便用户可以一键测试驱动扩展。
在添加选择退出开关时,Shiels 对票证评论道,Playground 中损坏的插件在票证打开之前就已损坏,并且即使插件不选择实时预览按钮,也将保持这种状态。
“我知道 Playground 团队正在努力解决那里的错误和兼容性问题,”希尔斯说。“我打算进一步改进插件目录中的实时预览支持,以便为用户和插件开发人员提供更好的服务。您的许多担忧都可以使用蓝图来解决,蓝图 将允许配置和安装依赖项、导入演示内容以及其他巧妙的事情。一旦与 Playground 团队确认了一些工程细节,我将立即提供蓝图支持。”
在准备推出此功能之前,还有更多工作要做。目前,实时预览按钮已被禁用,而贡献者正在解决兼容性问题。