Clarified role of identity-selector and identity-server components. Additions to...
authorhttp://petefoth.myopenid.com/ <http://petefoth.myopenid.com/@web>
Fri, 2 Dec 2011 17:53:26 +0000 (12:53 -0500)
committerwww-data <www-data@project-moonshot.org>
Fri, 2 Dec 2011 17:53:26 +0000 (12:53 -0500)
design/revisedclientarchitecture.mdwn

index 17dfefc..0a13ad2 100644 (file)
@@ -27,6 +27,11 @@ This diagram shows the proposed new architecture.
 
 The re-factored Moonshot Client software will have the following components:
 
+*_identity-selector-ui_* an application allowing:
+
+- the User to manage identities which are provisioned on the client machine
+- other applications needing access to identities to access internet services. 
+
 *_identity-server_*  shared library offering C and Vala APIs.
 
 - provides Create / Read / Update / Delete functionality for Identities
@@ -57,7 +62,13 @@ Replaces the _libmoonshot_ component from the initial implementation.
 
 Owns the public APIs for accessing the Identity Store (rather than, as in the initial implementation, exposing the APIs provided via DBus by _moonshot-ui_).
 
-Provides new APIs needed by identity-selector-ui to manage identities (e.g. CreateNewIdCard(), UpdateIdCard(), DeleteIdCard()) as well as the existing APIs provided in the initial implementation by _lib-moonshot_ (getIdentity(), GetDefaultIdentity(), InstallId_card()).
+Provides the APIs  provided in the initial implementation by _lib-moonshot_ (getIdentity(), GetDefaultIdentity(), InstallId_card()) which are used:
+
+- by identity-selector-ui component
+- by other applications to obtain the identities they need to access internet services *without interacting with the user*;
+- by _identity-provisioning_ components
+
+Provides new APIs needed by _identity-selector-ui_ and _identity-provisioning_ components, to manage identities (e.g. CreateNewIdCard(), UpdateIdCard(), DeleteIdCard()).
 
 Uses the APIs provided by the *_identity-storage-server_* component (_-dbus-local-storage-server_ on Linux and Mac, _-windows-local-storage-server_ on Windows).
 
@@ -65,13 +76,13 @@ It has no UI, so that it can be used in circumstances where interaction with a u
  
 ### Detail _identity-selector-ui_ component
 
-This is now just an App for managing Identities. It's *only* function is to allows a User to manage Identities and Services.
+This provides a UI which can be used both by the user, and by other application which need to interact with the user in selecting the identity they will use to access an internet service.
 
 It no longer owns the Identity Store.
-_
-It no longer *provides* the APIs (using DBus) that were used in the initial implementation by other components via _libmoonshot.
 
-Instead, it *uses* APIs provided by _identity-server_.
+It no longer *provides* the APIs (using DBus) that were used in the initial implementation by other components via _libmoonshot_ to access the Identity store.
+
+Instead, it *uses* APIs provided by _identity-server_ to access the Identity store.
 
 Implemented in Vala using GTK widgets, reusing code from src/moonshot-window.vala and other UI related code..