Changes between Version 23 and Version 24 of SimpleAttach


Ignore:
Timestamp:
Jan 22, 2021, 12:54:01 AM (3 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SimpleAttach

    v23 v24  
    33= Auto-attach: simplified registration/download process =
    44
    5 This document describes a process by which volunteers
     5This document describes a streamlined process by which volunteers
     6on Windows and Mac computers
    67download BOINC and attach to projects or account managers.
    78
     
    1819i.e. those that appear on the BOINC web site.
    1920Making it work for arbitrary projects would decrease security.
     21It works only on Win and Mac.
    2022
    2123== New download/attach process ==
     
    4244   like the download page on the BOINC web site.
    4345
    44 Note: if your project requires VirtualBox, put
    45 {{{
    46 <need_vbox/>
    47 }}}
    48 in your config.xml.
    49 
    50 If your project can use VirtualBox but doesn't require it, use
    51 {{{
    52 <recommend_vbox/>
    53 }}}
    54 
    55 If neither of these is present, VBox-related info won't be shown.
    5646
    5747=== Manager ===
     
    7767
    7868 * Have your project vetted if not already.
    79  * Run the script html/ops/get_versions to get the current client version list.
     69 * Run the script '''html/ops/get_versions.php''' to get the current client version list.
    8070   '''You must re-run this script after new client releases; I'll email to boinc_projects about this.'''
    8171 * Add to config.xml:
     
    8474}}}
    8575   where N is the project's ID, as shown in https://boinc.berkeley.edu/project_list.php.
    86    And optionally:
     76If your project requires VirtualBox, add
    8777{{{
    88  <min_core_client_version>70803</min_core_client_version>
    89  <need_vbox/>
     78<need_vbox/>
    9079}}}
    9180
    92  * Add a button linking to register.php.
    93    During testing, hide this.
    94    After testing, put it on the home page.
     81If your project can use VirtualBox but doesn't require it, use
     82{{{
     83<recommend_vbox/>
     84}}}
     85
     86If neither of these is present, VBox-related info won't be shown.
     87
     88 * Add a button linking to signup.php on your home page (index.php).
    9589
    9690== Implementation ==
    9791
    9892When a user is shown the Download page,
    99 the server code creates a "login token" - a string of 8 random hex chars.
     93the server code creates a "login token" - a random string.
    10094It stores the token and the current time in the user DB record.
    10195
     
    113107It attaches to the project using this authenticator.
    114108
    115 == Unsupported platforms ==
     109== Auto-attach from another web site ==
    116110
    117 What if the computer is of a type for which the project has no apps?
    118 The user should learn this immediately.
    119 E.g. viewed from an Android device,
    120 the front page could say something like:
     111Suppose you want to make a web site that acts as a "front end"
     112to a BOINC project or account manager.
     113Users create accounts on the front-end site,
     114and they end up computing for the back-end projector AM.
     115But you want their interaction to be entirely with the front-end site.
    121116
    122 '''This project is not able to use Android devices.
    123 Please visit this site from a Windows, Mac, or Linux computer.'''
     117Here's how to do this:
    124118
    125 == Android case ==
     119* The front-end system must obtain an "RPC key" from the back-end system.
     120* When a user creates an account on the front-end site, it uses the [https://boinc.berkeley.edu/trac/wiki/WebRpc#create_account create_account RPC] to create a corresponding account on the back-end site, and it records the authenticator of this account.
     121* The front-end site has a Download page.  This page uses the [https://boinc.berkeley.edu/trac/wiki/WebRpc#download download_software()] RPC to get info from the back-end system that is used to create Download buttons which auto-attach the user to the back-end system.
    126122
    127 The auto-attach mechanism doesn't work for Android.
    128 Instead, show:
    129  * '''[Download BOINC]''' (link to Google or Amazon app store)
    130  * '''Open BOINC, select Add Project, and choose (project name)'''
     123To see how this works, look at the example code in
     124[https://github.com/BOINC/boinc/blob/dpa_download_info/html/inc/web_rpc_api.inc web_rpc_api.inc].
     125The download_software() RPC is described [https://boinc.berkeley.edu/trac/wiki/WebRpc#download here].
    131126
     127Note: this is currently deployed only on the Science United account manager.