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.

TODO

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.)

@@ -24,10 +24,11 @@
  • 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.

  • +(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:

    1. sourcedid: ID as defined by the source system. Used for username.

    2. name.fn (formatted name). Used for first_names, last_name

    3. -

    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.

    1. username:

      1. <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.

      2. IMS and OKI, the wire and the socket

      3. +this, but Blackboard, who's influential in the IMS committee, +is adopting OKI's programming interrfaces for this.

      4. IMS and OKI, the wire and the socket