wiki:AppFiltering
Last modified 8 months ago Last modified on 03/04/14 12:08:21

User app selection

You can allow users to select which applications they will receive work for (by default, they may receive work for any application).

Each user's list of selected apps is stored in the project-specific preferences. This is stored in the user.project_specific_prefs database field. Each 'allowed' application is represented by an element <app_id>N</app_id>, where N is the database ID of the application. If no <app_id> elements are present, the user may be sent work for any application.

This feature is disabled by default. To enable it, edit your html/project/project_specific_prefs.inc to contain

define ('APP_SELECT_PREFS', true);

Adding a new app

When you add a new app, it won't be sent to any users who have selected apps. You can change this (i.e. add the new app to the prefs of users who have selected apps) by running

app_select_edit.php ID

in your html/ops directory (where ID is the database ID of the new app). We recommend that you test this script for a few individual users before running it on your whole database; see the bottom of the script for details on how to do this.

Warning

Once you use application filtering, currently there is no easy way to cancel it: users who have non-empty app lists will continue to be filtered even if you remove app filtering from your PHP code. The only ways to fully undo app filtering are:

  • write a script to remove all <app_id> elements from the XML in the database
  • modify the scheduler so that it takes a configuration flag turning off app filtering.