Version 2 (modified by 10 years ago) (diff) | ,
---|
Simplified Attach
Current attach process
The process of attaching to a project, for a first-time volunteer, involves several steps:
- Visit the project web site (say, via a link in a news story).
- Click on "Download" on the project site, taking you to the BOINC download page.
- Click on "Download BOINC".
- When the download is done, click on the installer.
- Click on "defaults" in the installer.
- The Manager runs and brings up the Attach wizard. Click on Add Project.
- Find the project in the project list (hopefully you still remember its name). Note: if the project is new and is not in the list, you need to go back to its web site, find the URL, and copy/paste it into the wizard. New volunteers are unlikely to figure this out.
- Click on New User.
- Enter email address and password.
This is a lot of steps, and we lose a fraction of volunteers at each step.
For existing volunteers (already running BOINC on this computer) the steps are:
- Visit project web site; figure out what to do next (standard project front page doesn't say).
- Open the BOINC Manager.
- Open Attach wizard.
- Click on Add Project.
- Find project in list.
- Click on New User.
- Enter password (email should be pre-populated from previous attach).
Proposed attach process
This document describes a new scheme that simplifies both scenarios.
Project web sites have 2 buttons:
- "Join (download BOINC)"
- "Join (already running BOINC)"
New volunteer case:
- Visit project web site, click on "Join (download BOINC)". Download happens, browser remains on project web site (see below). Possibly (depending on OS/browser) goes to a page describing how to run the installer after download is done.
- When download is done, click on installer.
- Click on Defaults in installer
- Manager runs and brings up Attach wizard at the "enter email/password" page; no need to select project etc. This page also has name/info of project. Enter email/password.
Existing volunteer case:
- Visit project web site, click on "Join (already running BOINC)".
- Taken to page saying "open BOINC Manager" and select Add Project.
- When they do that, it brings up Attach wizard at "enter email/password" page.
Implementation
What projects must do
Project must add the following to config.xml:
- <project_desc>: a few-sentence description of the project
- <project_inst>: the host institution
- <vbox_required/> : if present, this project requires VirtualBox
In the home page, put:
- a "Join (download BOINC)" button linked to the URL returned by join_download_url() PHP function in util.inc.
- a "Join (already running BOINC)" button linked to the URL returned by join_no_download_url() PHP function in util.inc.
If this project requires VBox, replace "BOINC" by "BOINC+VirtualBox" in the above.
The join_x_url() functions
The join_x_url() functions extract from config.xml:
- the master URL
- the project name
- the project description
- the project institution
- vbox_required
and pass these as URL args to a URL on the BOINC web server (concierge.php). If the user is logged in on the project site, it also passes
- the user name
- the user authenticator
join_download_url() also passes a "download_required" flag.
The concierte.php script
The concierge.php script looks at the master URL to see if the project is in BOINC's list.
If "download_required" is set, it looks at the user agent string to find the computer's platform, and gets the URL of the current BOINC installer for that platform. (If vbox_required is present, it uses the BOINC+Vbox installer).
It then sends the following cookies (from the boinc.berkeley.edu domain):
attach_known:: 1 if the project is known to BOINC attach_master_url:: the master URL attach_project_name:: the project name attach_project_desc:: the project description attach_project_inst:: the project institution attach_user_name:: the user name (if present) attach_auth:: the user authenticator (if present)
These cookies are sent with a 24-hour expiration time.
If "download_required" is set, the script then redirects to the URL of the installer file. On current browsers this doesn't change the web page (which is still the project's main page); it starts a download of the BOINC installer, which is displayed in the status bar or elsewhere.
If "download_required" is not set, it does something to avoid showing a web page (need to figure this out).
Manager
When the manager starts up, it looks for the attach_master_url cookie from the boinc.berkeley.edu domain. If this is present, it puts up the Attach Wizard, at the email/password page.
It does the same check when
Comments
There are actually four scenarios, corresponding to:
- Whether the user has installed BOINC on the computer.
- Whether the user has an account on this project.
This design is geared to the cases where 2 is false. We should handle the other cases as well.