= Web site overview = == Customizing the default web site == When you create a BOINC project using [MakeProject make_project], a web site is created for you. This consists of a front page (`html/user/index.php`), which links to pages where users can log in, edit preferences, create profiles, and so on. Before your project goes public, you'll want to change this web site by adding content specific to your project, and by giving the web site a graphical identity specific to your project. Make sure you do a good job; your web site has a large impact on your project's ability to [VolunteerRecruit recruit and retain participants]. Some of this customization can be done by editing the main page (`index.php`) and the stylesheet (`white.css`) files. Other aspects are changed using a configuration file, described below. == Web configuration file == The file `html/project/project.inc` serves as a configuration file for your web site. It exists in a separate directory (html/project) so that you can put all project-specific web files there (create symbolic links from `html/inc` and `html/user`). You can also put this directory under your own CVS to manage version control. The file `project.inc` is generated by [MakeProject make_project] with default values. When you set up your project you need to edit this file to customize the constants and functions it contains. To properly configure your project you need to set values for these constants: '''PROJECT''':: The name of your project '''MASTER_URL''':: Your project's master URL '''URL_BASE''':: Base URL for web pages (usually same as master URL) '''STYLESHEET''':: Name of stylesheet file (such as `white.css`) '''COPYRIGHT_HOLDER''':: Name of copyright holder '''SYS_ADMIN_EMAIL''':: Users are directed here if they have complaints about message-board moderation. Also, messages about user-of-the-day running low are sent here. '''FORUM_MODERATION_EMAIL_USER_ID''':: Moderation-related emails (such as user complaints) are sent here. '''INVITE_CODES''':: Regular expression used for [AccountControl controlling account creation]. '''EMAIL_FROM''':: 'from' address for emails '''EMAIL_FROM_NAME''':: 'from' name for emails You also need to customize these functions: '''project_banner()''':: Prints page header '''project_banner()''':: Prints page footer '''show_profile_heading1(), show_profile_heading2()''':: Text on user profile page '''show_profile_question1(), show_profile_question2()''':: Text on user profile page '''project_workunit()''':: Prints project-specific text on workunit page '''project_user_summary()''':: Prints project-specific text on user page '''project_user_page_private()''':: Prints project-specific text on private user page If you want to use PHPMailer to send e-mail to project participants then you should set the following constants to appropriate values. '''USE_PHPMAILER''':: Set to true if you use [http://phpmailer.sourceforge.net/ PHPMailer]. In this case you must download PHPMailer and put it (i.e. the directory 'phpmailer') in your html/inc directory. '''PHPMAILER_HOST''':: The Host argument to PHPMailer; typically a semicolon-separated list of SMTP servers. '''PHPMAIL_MAILER''':: The Mailer argument to PHPMailer; typically 'sendmail', 'mail', or 'smtp'. If you do not set '''USE_PHPMAILER''' then e-mail to participants can still be sent, but it will use PHP's simpler '''mail()''' function.