Administrative web interfaces
Server status page
Each project has a server status page (project_url/server_status.php). This page, which is visible to the public, provides a "dashboard" for the project's server. It shows:
- A list of the project's daemons, whether they're running, and where.
- A count of jobs in various states.
- Counts of active users and hosts.
- The average throughput (FLOPS) of the project.
- A list of the project's applications, with a summary of job throughput for each.
Project management page
Each project also has an project management web page, not visible to the public, that lets project administrators
- Browse the database
- Screen user profiles
- Administer "special users" (e.g., forum moderators)
- Create and edit applications and app versions
- Send mass email to users (note: a more flexible way of doing this is described here).
- Send emails to users with malfunctioning hosts.
- See a distribution of how many FLOPs results are using.
- Cancel workunits
- View recent results, and analyze failures
- Browse stripcharts
- Browse log files
Because the page lets you do things like see user email addresses, it's extremely important that it be secure. There are two levels of protection:
Protection by .htaccess
When a project is created, a file html/ops/.htaccess is created that disallows access to the project management page. You can use htpasswd to create a .htpasswd file containing credentials for yourself:
htpasswd -c .htpasswd username
Project-defined protection policy
The config file html/project/project.inc can specify a function auth_ops() that defines a project-specific policy for protecting the project management page. Possible policies:
- Access only if logged in as user from a given list.
- Access only to users with ADMIN or DEV flag set in forum_preferences.privileges.
- Access only from specific IP addresses.
- Any other policy you can think of.
Some examples are given in the function auth_ops_example() in the default config file.
Customizing the project management page
You can add your own content to the project management page by defining a function admin_index_extra() in your html/project/project.inc. Whatever text this function outputs will be shown at the top of the page.