giovedì 23 marzo 2023

FLIGHT – KILL SWITCH hidden parts insidious and useful at the same time, how to befriend them.

I am merely offering food for thought. 


The main part: the features are probably the most famous

  • feature usually is a larger piece of business logic and is typically controlled by the keyuser in the system/company. By the Feature we can enable an entire logical process or add a new helpful tools (like grid filter, column mover etc).

For example “Include waiting records in history cleanup tasks”

This feature lets you include waiting records when running the "Purchase update history cleanup" … (omiss) periodic tasks. It adds a new option called "All" to the "Clean up" drop-down list for the dialogs that launch each of these tasks. Select "All" to include the waiting records.

In other hand a feature is look like a new package (add or fix) in our system.

Microsoft Doc:
Feature management overview - Finance & Operations | Dynamics 365 | Microsoft Learn

We have different meaning for flight and Kill Switch.

We can both assume them as a switch.

FLIGHT:

By flights, we can specifically enable (by atomic way) small pieces of code.

So, using flight we can handle on specific points in the code which will enable changes in the system functionality.

They are separate from the customer control provided by Feature Management.

SYSFLIGHTING - Microsoft DOC

KILL SWITCH

By Kill switch is possible to turn application flight ON and OFF, is not necessary to deploy/rebuild the any code.

The code remains the same but change the logic behavior immediately.

The only way to disable a flight is with a kill switch.


  • How to enable a Kill Swith (by SQL script):

    INSERT INTO SYSFLIGHTING (FLIGHTNAME, ENABLED) VALUES ('MyKillSwitchName_KillSwitch', 1)

  • How to check if Flight is enable:
    select ENABLED, * from SysFlighting where FLIGHTNAME = 'MyFlightName'

  • How to enable a Flight
    insert into dbo.SYSFLIGHTING(FLIGHTNAME, ENABLED, FLIGHTSERVICEID) values ('MyFlightName', 1, 12719367)

  • Example Flight switch code

Non è stato fornito nessun testo alternativo per questa immagine

My consider: always try first in test environment and ask to Support. Change these elements can be produce irreversible change of data.

So, I wish all good luck.

enjoy