Changes between Version 1 and Version 2 of SimpleAttach


Ignore:
Timestamp:
Dec 31, 2014, 11:48:28 AM (9 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SimpleAttach

    v1 v2  
    11= Simplified Attach =
    22
    3 == Current ==
     3== Current attach process ==
    44
    5 Currently, attaching to a project involves several steps:
     5The process of attaching to a project, for a first-time volunteer,
     6involves several steps:
    67
    7 New volunteer case:
    8 
    9  * Visit the project web site (say, via a link in a news story).
    10  * Click on "Download" on the project site, taking you to the BOINC download page.
    11  * Click on "Download BOINC".
    12  * When the download is done, click on the installer
    13  * Click on "defaults" in the installer.
    14  * The Manager runs and brings up the Attach wizard.  Click on Add Project.
    15  * Find the project in the project list (hopefully you still remember its name).
     8 1. Visit the project web site (say, via a link in a news story).
     9 1. Click on "Download" on the project site, taking you to the BOINC download page.
     10 1. Click on "Download BOINC".
     11 1. When the download is done, click on the installer.
     12 1. Click on "defaults" in the installer.
     13 1. The Manager runs and brings up the Attach wizard.  Click on Add Project.
     14 1. Find the project in the project list (hopefully you still remember its name).
    1615   Note: if the project is new and is not in the list,
    1716   you need to go back to its web site, find the URL,
    1817   and copy/paste it into the wizard.
    1918   New volunteers are unlikely to figure this out.
    20  * Click on New User
    21  * Enter email address and password.
     19 1. Click on New User.
     20 1. Enter email address and password.
    2221
    23 A lot of steps; we lose a fraction of volunteers at each step.
     22This is a lot of steps, and we lose a fraction of volunteers at each step.
    2423
    25 Existing volunteer case:
     24For existing volunteers (already running BOINC on this computer) the steps are:
    2625
    27  * Visit project web site; figure out what to do next
     26 1. Visit project web site; figure out what to do next
    2827   (standard project front page doesn't say).
    29  * Open the BOINC Manager
    30  * Open Attach wizard
    31  * Click on Add Project
    32  * Find project in list
    33  * Click on New User
    34  * Enter password (email should be pre-populated).
     28 1. Open the BOINC Manager.
     29 1. Open Attach wizard.
     30 1. Click on Add Project.
     31 1. Find project in list.
     32 1. Click on New User.
     33 1. Enter password (email should be pre-populated from previous attach).
    3534
    36 == Proposed ==
     35== Proposed attach process ==
    3736
    3837This document describes a new scheme that simplifies both scenarios.
    3938
     39Project web sites have 2 buttons:
     40 * "Join (download BOINC)"
     41 * "Join (already running BOINC)"
     42
    4043New volunteer case:
    4144
    42  * Visit project web site, click on "Join (download BOINC)".
     45 1. Visit project web site, click on "Join (download BOINC)".
    4346   Download happens, browser remains on project web site (see below).
    44  * When download is done, click on installer.
    45  * Click on Defaults in installer
    46  * Manager runs and brings up Attach wizard at the "enter email/password" page;
     47   Possibly (depending on OS/browser) goes to a page describing how to
     48   run the installer after download is done.
     49 1. When download is done, click on installer.
     50 1. Click on Defaults in installer
     51 1. Manager runs and brings up Attach wizard at the "enter email/password" page;
    4752   no need to select project etc.
     53   This page also has name/info of project.
    4854   Enter email/password.
    4955
    5056Existing volunteer case:
    5157 
    52  * Visit project web site, click on "Join (already running BOINC)".
    53  * Taken to page saying "open BOINC Manager" and select Add Project.
    54  * When they do that, it brings up Attach wizard at "enter email/password" page.
     58 1. Visit project web site, click on "Join (already running BOINC)".
     59 1. Taken to page saying "open BOINC Manager" and select Add Project.
     60 1. When they do that, it brings up Attach wizard at "enter email/password" page.
     61
     62== Implementation ==
     63
     64=== What projects must do ===
     65
     66Project must add the following to config.xml:
     67 * <project_desc>: a few-sentence description of the project
     68 * <project_inst>: the host institution
     69 * <vbox_required/> : if present, this project requires VirtualBox
     70
     71In the home page, put:
     72 * a "Join (download BOINC)" button
     73  linked to the URL returned by ''join_download_url()'' PHP function in util.inc.
     74 * a "Join (already running BOINC)" button
     75  linked to the URL returned by ''join_no_download_url()'' PHP function in util.inc.
     76
     77If this project requires VBox, replace "BOINC" by "BOINC+VirtualBox" in the above.
     78
     79=== The join_x_url() functions ===
     80
     81The ''join_x_url()'' functions extract from config.xml:
     82 * the master URL
     83 * the project name
     84 * the project description
     85 * the project institution
     86 * vbox_required
     87
     88and pass these as URL args to a URL on the BOINC web server (concierge.php).
     89If the user is logged in on the project site, it also passes
     90 * the user name
     91 * the user authenticator
     92
     93'''join_download_url()''' also passes a "download_required" flag.
     94
     95=== The concierte.php script ===
     96
     97The concierge.php script looks at the master URL to see if the project is in BOINC's list.
     98
     99If "download_required" is set,
     100it looks at the user agent string to find the computer's platform,
     101and gets the URL of the current BOINC installer for that platform.
     102(If vbox_required is present, it uses the BOINC+Vbox installer).
     103
     104It then sends the following cookies (from the boinc.berkeley.edu domain):
     105
     106'''attach_known''':: 1 if the project is known to BOINC
     107'''attach_master_url''':: the master URL
     108'''attach_project_name''':: the project name
     109'''attach_project_desc''':: the project description
     110'''attach_project_inst''':: the project institution
     111'''attach_user_name''':: the user name (if present)
     112'''attach_auth''':: the user authenticator (if present)
     113
     114These cookies are sent with a 24-hour expiration time.
     115
     116If "download_required" is set,
     117the script then redirects to the URL of the installer file.
     118On current browsers this doesn't change the web page
     119(which is still the project's main page);
     120it starts a download of the BOINC installer,
     121which is displayed in the status bar or elsewhere.
     122
     123If "download_required" is not set, it does something
     124to avoid showing a web page (need to figure this out).
     125
     126=== Manager ===
     127
     128When the manager starts up, it looks for the '''attach_master_url''' cookie from
     129the boinc.berkeley.edu domain.
     130If this is present, it puts up the Attach Wizard,
     131at the email/password page.
     132
     133It does the same check when
     134
     135== Comments ==
     136
     137There are actually four scenarios, corresponding to:
     138
     139 1. Whether the user has installed BOINC on the computer.
     140 1. Whether the user has an account on this project.
     141
     142This design is geared to the cases where 2 is false.
     143We should handle the other cases as well.