Changes between Initial Version and Version 1 of CreateProjectCookbook


Ignore:
Timestamp:
Apr 23, 2007, 4:43:16 PM (17 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CreateProjectCookbook

    v1 v1  
     1= Project creation cookbook =
     2
     3== Make skeletal project ==
     4
     5    * Install and configure all [SoftwarePrereqsUnix prerequisite software] (follow the directions carefully). Make sure MySQL is configured and running.
     6    * [http://boinc.berkeley.edu/source_code.php Get the BOINC software], say into HOME/boinc.
     7    * [http://boinc.berkeley.edu/build_system.php Compile the BOINC server software]
     8    * Run HOME/boinc/tools/[MakeProject make_project]
     9    * Append the contents of projects/PROJECT/PROJECT.httpd.conf to httpd.conf and restart Apache.
     10    * Use 'crontab' to insert a cron job to run the project's periodic tasks, e.g.
     11      0,5,10,15,20,25,30,35,40,45,50,55 * * * * HOME/projects/PROJECT/bin/start --cron
     12      (if cron cannot run 'start', try using a helper script to set PATH and PYTHONPATH)
     13    * Copy project.xml from HOME/boinc/tools to HOME/projects/PROJECT, edit it to reflect your applications and platforms, and run [http://boinc.berkeley.edu/tool_xadd.php bin/xadd].
     14    * Edit html/project/project.inc, changing the master URL and copyright holder.
     15    * Protect the html/ops directory (e.g. by putting .htaccess and .htpasswd files there).
     16
     17Visible result: the project web site is up. The database 'platforms' table has several rows.
     18
     19Troubleshooting: check the Apache access and error logs.
     20== Create an application version ==
     21
     22    * Create a BOINC application executable (if you're in a hurry, use the test application).
     23    * Copy the executable to HOME/projects/PROJECTNAME/apps/APPNAME
     24    * cd to HOME/projects/PROJECTNAME
     25    * run bin//update_versions, type y or return.
     26    * run ./stop && ./start
     27
     28Visible result: the web site's Applications page has an entry.
     29== Create a work unit ==
     30
     31    * Using a text editor, create a work unit template file and a result template file.
     32    * Run create_work
     33    * Edit config.xml to add <daemon> records for make_work, feeder, transitioner, file_deleter, the trivial validator, and the trivial assimilator. For example
     34{{{
     35<daemon>
     36    <cmd>validate_test -app appname</cmd>
     37    <output>validate_test.log</output>
     38    <pid_file>validate_test.pid</pid_file>
     39</daemon>
     40}}}
     41Visible result: after a project restart, 'status' shows the above daemon processes running.
     42
     43Troubleshooting: check the log files of all daemon processes.
     44== Test the system ==
     45
     46    * Create a client directory (on the same computer or different computer), say HOME/boinc_client. Copy the core client there.
     47    * Using the web interface, create an account on the project.
     48    * Run the core client; enter the project URL and the account key.
     49
     50Visible result: the client does a stream of work; the web site shows credit accumulating.
     51
     52Troubleshooting: check the log files of all daemon processes.
     53== Develop back end components ==
     54
     55    * Write a work generator.
     56    * Write a validator.
     57    * Write an assimilator.
     58    * Edit the configuration file to use these programs instead of the place-holder programs.
     59    * Make sure everything works correctly.
     60
     61== Extras ==
     62
     63    * Add message board categories: see html/ops/create_forums.php