| Version 35 (modified by , 8 years ago) (diff) |
|---|
Web site customization
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 as follows:
- Add and alter content:
- Edit the main page (
index.php). - Add new pages, linked to from the main page.
These might describe your project's research, its leadership team, etc.
Typically these are .php files of the form
<?php require_once("../inc/util.inc"); page_head("Title"); ... content page_tail(); ?> - Customize page headers and footers (see below).
- Set config options (see below).
- Edit the main page (
- Give the web site a graphical identity (fonts, color scheme). Do this using CSS stylesheets.
Try to do a good job; your web site has a large impact on your project's ability to recruit and retain participants.
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 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.
- POSTAL_CODE
- If set to true, ask users for their postal code and store in DB. This is not the default because it can be seen as a privacy issue.
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
- 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_form_post_info($forum)
- return a string describing instructions for a particular forum (e.g. how to post in Questions and problems).
- project_forum_post_rules()
- return a string describing message board policies.
- 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_user_links($user)
- Return project-specific text to be shown after user name.
- project_user_page_private()
- Prints project-specific text on private user page
- project_user_summary()
- Prints project-specific text on user page
- project_workunit($wu)
- Prints project-specific text on workunit page
- server_status_project_info()
- Prints project-specific info on server status page (server_status.php).
- show_profile_heading1(), show_profile_heading2()
- Text on user profile page
- show_profile_question1(), show_profile_question2()
- Text on user profile page
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). Then 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.
