[[PageOutline]] = 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 * [ProfileScreen 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 [VolunteerRecruit 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 If your project's URL is '''http://a.b.c/test''', then the URL of the project management page is '''http://a.b.c/test_ops'''. The directory containing the admin pages is '''~/projects/test/html/ops/'''. 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.