Startup API/Feature Management

Startup API provides some tools with managing application features.

Usage
Features are configured in  in your application.

Features class allows defining a feature which in turn can be assigned to Users and/or Accounts.

Application code then can make simple checks if current user has feature enabled and enable / disable functionality.

Code roll-out
Features can be available to a user under following scenarios:
 * Feature is explicitly rolled-out to this user
 * Feature is explicitly rolled-out to account user is currently logged in with
 * Feature is globally rolled-out to all users
 * Feature is available under the subscription plan for current account (coming soon)

Disable the feature
Features can also be globally disabled (useful for testing the code or discontinuing features).

Operations
In addition to disabling features globally, they can be temporarily disabled due to system load or outage.

Features are also ranked for emergency shutdown - application administrators can write a load detection logic in their user_config.php files that will auto-scale down the system.

Admin interface
You can see the list of features and their current state in the admin interface on  page.

Screenshots
Click on the images to see full-sized screenshot