-
Notifications
You must be signed in to change notification settings - Fork 448
WebConfig
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
and 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
) files.
Other aspects are changed using a configuration file, described below.
An alternative version of the Account page, with many graphical icons, is available here: http://boinc.berkeley.edu/BOINC_WebIcons_and_php_code.zip (not supported, and doesn't work any more).
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 should put this directory under version control (SVN or CVS).
The file project.inc
is generated by make_project with default values.
Edit this file to customize the constants and functions it contains.
Constants:
PROJECT::
The name of your project
URL_BASE::
Base URL for web pages (usually same as master_url defined in config.xml).
SECURE_URL_BASE::
(optional) URL prefix for forms with passwords. If your web server supports HTTPS, set this accordingly.
STYLESHEET::
Name of stylesheet file (such as white.css
)
STYLESHEET2::
Name of an optional project supplied stylesheet.
SHORTCUT_ICON::
Path (relative to html/user) of icon file shown in web browser tabs.
IMAGE_PATH::
relative path to user-uploaded profile images (default: ../user_profile/images/)
IMAGE_URL::
url path to above defined path, is appended to URL_BASE (default: user_profile/images/)
PROFILE_PATH::
relative path to user profiles (default: ../user_profile/)
PROFILE_URL::
url path to user profiles, is appended to URL_BASE (default: user_profile/)
LANGUAGE_FILE::
name of a text file that contains language names that are shown in a selection box to the user at his profile. File is expected in html/user. (default: languages.txt)
COPYRIGHT_HOLDER::
Name of copyright holder
SYS_ADMIN_EMAIL::
Users are directed here if they have complaints about message-board moderation.
UOTD_ADMIN_EMAIL::
Messages about user-of-the-day running low are sent here.
UOTD_THRESHOLD::
Send email if # of UOTD candidates falls below this (default 7)
POST_REPORT_EMAILS::
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
COUNTRY_FLAGS::
If defined, show country flags in forums. Steps:
- Download flag images from http://www.famfamfam.com/lab/icons/flags/famfamfam_flag_icons.zip
- Put the .png's in html/user/flags/
- Put
define("COUNTRY_FLAGS", 1);
in your html/project/project.inc
FORUM_QA_MERGED_MODE:: Set this to true to merge Message boards and Q&A section NO_MYSQLI:: Set this to true if your web site includes custom PHP script that use the old (and now deprecated) mysql_* MySQL interface.
The following constants, if defined as true, turn off web features involving user-supplied content. This eliminates having to deal with spammers.
DISABLE_TEAMS:: Turn off team-related features. DISABLE_PROFILES:: Turn off profile-related features. DISABLE_FORUMS:: Turn off forums. Project admins can still post and edit news items; there's a link to this in the project admin page. DISABLE_BADGES:: Don't show badges.
Certificate-related constants: CERT_SIGNATURE:: Signature image filename CERT_DIRECTOR_NAME:: Name of project director CERT_PROJECT_LOGO:: Project logo image filename (if any) CERT_INSTITUTION_LOGO:: Institution logo image filename (if any)
Variables: $banned_email_domains:: An array of strings. An account's email address may not end with any of these strings.
Functions:
project_banner():: Prints page header project_footer():: 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($wu):: Prints project-specific text on workunit page project_user_links($user):: Return project-specific text to be shown after user name. project_user_summary():: Prints project-specific text on user page project_user_page_private():: Prints project-specific text on private user page donations_intro():: Displays customized donation information. Useful to describe what the project uses donations for, and project specific guides for donations. If function is not defined, standard donation information is displayed.html/user/donations.php. project_rules_policies():: Displays customized project rules and policies. If return value is true, standard rules and policies are appended. If function is not defined, default rules and policies are displayed. project_forum_post_rules():: return a string describing message board policies.
To use PHPMailer (the preferred way to send emails to participants), you must download PHPMailer and put it in PROJECT/html/inc/phpmailer (i.e. the files class.smtp.php and class.phpmailer.php should be in that directory). Than modify the following function:
make_php_mailer():: return a PHPMailer object with authentication information (see ServerIntro#PHPMailer), used when the above is set to true.
If you do not define make_php_mailer()_' then e-mail to participants can still be sent, but it will use PHP's simpler '_mail() function.