/boincphpgui

BOINC Client for PHP

Primary LanguagePHP

BoincGUI-PHP

BoincGUI-PHP is a web application that will allow you to monitor and 
control your Boinc installations.  BoincGUIPHP was originally conceived 
and developed by Sebastian Masch, creator of BoincView.  The software 
was enhanced and extended by me, Charles Dennett for my own amusement.  
Sebastian has given his permission to me to release my enhanced 
version.  This enhanced version is now available to all Boinc users.

As you can tell from the name, BoincGUI-PHP is written in PHP.  You 
will need a web server that supports PHP and of course you will need 
PHP.   This extended version was developed on a Linux system running 
Fedora Core 3 and a 2.6 kernel, Apache 2.0 web server, PHP 4.3.10 and 
Firefox 1.0 web browser.  It may or may not work with an earlier PHP 
version and some browsers (Internet Explorer) may not render the html 
generated correctly.  

BoincGUI-PHP is similar to the boinc_gui or boinc manager application 
that is part of the Boinc core client.  A series of buttons near the 
top of the display act as tabs to select different displays - projects, 
workunits, transfers, messages, etc.  Below is a listing of these 
displays and a brief description of them.

Options - This is the default display.  You can select a host to 
monitor by entering either its IP address or host name.  You can 
enable/disable network access.  You can set the run mode.  You can 
attach to a project.  You can have the core client run benchmarks.  You 
can show graphics for the currently running workunit as long as the 
workunit's application supports it.  You can also show a display of the 
state of your PHP installation.

Projects - This display shows the projects the host is attached to.  
For each project it displays the project's name, the user's account 
name, the total credit, the recent average credit, the resource debt, 
the resource share, the percent resource share, and a time until the 
next time the core client will contact the scheduler for the project.  
The last column contains clickable tools to allow you to force the 
project to contact the scheduler, reset the project, detach the 
project, suspend/resume a project, and freeze/thaw a project.  
Suspending a project causes any currently running workunit for the 
project to pause.  No other queued workunits for the project will run.  
No workunits are deleted so you will not lose any work. Suspended 
projects are highlighted in red.  Resuming a project undoes the actions 
of the suspend.  Freezing a project allows currently queued workunits 
to be processed normally.  Results will be uploaded.  However, the core 
client will not contact the scheduler for the project.  You can force 
an update with the update tool as described above.  A frozen project 
will not download additional workunits thereby allowing you to drain 
the queue for the project.  Frozen projects are highlighted in yellow.  
Thawing a project undoes the actions of a freeze.

Work - This display shows the workunits.  For each workunit it shows 
the project name, the workunit name, the application name and version, 
the elapsed CPU time, the percent complete, the time to finish, the 
report deadline, the workunit's status, and clickable tools.  With the 
tools you can suspend and resume a workunit.  You can also abort a 
running workunit.  Running workunits are hightlighted in green, paused 
workunits are highlighted in yellow, suspended workunits are 
highlighted in red and workunits that are completed but not yet 
reported are highlighted in light blue.  These latter workunits will be 
shown with a status of "Rdy To Rpt".  This status is clickable and 
clicking on it will cause the scheduler for that project to be 
contacted.  

Transfers - This display shows the state of any file transfers.  There 
are columns for project name, file name, progress (expressed as a 
percent), file size, bytes transferred, bytes left to transfer, total 
transfer time, average transfer speed, transfer status, time until the 
transfer will be retried (for transfers that have timed out) and 
clickable tools, which will allow you to force a retry before the retry 
time is reached.

Messages - This display shows the messages generated by the application 
and core client.  There are columns for the project name, date and 
time, and the message itself.  Error or warning messages are 
highlighted in orange.

Help - Explains the contents of the other displays.

The following files are supplied.

README - This file.

INSTALL - Simple installation instructions.

SECURITY - Important security considerations for using BoincPHP on your 
web server.  Please read this!

default.css 
gui_rpc_client.php 
index.php 
parse.php 
utils.php - The PHP files and one CSS file that do all the work.

Bug report, feature requests, and thanks can be submitted to the 
address below.  Insults and complaints can be directed to /dev/null.  

Happy crunching!

--
Charles Dennett
dennett@rochester.rr.com
http://www.dennett.org