Account management systems
|
Zuletzt aktualisiert am
Sonntag, 27.11.2005 23:05
|
Um ein Account bei einem BOINC Projekt zu erstellen, muß ein Teilnehmer:
- Eine BOINC Seite finden, diese lesen und entscheiden welchem Projekt er beitreten will
- Die BOINC Clieten Software herunterladen und installieren
und dann für jedes gewählte Projekt:
- Die Webregistrierung ausfüllen
- eine EMail bestätigen
- die Projekt URL und den Accountschlüssel in den BOINC Clienten kopieren
Wenn der Teilnehmer das Projekt N wählt, dann sind da N Formulare auszufüllen, N EMails zu bearbeiten und N Eingabedialoge mit dem BOINC Clienten. Dies ist anstrengend bei vielen Projekten. Weiterhin, beinhaltet es das kopieren und einfügen von langen Zahlen-Buchstabenfolgen, was einschüchternd auf einige Teilnehmer wirkt.
Dieses Dokument beschreibt die BOINC Unterstützung eines "account management systems" (Kontoführungssystems), welches den Prozess des findens und Anmelden bei BOINC Projekten erleichert. Eine typische "account management" Seite ist wie eine Webseite aufgebaut. Der Teilnehmer muß:
- DieAccount Manager Seite besuchen, ein "Meta-Accoun" (name, email, passwort) erstellen, eine Liste der Projekte anzeigen lassen und die Projekte anklicken um Sie auszuwählen.
- Eien Mail von dem entsprechenden Projekt bekommen und auf den Link in der Mailadresse schauen.
- Den BOINC Clienten des Account Managers herunterladen und installieren.
- Den Meta-Accountnamen und das PAsswort im BOINC Clienten Dialog eingeben.
Dies dauert run 1/3 der Zeit die man normal benötigen würde und bewhrt vor der Eingabe der langen zufälligen Strings.
Implementierung
Ein Account management System arbeitet wie folgt:
-
Der Teilnehmer erstellt sein Meta-Account und wählt Projekte.
-
Der account manager stellt eine create account zu jedem gewählten Projekt.
-
Das Projekt erstellt einen Account (markiert als "unbestätigt") und sendet eine EMail an den Teilnehmer.
-
Der Teilnehmer öffnet die EMail und klickt auf einen Link in dieser, was den Account bestätigt.
-
Der Account manager richtet periodisch an jedes Projekt eine Accountprüfung "query account" und wartet bis alle Accounts bestätigt wurden.
-
Wenn alle Accounts bestätigt wurden, läd der Teilnehmer den BOINC Clienten vom Account Manager herunter und installiert ihn. Das installationspaket enthält eine Datei (speziell für den Account Manager) welche die URL des Account Managers beinhaltet.
-
Der BOINC Client läuft und fragt den Teilnehmer nach dem Namen und dem Passwort des Meta-Accounts.
-
Der BOINC Client führt eine "query accounts" (Accountrückfrage) an den Account Manager und bekommt eine Liste der Accounts. Der Client meldet sich bei diesen Accounts an und arbeitet nun für diese Projekte.
Core Clienten Funktionalität
Der BOINC Core Client benutzt die folgenden Dateien um über Account Manager informationen informiert zu bleiben.
- acct_mgr_url.xml
- Diese Datei identifiziert den Account Manager. Er ist normalerweise mit dem BOINC Clienten im Installations Paket verbunden. Das Format ist:
<acct_mgr>
<name>Name des BOINC account management systems</name>
<url>http://acctmgr.com/</url>
</acct_mgr>
- acct_mgr_login.xml
- Diese Datei enthält die meta-account informationen. Das Format ist:
<acct_mgr_login>
<login>name</login>
<password>xxx</password>
</acct_mgr_login>
Wenn der Core CLient eine acct_mgr_url.xml findet, aber keine acct_mgr_login.xml so fragt er nach einem Namen und Passwort und speichert diese in acct_mgr_login.xml und macht eine Account Manager Anfrage (RPC). Der Core Client bietet Menüpunkte um eine Account Manager RPC durchzuführen und ändert den Namen und das Passwort.
Remote Procedure Call (RPC) Specifications
- Ferngesteuerte Prozessanweisungs Spezifikationen
Die Programmstruktur enthält zwei RPC Mechanismen:
- Account creation RPCs (Schritt 2 und 5 oben);
- Account manager RPCs (Schritt 8 oben).
Das eigentliche Protokoll der beiden mechanismen ist wie folgt:
Account Erstellungs RPCs
Account Erstellung
| URL |
project_url/am_create.php |
| Eingabe |
email_addr: email address
nonce: nonce ID (crypto-random string) |
| Ausgabe |
<am_create_reply>
[ <error>message</error> ]
[ <success/>
</am_create_reply>
|
| Aktion |
Der Server erstellt ein provisorischen Account. Der Server sendet EMails zur gegeben Adresse, in Form von:
Someone (hopefully you) joined [project name] with this email address.
To confirm your participation in [project name] please visit the following URL:
xxx
If you do not want to participate in [project name], just ignore this message.
Wenn der Teilnehmer die Adresse xxx besucht ist das Konto bestätigt. |
Account Anfragen
| URL |
project_url/am_query.php |
| Eingabe |
nonce |
| Ausgabe |
<am_query_reply>
[<error>MSG</error>]
[ <success/>
<confirmed>0</confirmed> ]
[ <success/>
<account_key>KEY</account_key> ]
</am_query_reply>
|
| Aktion |
Ween das Account bestätigt wurde, wird der "Account Key" ausgegeben. |
Account Informationen Abfragen
| URL |
project_url/am_get_info.php |
| Eingabe |
account_key |
| Ausgabe |
<am_get_info_reply>
<success/>
<name>NAME</name>
<country>COUNTRY</country>
<postal_code>POSTAL_CODE</postal_code>
<global_prefs>
GLOBAL_PREFS
</global_prefs>
<project_prefs>
PROJECT_PREFS
</project_prefs>
<url>URL</url>
<send_email>SEND_EMAIL</send_email>
<show_hosts>SHOW_HOSTS</show_hosts>
<teamid>N</teamid>
</am_get_info_reply>
or
<am_get_info_reply>
<error>MSG</error>
</am_get_info_reply>
|
| Aktion |
Liefert Daten die dem angegebenen Account nahestehen. |
Account Infos eingeben
| URL |
project_url/am_set_info.php |
| Eingabe |
account_key
[ name ]
[ country ]
[ postal_code ]
[ global_prefs ]
[ project_prefs ]
[ url ]
[ send_email ]
[ show_hosts ]
[ teamid ] zero means quit current team, if any |
| Ausgabe |
<am_set_info_reply>
[ <error>MSG</error> ]
[ <success/> ]
</am_set_info_reply>
|
| Aktion |
Aktualisiert ein oder mehrere Datensätze, die mit dem Meta-Account in Verbindung stehen. |
Account manager RPCs
| URL |
Given in the file acct_manager_url.xml |
| Eingabe |
name
password |
| Ausgabe |
<account_manager_reply>
[ <error>MSG</error> ]
[ <account>
<url>URL</url>
<key>KEY</key>
</account>
...
]
</account_manager_reply>
|
| Aktion |
Gibt eine Liste der Accounts aus, die mit dem Meta-Account in Verbindung stehen. |
Zurück zu unserer Hauptseite