Changes between Version 23 and Version 24 of SimpleAttach
- Timestamp:
- Jan 22, 2021, 12:54:01 AM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SimpleAttach
v23 v24 3 3 = Auto-attach: simplified registration/download process = 4 4 5 This document describes a process by which volunteers 5 This document describes a streamlined process by which volunteers 6 on Windows and Mac computers 6 7 download BOINC and attach to projects or account managers. 7 8 … … 18 19 i.e. those that appear on the BOINC web site. 19 20 Making it work for arbitrary projects would decrease security. 21 It works only on Win and Mac. 20 22 21 23 == New download/attach process == … … 42 44 like the download page on the BOINC web site. 43 45 44 Note: if your project requires VirtualBox, put45 {{{46 <need_vbox/>47 }}}48 in your config.xml.49 50 If your project can use VirtualBox but doesn't require it, use51 {{{52 <recommend_vbox/>53 }}}54 55 If neither of these is present, VBox-related info won't be shown.56 46 57 47 === Manager === … … 77 67 78 68 * Have your project vetted if not already. 79 * Run the script html/ops/get_versionsto get the current client version list.69 * Run the script '''html/ops/get_versions.php''' to get the current client version list. 80 70 '''You must re-run this script after new client releases; I'll email to boinc_projects about this.''' 81 71 * Add to config.xml: … … 84 74 }}} 85 75 where N is the project's ID, as shown in https://boinc.berkeley.edu/project_list.php. 86 And optionally: 76 If your project requires VirtualBox, add 87 77 {{{ 88 <min_core_client_version>70803</min_core_client_version> 89 <need_vbox/> 78 <need_vbox/> 90 79 }}} 91 80 92 * Add a button linking to register.php. 93 During testing, hide this. 94 After testing, put it on the home page. 81 If your project can use VirtualBox but doesn't require it, use 82 {{{ 83 <recommend_vbox/> 84 }}} 85 86 If 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). 95 89 96 90 == Implementation == 97 91 98 92 When a user is shown the Download page, 99 the server code creates a "login token" - a string of 8 random hex chars.93 the server code creates a "login token" - a random string. 100 94 It stores the token and the current time in the user DB record. 101 95 … … 113 107 It attaches to the project using this authenticator. 114 108 115 == Unsupported platforms==109 == Auto-attach from another web site == 116 110 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: 111 Suppose you want to make a web site that acts as a "front end" 112 to a BOINC project or account manager. 113 Users create accounts on the front-end site, 114 and they end up computing for the back-end projector AM. 115 But you want their interaction to be entirely with the front-end site. 121 116 122 '''This project is not able to use Android devices. 123 Please visit this site from a Windows, Mac, or Linux computer.''' 117 Here's how to do this: 124 118 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. 126 122 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)''' 123 To 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]. 125 The download_software() RPC is described [https://boinc.berkeley.edu/trac/wiki/WebRpc#download here]. 131 126 127 Note: this is currently deployed only on the Science United account manager.