如何为您的用户实施有限功能(语言不可知)? [英] How to implement a limited feature rollout (language agnostic) to your users?

查看:127
本文介绍了如何为您的用户实施有限功能(语言不可知)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道将一个新网站功能推出给一组用户群的一些常见或最佳做法。



用户可以是,仅占整体用户数的百分比(10%)。应用程序可以自定义(可配置)并支持任何数量的功能。将卷展栏与特定用户角色或权限(ACL)相关联也是有用的。



所以,实质上,什么是可以合理扩展的架构? p>

对于语言不可知的部分,您可以提供伪代码,一般概念或想法,或从您的首选语言提取摘要。



欢迎任何示例或教程的链接。

解决方案

我的建议是,对于获得新功能的人来说,他们所在的网站应该尽可能接近每个人都会在公开的功能上的网站。


换句话说,我不会有一个页面上的条件逻辑来确定一个按钮是否可见,如果这个条件只存在于这个beta期间。相反,我将在登录时确定这个人是否是beta参与者(该决定可能是随机的,可能会引用他们的角色等)。如果他们是参与者,他们将被重定向到从版本控制分支部署的单独部署的站点。



一旦完成推广,分支将合并到并且每个人都看到新的功能。



这样一来,您不必担心公共测试版用户看到的代码库是不同的(在某种程度上可能会破坏东西)从最终发布的代码库。


I would like to know some common or best practices of rolling out a new website feature to a select group of the userbase.

The users could be, for example, based solely on a percentage of your overall user base (10%). The rollout should be customizable (configurable) and support any number of features. It would also be useful to associate rollouts to specific user roles or privileges (ACL).

So, in essence, what is an architecture that would scale reasonably well?

As for the language agnostic portion, you can either provide pseudo-code, general concepts or ideas, or snippets from your preferred language to get your point across.

Links to any examples or tutorials are welcome.

解决方案

My recommendation would be that, for the people who are getting the new feature, the site they are on should be as close as possible to the site that everyone will be on once the feature is public.

In other words, I wouldn't have, for example, conditional logic on a page to determine whether a button should be visible or not, if that condition would only exist during this beta period. Rather, I would determine at login time whether this person is a beta participant or not (that determination might be random, might reference their role, etc). If they are a participant, they would be redirected to a separately deployed site that is deployed from a version control branch.

Once the rollout is complete, the branch is merged in and everyone sees the new feature.

This way, you don't have to worry that the codebase the public beta users are seeing is different (in some way that could break something) from the eventual release codebase.

这篇关于如何为您的用户实施有限功能(语言不可知)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆