Index: openacs-4/packages/acs-authentication/www/doc/ims-sync-driver-design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-authentication/www/doc/ims-sync-driver-design.adp,v diff -u -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-authentication/www/doc/ims-sync-driver-design.adp 1 Dec 2015 11:17:38 -0000 1.1.2.3 +++ openacs-4/packages/acs-authentication/www/doc/ims-sync-driver-design.adp 5 Jul 2016 08:47:51 -0000 1.1.2.4 @@ -13,9 +13,9 @@ authors, and may be edited by OpenACS documentation staff.
We need examples of how the communication would be done from our -clients.
The "GetDocument" communications service contract could be a -generic system-wide service contract.
We might need a source/ID column in the users table to identify -where they're imported from for doing updates, particularly if +clients.
The "GetDocument" communications service contract +could be a generic system-wide service contract.
We might need a source/ID column in the users table to identify +where they're imported from for doing updates, particularly if importing from multiple sources (or when some users are local.)
We will parse a document in the IMS Enterprise Specification format (example XML document), and translate it into calls to the batch user sync API.
The document will contain either the complete user listitemst -(IMS: "snapshot"), or an incremental user listitemst (IMS: "Event -Driven" -- contains only adds, edits, and deletes). You could for -example do a complete transfer once a month, and incrementals every -night. The invocation should decide which type is returned.
The design should favor interoperability, reliability and robustness.
<enterprise> @@ -148,9 +149,10 @@
Mandatory fields which we can rely on are:
sourcedid: ID as defined by the source system. Used for username.
name.fn (formatted name). Used for first_names, last_name
Note that we require 'email' attribute, but the IMS Enterprise -spec does not. Hence, unless we change our data model to allow -users without an email address, we will have to throw an error.
Here's how we map IMS enterprise to OpenACS tables.
Note that we require 'email' attribute, but the IMS +Enterprise spec does not. Hence, unless we change our data model to +allow users without an email address, we will have to throw an +error.
Here's how we map IMS enterprise to OpenACS tables.
username:
<userid> ... @@ -192,8 +194,8 @@ article says that IMS Enterprise 1.1 (current version) does not address the communication model, which is critically missing for real seamless interoperability. IMS Enterprise 2.0 will address -this, but Blackboard, who's influential in the IMS committee, is -adopting OKI's programming interrfaces for this.