(API) Lifecycle of a Feature (states description)

 

As a Container, a Feature also has an attribute called state, which defines the current state of that Feature.

This attribute value has three possible values, they are: pending, complete, expired

A Feature state will always respect the following lifecycle:

pending => [complete or expired]

States

  1. pending
    When a Feature is added to a Container, the initial state is set as pending. This means that Feature is accessible by the user if the Container is already open to your end user.

  2. complete
    Indicates when a given Feature of a Container has been completed. One of the Features of that Container being complete does not mean the others of that Container will be complete. Each Feature inside a Container is a separated object with your own state, expiration and set of attributes. A Feature may be marked as complete in 2 cases. The first is when the end user finished everything they had to do with that Feature and complete it. The second is when a Container is marked as complete, then all Feature(s) of that respective Container are marked as complete. The Feature is no longer accessible by the user in this state.

  3. expired
    This indicates when a Feature has already expired. A Feature in an expired state won’t be accessible by any user.