wy / neos-abtesting

Neos 的 A/B 测试

3.2.1 2024-02-08 08:43 UTC

README

Neos Package Neos Project PHP 7.1 and above

本包提供了一个简单的后端模块和前端容器,用于在 Neos 中运行 A/B 测试。

安装

运行以下命令以安装包并更新数据库模式。

composer require wy/neos-abtesting

./flow flow:doctrine:migrate

使用方法

 demo image

 demo image

本包提供了一个节点容器,用于显示两个不同的节点以供两个不同的决策(A 或 B)使用。

您可以将 A/B 测试容器添加到您的约束中: Wysiwyg.ABTesting:ABTestingContainer

容器有三个内容集合

  • itemsa
  • itemsb
  • itemsc

默认情况下,这些集合接受所有内容节点。您可以通过覆盖自己的 NodeTypes.yaml 文件中的相应节点配置来更改这一点。编辑器必须在每个内容集合中放置一个或多个节点。

重要
两个版本都将始终在 Neos 后端中渲染。默认情况下,如果没有配置和选择任何功能,前端将显示版本 A。

您可以在每个 ABTestingContainer 中找到一个名为 "A / B 测试" 的选项组。此组提供下拉菜单,用于选择要用于容器的功能。

预览不同版本

有时需要查看功能的不同版本。
要查看不同版本,请将 "forceABVersion" GET 参数添加到 URL 中,并将所需的版本作为值分配。

示例
显示版本 A https://example.com/greatFeature.html?forceABVersion=a 显示版本 B https://example.com/greatFeature.html?forceABVersion=b 显示版本 C https://example.com/greatFeature.html?forceABVersion=c

此参数不会覆盖 cookie 值。

后端模块使用

您将在 Neos 后端的主菜单中找到一个名为 "A/B 测试" 的新菜单项。模块 "功能" 将提供所有必要的功能来管理 A/B 测试功能。在 A/B 测试仪表板中,您将找到以下选项

  • "创建功能":添加新的 A/B 测试功能
  • "功能列表":显示所有 A/B 测试功能的列表

功能列表
 demo image

设置

本包使用默认值创建 cookie。
有几个设置可以修改以适应您的实现。

Wysiwyg:
  ABTesting:
    cookie:
      name: "WYSIWYG_AB_TESTING"
      lifetime: "+2 years"

默认情况下,cookie 的有效期为 2 年。请注意,如果您需要调整它,则使用 strtotime() 来评估生命周期设置的值。

关于隐私(例如 GDPR)

请注意,所有 A/B 测试决策都将保存在名为 "WYSIWYG_AB_TESTING" 的 cookie 中,默认有效期为 2 年。当用户首次打开网页时,将创建此 cookie。
它包含一个包含所有功能和它们决策(a 或 b)名称的原始 JSON 字符串。
每当用户进入页面并且已经具有 cookie 时,将确保保存所有活动功能及其决策。如果有新功能,它们将被添加到 cookie 中,并将包含所有决策的新 JSON 字符串保存。

贡献

欢迎拉取请求。对于重大更改,请首先打开一个问题以讨论您想要更改的内容。

计划中的功能

我们希望增强 A/B 测试,增加更多稳定的功能。

  • 决策链
    目前,只能向功能添加一个决策。
    我们希望实现添加决策链的功能,例如维度决策 AND 百分比。

作者

斯文·乌特里希
亚历山大·舒尔特
伊娃-玛丽亚·穆勒
马文·库恩

许可协议

本软件包采用MIT许可协议(MIT)发布。有关更多信息,请参阅许可文件