Beta Features

This page describes how to code and enable beta features on a server from the perspective of a developer. For instructions on doing beta work as a user, see Beta Testing

Putting a Feature into Beta
Features in active beta are listed on Dreamwidth Beta. To add a feature to that list, you will need to create a new module and configure the server to enable the feature beta.

Module
Here is the bare minimum to get a module to work, to be placed in   dw-free/cgi-bin/DW/BetaFeatures/featurename.pm

Refer to the base implementation at `dw-free/cgi-bin/LJ/BetaFeatures/default.pm` for methods that you can override.

Configuring your Server to List the New Feature
You'll also need to enable it in your configuration. Add this to `dw-nonfree/etc/config-local.pl` (or look for an existing `%LJ::BETA_FEATURES` line)

%LJ::BETA_FEATURES = (       "featurename" => {            start_time  => 0,            end_time    => "Inf",        },    );

Conditionally Enabling Features for Beta Testers
To determine whether a user has enabled a certain feature, use this in an if-statement:

LJ::BetaFeatures->user_in_beta( $u => "featurename" );