OutSystems Forge 日本語データベース

ReleaseToggles

※Forge全件データの日本語検索サービスをご利用になりたい場合は、こちらまでお問合せください。

Forge英文サイト

2018-09-22 1.0.0 Pedro Rodrigues All All Components, Libraries, How-tos
このアプリケーションは、OutSystemsのリリーストグルの実装を提供します。 リリーストグルは、実行時にアプリケーションの機能を非表示/非表示にするためのものです。 未完成または未だ受け入れられていない機能をプロダクションに持ち込むことはもはや問題にはなりません。
このアプリケーションは、OutSystemsのリリーストグルの実装を提供します。 このソリューションのインスピレーションは、Martin FowlerのウェブサイトのPete Hodgsonのブログ記事から得たものです。トグルが一般的なソフトウェアで使用されているさまざまな方法を掘り下げて調べたい場合は、それをお読みください。 解決しようとする問題... スプリントが完了し、製品の所有者はすべてを受け入れました。変更はユーザー承認のために行われますが、機能の一部のみが承認されます。プロダクションに承認されたものを持ちたいが、他の機能を利用できないようにする必要があります。何をすべきか? Release to rescue to release :)各機能がリリーストグルによって保護されている場合、実行時に機能を表示または非表示にすることができます。したがって、すべての変更は本番環境に移行し、一部のリリーストグルだけが有効になります。 使い方... リリーストグルは、Excelファイル、releasetoggles.xlsxリソースで定義されています。リリーストグルを追加、更新、削除する必要がある場合は、このファイルをダウンロードし、必要な変更を加え、同じ名前でアップロードしてモジュールを公開する必要があります。ファイルへのすべての変更が引き継がれ、データベースに格納されます。 各リリーストグルについて、リリーストグルがオンかオフかを示すパブリックアクションを作成します。このアプリケーションにはいくつかの例があります。それらをコピーして貼り付け、必要な変更を加えてください。これらのアクションは、機能の一部を非表示/非表示にするためにアプリケーションで使用するアクションです。 リリーストグルごとに単一の公開アクションを持つことで、リリーストグルを簡単に削除できます。あなたがする必要があることは、このアプリケーションからアクションを削除し、このアクションの呼び出しでif-constructsを削除することによって壊れたすべてのモジュールを修正することだけです。さらに、if-constructの偽の枝にあったコードをすべて削除します。 提案... リリーストグルを削除するには、その機能が本番環境にあるとすぐに解除します。リリーストグルの数を可能な限り小さく保つようにしてください。。結局のところ、リリーストグルチェックはコードの複雑さを増やします。 サイドノート... - デフォルトでは、リリーストグルはオフになっています。これは、リリーストグルを追加すると、リリーストグルをオンにするまでオフになることを意味します。さらに、このモジュールを別の環境に持っていくと、その環境に既に存在していない場合は、すべてのリリーストグルがオフになります。 - リリーストグルがreleasetoggles.xlsxファイルから削除された場合、このモジュールの展開時にデータベースから削除されます。可能な限り元に戻すことはできません。 - 多くの場合、リリースノートはサイトプロパティを使用して実装されます。これにはいくつかの欠点があります。一般的に複数のモジュールに分散されているため、使用中のすべてのリリーストグルの概要を把握することは困難です。さらに、同じリリーストグルが、複数のモジュールのサイトプロパティによって表されることがあります。これをオンにするということは、これらのすべてのモジュールを通過し、それに応じてサイトのプロパティ値を変更する必要があることを意味します。これらのすべてを同期させておくことは非常に困難です。複数の要因によって、リリーストグルがオンまたはオフになることがあります。サイトのプロパティを使用している間はこれを行うことはできません。

[Overview]
This application provides an implementation of release toggles in OutSystems. Release toggles are meant to hide/reveal features of an application in runtime. Bringing unfinished or not-yet-accepted features into production is no longer a problem.
[Detail]
This application provides an implementation of release toggles in OutSystems. The inspiration for this solution came from a blog post by Pete Hodgson on Martin Fowler's website. Read it if you want to delve into all the different ways into which toggles are being used in software in general. The problem it tries to solve... The sprint is done, the product owner has accepted everything. The changes go for user acceptance but only part of the functionality gets approved. You want to bring what is approved into production but the other functionality should not be made available. What to do? Release toggles to the rescue :) If each functionality is guarded by a release toggle we can reveal or hide functionality in runtime. Therefore, all changes can go into production and only some of the release toggles are turned on. How it works... The release toggles are defined in an Excel file, the releasetoggles.xlsx resource. If you need to add, update or delete release toggles you have to download this file, do the necessary changes, upload it with the same name and publish the module. All changes to the file will be taken over and put in the database. For each release toggle, you create a public action that states whether the release toggle is on or off. This application comes with a couple of examples. Just copy-paste those and do the necessary changes. These actions are the ones you use in your application to make sure that you can hide/reveal part of the functionality. By having a single public action for each release toggle, it becomes easy to delete a release toggle. All you need to do is to delete the action from this application and fix all the modules that got broken by removing the if-constructs with a call to this action. Alongside, remove all the code that was on the false branch of the if-construct. Suggestions... Delete a release toggle as soon as the functionality it guards is in production. Try to keep the number of release toggles as small as possible. After all, release toggle checks increase the complexity of your code. Side notes... - By default, release toggles are turned off. This means that when you add a release toggle, it is turned off until you turn it on. In addition, when you bring this module to another environment, all release toggles will be off unless they were already present in that environment and turned on. - If a release toggle is deleted from the releasetoggles.xlsx file, it will be deleted from the database upon deployment of this module. There is no undo possible. - More often than not, release notes are implemented using site properties. This has some disadvantages. As they are commonly spread throughout multiple modules, it is difficult to have an overview of all release toggles in use. In addition, sometimes the same release toggle is represented by site properties in multiple modules. Turning it on means having to go through all of these modules and change the site property value accordingly. Keeping all of these in synch is quite a challenge. Sometimes the a release toggle is on or off depending on multiple factors. This is not possible to do while using site properties.
戻る