wiki:WebConfig

Version 2 (modified by Nicolas, 17 years ago) (diff)

Required manual changes to automatic conversion.

Web site overview

Customizing the default web site

When you create a BOINC project using 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 recruit and retain participants.

Some of this customization can be done by editing the main page (index.php) and the stylesheet (white.css). 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 this directory under CVS and put all project-specific web files there (create symbolic links from html/inc and html/user).

project.inc is generated by make_project with default values. It includes 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
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 controlling account creation.
EMAIL_FROM
'from' address for emails
EMAIL_FROM_NAME
'from' name for emails

and 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

and variables:

USE_PHPMAILER
Set to true if you use 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'.