问题标签 [featuretoggle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
341 浏览

wordpress - 向 Wordpress 添加全局设置(功能切换)

我有一个使用定制主题的 Wordpress 网站。我想在管理员的某处添加一个功能切换(复选框设置),各个主题页面可以读取它以更改它们的行为。

实现这一点的最佳方法是什么?如果您可以包括我如何阅读该设置,将不胜感激。

0 投票
2 回答
2730 浏览

java - 功能标记与授权

我刚刚偶然发现了特性标记的概念,以及一个流行的开源 Java 库,称为Togglz,它引用了 Martin Fowler 的博客文章:

基本思想是有一个配置文件,它为你有待处理的各种功能定义了一堆切换。然后,正在运行的应用程序使用这些切换来决定是否显示新功能。

但对我来说,这听起来真的很像授权用户是否有权查看此内容?

例如,用户是否应该能够看到 FizzBu​​zz 菜单?

在 Togglz 中,我可能会像这样实现此检查:

在 Apache Shiro 中,我可以做同样的事情:

再次,功能标记感觉就像它与角色或权限检查完全相同的问题。

我确定我错了,但我不知道怎么做。所以我问:功能标记与授权和角色/权限检查有何不同,哪些类型的具体用例体现了这种差异?换句话说:什么时候应该使用授权/角色/权限检查,什么时候应该使用功能标志?

0 投票
2 回答
4569 浏览

design-patterns - 什么设计模式可用于功能切换意大利面?

我为之工作的公司已经通过功能切换配置键进入了深层次,这些键可以根据特定条件打开/关闭特定行为。Martin Fowler 实际上将它们称为业务切换 ( http://martinfowler.com/bliki/FeatureToggle.html )。

我们有许多客户都使用相同的服务,但每个客户都希望行为略有不同。更糟糕的是,许多人希望他们的用户的某些子组看到不同的行为。因此,我们使用业务切换。切换已成为 if/else 逻辑的意大利面条球,偶尔会出现意想不到的交互。

是否有任何设计模式可用于管理此类情况?

干杯!

0 投票
1 回答
141 浏览

ruby - Sinatra API 功能切换

要点

是否可以将类似功能切换的功能烘焙到Sinatra应用程序中?

关于功能切换的一些信息,以防万一;)

背景故事

我已经建立了一个模块化的 Sinatra 项目,并且我倾向于为我的所有资源实现一个GET///端点POST;它使在开发过程中测试应用程序和操作数据变得更加容易。PUTDELETE

问题

当我投入生产时,我不希望存在不需要的端点(例如DELETE '/users')。

问题

我可以用某种:development标志注释方法,或者可以在前块中拦截请求吗?您会使用助手来执行此操作吗?我不确定我是否走在正确的道路上,我可能过于复杂了(?)

怎么办?

如果你做过这样的事情,如果你能与全国分享你的发现,那就太好了。

0 投票
0 回答
43 浏览

version-control - 开发分支和冲刺结束

我们是 3 名开发人员在同一个项目上工作,目前我们有一个分支,当我们都完成后我们将它们合并在一起。我们想开始使用像 dev/main/release 这样的分支,所以我们都在同一个 dev 分支中工作。

在 sprint 结束时,我们两个都完成了,但是第三个需要更多时间来完成他的任务,我们如何处理第三个代码?

确保他未完成的代码不会干扰其余代码并发布幽灵代码?取消发布以便他获得额外的冲刺?

0 投票
1 回答
1070 浏览

asp.net-mvc - 功能切换 MVC Web Api

是否可以在 MVC Web API中使用功能切换?

我想限制调用某些控制器操作,直到 API 功能完成。

0 投票
1 回答
1493 浏览

angular - Angular 2 应用程序中的功能标志,如何与所有组件共享对象

我正在尝试在我的 angular2 应用程序中实现功能标志,以便能够发布尚未准备好进行生产的功能。现在我有两个市场,英语和德语市场。我想分别控制这些市场上的功能。

我对如何使用这些标志的想法:

  • 根据给定市场打开/关闭功能。
  • 基于市场的 AB 测试功能。
  • 在不同的组件上测试新样式(如英国市场在一种给定的方法中看到某个列表,而德国市场对此的看法不同,也如 AB 测试)。
  • 使特定用户能够测试特定功能(管理员、普通消费者等等)。

为了启用其中的一些功能,我尝试在我的 Angular2 应用程序中创建两个 Json 文件。

例子:

现在,我只添加了一个 value = "displayed" 来测试。

基于给定的市场“EN”或“DE”,我正在加载正确的 json 文件并将其放入我创建的 features 对象中。

现在我想与应用程序中的所有其他组件共享这个对象。服务是最好的方法吗?或者您可以使用您在 angularJS 中所做的 $scope 之类的东西吗?

0 投票
1 回答
971 浏览

java - Togglz 功能状态更改通知

我有两个应用程序 -apidashboard. 这两个应用程序都使用来自同一数据库的相同功能。Togglz 控制台仅在dashboard应用程序中处于活动状态。问题是,当我更改dashboard应用程序中功能的状态时,api应用程序不会立即意识到这一点。我需要重新启动api才能刷新功能状态。

是否可以在不重新启动的情况下通知api应用程序有关功能状态的更改?

更新 - 添加了 Togglz 配置

这是我的 Mavencommon项目中的基本配置(api并且dashboard项目依赖于这个):

ApplicationFeatures(也放在common项目中):

这是我项目中的DashboardFeatureToggleConfiguration(用于 Togglz Web 控制台) :dashboard

0 投票
1 回答
162 浏览

git - 尝试进行持续交付时具有功能切换的功能分支

我试图理解为什么有些团队已经在使用功能分支并尝试实现持续交付时使用功能切换。假设一个团队想要实现持续交付,并且可以在功能切换或功能分支的帮助下做到这一点。

通过功能切换,可以实现所谓的“发布切换”,使团队能够更快地发布。如果某个功能尚未准备好并且您仅使用主分支,则可以切换它并发布代码。

特征分支的情况几乎相同。在这里,您可以拥有 3 个正在开发的功能,其中一个已经完成。然后,公司希望团队部署到生产环境。他们只选择该功能并将其合并并发布。

我看到一些团队在开发时同时使用这两种方法。有这方面经验的人能告诉我一些有关它的事情吗?

希望你能理解。

0 投票
4 回答
7260 浏览

java - Spring 组件的功能切换

我有一个带有很多 @Component、@Controller、@RestController 注释组件的 Spring Boot 应用程序。我想分别切换大约 20 种不同的功能。重要的是可以在不重建项目的情况下切换功能(重新启动就可以了)。我认为 Spring 配置将是一个不错的方法。

我可以像这样想象一个配置(yml):

主要问题是我不想在所有地方都使用 if 块。我宁愿完全禁用这些组件。例如,一个 @RestController 甚至应该被加载并且它不应该注册它的路径。我目前正在寻找这样的东西:

有这样的功能吗?有没有一种简单的方法可以自己实现?还是有另一种功能切换的最佳实践?

顺便说一句:Spring Boot 版本:1.3.4