Este servicio se utiliza para afectar a las cuentas de usuarios de Brightspace.
Operaciones implementadas
- deletePerson
- replacePerson
- readPerson
Nombre y apellido preferidos
Los clientes que utilizan LIS 2.0 pueden incluir y mantener nombres de usuario preferidos mediante etiquetas XML en una integración LIS. A continuación, se indican las reglas que sigue IPSIS el SIS puede sobrescribir los nombres preferidos de un usuario en Brightspace:
- Si el LIS tiene un nombre preferido vacío para un usuario que tiene un nombre preferido en Brightspace, elimine el nombre preferido.
- Si el LIS tiene un apellido preferido vacío para un usuario que tiene un apellido preferido en Brightspace, elimine el apellido preferido.
- Si el LIS tiene el bloque de nombre preferido y solo incluye el apellido preferido, no haga nada con el nombre preferido y actualice el apellido preferido en Brightspace.
- Si el LIS tiene el bloque de nombre preferido y solo incluye el nombre preferido, no haga nada con el apellido preferido y actualice el nombre preferido en Brightspace.
- Cuando no aparezca el bloque de nombre preferido en la solicitud, elimine el nombre y apellido preferidos.
- Si el LIS tiene el bloque de nombre preferido y aparece el nombre y apellido, sobrescriba el nombre o apellido preferido en Brightspace.
Nota: El NameType preferido contiene la información del nombre preferido de un usuario y se puede enviar junto con el nombre completo como un objeto de Persona.
Para clientes que utilizan IPSIS V1.0:
- PersonRequestPreferredFirstAndLastNameOptionalTranslator puede ir en cualquier lugar de la lista.
- ReplaceUserPreferredFirstNameNoUpdateHandler y ReplaceUserPreferredLastNameNoUpdateHandler deben ir antes de de ReplaceUserSaveLMSHandler
Acerca de la operación deletePerson
La operación deletePerson se utiliza para eliminar usuarios de Brightspace.
Flujo de proceso: deletePerson
- Cuando se recibe una solicitud deletePerson de LIS, el adaptador obtiene el ID único del usuario en el campo sourcedId de la solicitud directamente, sin el uso de un traductor conectable.
- Una vez que el ID de Persona se ha obtenido, los controladores de la Plataforma del IPSIS configurados para IDeleteUserHandler se utilizan para procesar la solicitud.
- La respuesta del LIS se genera desde la respuesta del controlador.
Solicitud deletePerson de muestra
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims="http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0">
<soapenv:Header>
<ims:imsx_syncRequestHeaderInfo>
<ims:imsx_version>V1.0</ims:imsx_version>
<ims:imsx_messageIdentifier>1234</ims:imsx_messageIdentifier>
</ims:imsx_syncRequestHeaderInfo>
</soapenv:Header>
<soapenv:Body>
<ims:deletePersonRequest>
<ims:sourcedId>Demo_User</ims:sourcedId>
</ims:deletePersonRequest>
</soapenv:Body>
</soapenv:Envelope>
Encabezado de solicitud deletePerson y campos del cuerpo
Campos del encabezado de la solicitud
Para obtener más información, consulte el tema Uso de los servicios LIS v2.0 > Encabezados de solicitud y respuesta.
Campos del cuerpo de la solicitud
El adaptador acepta los siguientes campos en la solicitud:
Propiedad
|
Esquema de solicitud del LIS
|
Obligatorio
|
Código
|
deletePersonRequest.sourcedId
|
Sí
|
Respuesta deletePerson de muestra
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:imsx_syncResponseHeaderInfo
xmlns:h="http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0"
xmlns="http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<imsx_version>V1.0</imsx_version>
<imsx_messageIdentifier>MMS_deletePerson_20120120T191434_9913552Z</imsx_messageIdentifier>
<imsx_statusInfo>
<imsx_codeMajor>success</imsx_codeMajor>
<imsx_severity>status</imsx_severity>
<imsx_messageRefIdentifier>1234</imsx_messageRefIdentifier>
<imsx_description/>
<imsx_codeMinor>
<imsx_codeMinorField>
<imsx_codeMinorFieldName>TargetEndSystem</imsx_codeMinorFieldName>
<imsx_codeMinorFieldValue>fullsuccess</imsx_codeMinorFieldValue>
</imsx_codeMinorField>
</imsx_codeMinor>
</imsx_statusInfo>
</h:imsx_syncResponseHeaderInfo>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
</s:Envelope>
Encabezado de respuesta deletePerson y campos del cuerpo
Campos del encabezado de respuesta
Para obtener más información, consulte el tema Uso de los Servicios de LIS v2.0 > Encabezados de solicitud y respuesta.
Campos del cuerpo de respuesta
No se devuelven campos en el cuerpo de la respuesta.
Acerca de la operación replacePerson
La operación replacePerson se utiliza para crear o actualizar usuarios de Brightspace.
Cuando se utilizan las configuraciones predeterminadas, después de realizar la operación correctamente, puede validar que el usuario se ha creado o actualizado según corresponde mediante la herramienta Administrar usuarios en Brightspace.
Flujo de proceso: replacePerson
- Cuando se recibe una solicitud replacePerson del LIS, Brightspace traduce la solicitud con los traductores del LIS configurados para ITranslatePerson a fin de transformar la solicitud en un formato que la plataforma del IPSIS pueda comprender.
- Una vez que la solicitud se ha traducido, los controladores de la Plataforma del IPSIS configurados para IReplaceUserHandler se utilizan para procesar la solicitud.
- Se genera una respuesta del LIS desde la respuesta del controlador.
Solicitud replacePerson de muestra
Nota: Esta solicitud de muestra incluye un campo de extensión opcional (en negrita) que le permite cambiar el estado de un usuario tras la creación inicial. Se requiere un campo de extensión para esta acción, porque el estado del usuario no coincide directamente con el campo de la especificación de LIS.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims="http://www.imsglobal.org/services/lis/pms2p0/wsdl11/sync/imspms_v2p0">
<soapenv:Header>
<ims:imsx_syncRequestHeaderInfo>
<ims:imsx_version>V1.0</ims:imsx_version>
<ims:imsx_messageIdentifier>12346</ims:imsx_messageIdentifier>
</ims:imsx_syncRequestHeaderInfo>
</soapenv:Header>
<soapenv:Body>
<ims:replacePersonRequest>
<!--Not Used by D2L-->
<ims:sourcedId>Demo_User</ims:sourcedId>
<ims:personRecord>
<ims:sourcedGUID>
<ims:sourcedId>Demo_User</ims:sourcedId>
</ims:sourcedGUID>
<!--Optional:-->
<ims:person>
<!--Zero or more repetitions:-->
<ims:name>
<ims:nameType>
<ims:instanceIdentifier>
<ims:language>en-US</ims:language>
<ims:textString>Contact</ims:textString>
</ims:instanceIdentifier>
<ims:instanceVocabulary>http://www.imsglobal.org/lis/pmsv2p0/nametypevocabularyv1p0</ims:instanceVocabulary>
<ims:instanceValue>
<ims:language>en-US</ims:language>
<ims:textString>Contact</ims:textString>
</ims:instanceValue>
</ims:nameType>
<!--1 or more repetitions:-->
<ims:partName>
<ims:instanceIdentifier>
<ims:language>en-US</ims:language>
<ims:textString>Contact-First</ims:textString>
</ims:instanceIdentifier>
<ims:instanceVocabulary>http://www.imsglobal.org/lis/pmsv2p0/partnamevocabularyv1p0</ims:instanceVocabulary>
<ims:instanceName>
<ims:language>en-US</ims:language>
<ims:textString>First</ims:textString>
</ims:instanceName>
<ims:instanceValue>
<ims:language>en-US</ims:language>
<ims:textString>Demo</ims:textString>
</ims:instanceValue>
</ims:partName>
<ims:partName>
<ims:instanceIdentifier>
<ims:language>en-US</ims:language>
<ims:textString>Contact-Last</ims:textString>
</ims:instanceIdentifier>
<ims:instanceVocabulary>http://www.imsglobal.org/lis/pmsv2p0/partnamevocabularyv1p0<:/ims:instanceVocabulary>
<ims:instanceName>
<ims:language>en-US</ims:language>
<ims:textString>Last</ims:textString>
</ims:instanceName>
<ims:instanceValue>
<ims:language>en-US</ims:language>
<ims:textString>User</ims:textString>
</ims:instanceValue>
</ims:partName>
</ims:name>
<!--Zero or more repetitions:-->
<ims:contactinfo>
<ims:contactinfoType>
<ims:instanceIdentifier>
<ims:language>en-US</ims:language>
<ims:textString>EmailPrimary</ims:textString>
</ims:instanceIdentifier>
<ims:instanceVocabulary>http://www.imsglobal.org/lis/pmsv2p0/contactinfotypevocabularyv1p0</ims:instanceVocabulary>
<ims:instanceValue>
<ims:language>en-US</ims:language>
<ims:textString>EmailPrimary</ims:textString>
</ims:instanceValue>
</ims:contactinfoType>
<ims:contactinfoValue>
<ims:language>en-US</ims:language>
<ims:textString>duser@demo.com</ims:textString>
</ims:contactinfoValue>
</ims:contactinfo>
<!--Zero or more repetitions:-->
<ims:roles>
<ims:enterpriserolesType>
<ims:instanceIdentifier>
<ims:language>en-US</ims:language>
<ims:textString>StudentInformationSystem</ims:textString>
</ims:instanceIdentifier>
<ims:instanceVocabulary>http://www.imsglobal.org/lis/pmsv2p0/epriserolestypevocabularyv1p0</ims:instanceVocabulary>
<ims:instanceValue>
<ims:language>en-US</ims:language>
<ims:textString>StudentInformationSystem</ims:textString>
</ims:instanceValue>
</ims:enterpriserolesType>
<!--Zero or more repetitions:-->
<ims:institutionRole>
<ims:institutionroletype>
<ims:instanceIdentifier>
<ims:language>en-US</ims:language>
<ims:textString>StudentInformationSystem-Student</ims:textString>
</ims:instanceIdentifier>
<ims:instanceVocabulary>http://www.imsglobal.org/lis/pmsv2p0/institutionroletypevocabularyv1p0</ims:instanceVocabulary>
<ims:instanceValue>
<ims:language>en-US</ims:language>
<ims:textString>Student</ims:textString>
</ims:instanceValue>
</ims:institutionroletype>
<ims:primaryroletype>1</ims:primaryroletype>
</ims:institutionRole>
<!--Optional:-->
<ims:userId>
<ims:userIdValue>
<ims:language>en-US</ims:language>
<ims:textString>duser</ims:textString>
</ims:userIdValue>
<!--Optional:-->
<ims:password>
<ims:language>en-US</ims:language>
<ims:textString>d2l</ims:textString>
</ims:password>
</ims:userId>
</ims:roles>
<ims:extension>
<ims:extensionField>
<ims:fieldName>IsActive</ims:fieldName>
<ims:fieldType>Boolean</ims:fieldType>
<ims:fieldValue>True</ims:fieldValue>
</ims:extensionField>
</ims:extension>
</ims:person>
</ims:personRecord>
</ims:replacePersonRequest>
</soapenv:Body>
</soapenv:Envelope>
<ims:agent>
<ims:agentId>
<ims:language>en-US</ims:language>
<ims:textString>{Parent user Id}</ims:textString>
</ims:agentId>
<ims:agentDomain>
<ims:language>en-US</ims:language>
<ims:textString>{Parent role}</ims:textString>
</ims:agentDomain>
</ims:agent>
<ims:extension>
<ims:extensionField>
<ims:fieldName>SynchronizeRelationships</ims:fieldName>
<ims:fieldType>Boolean</ims:fieldType>
<ims:fieldValue>verdadero</ims:fieldValue>
</ims:extensionField>
</ims:extension>
Encabezado de solicitud replacePerson y campos del cuerpo
Campos del encabezado de la solicitud
Para obtener más información, consulte el tema Uso de los servicios LIS v2.0 > Encabezados de solicitud y respuesta.
Campos del cuerpo de la solicitud
La configuración del traductor de plantillas acepta los siguientes campos en la solicitud:
Propiedad
|
Esquema de solicitud del LIS
|
Obligatorio
|
OrgDefinedId
|
sourcedGUID.sourcedId
|
Sí
|
Nombre completo
|
person.name.formname
|
No
|
Nombre
|
person.name.partName.instanceValue.textString
donde person.name.partName.instanceName.textString = "First" or "Given"
|
Sí
|
Apellido
|
person.name.partName.instanceValue.textString
donde person.name.partName.instanceName.textString = "Last", "Family" or "Surname"
|
Sí
|
Dirección de correo electrónico
|
person.contactinfo.contactinfoValue.textString
donde person.contactinfo.contactinfoType.instanceValue = "EmailPrimary"
|
No
|
Rol
|
person.roles.institutionRole(*).institutionroletype.instanceValue.textString
|
No
|
Rol principal
|
person.roles.institutionRole(*).institutionroletype.instanceValue.textString
cuando person.roles.institutionRole(*).primaryroletype = true
|
No
|
Nombre de usuario
|
person.roles.userId.userIdValue.textString
|
No
|
Tipo de nombre de usuario
|
person.roles.userId.userIdType.textString
|
No
|
Contraseña
|
person.roles.userId.password.textString
|
No
|
Tipo de cifrado
|
person.roles.userId.pwEncryptionType.textString
|
No
|
Tipo de autenticación
|
person.roles.userId.authenticationType.textString
|
No
|
IsActive
|
person.extension.extensionField.fieldValue
|
No
|
Respuesta replacePerson de muestra
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:imsx_syncResponseHeaderInfo
xmlns:h="http://www.imsglobal.org/services/lis/pms2p0/wsdl11/sync/imspms_v2p0"
xmlns="http://www.imsglobal.org/services/lis/pms2p0/wsdl11/sync/imspms_v2p0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<imsx_version>V1.0</imsx_version>
<imsx_messageIdentifier>PMS_replacePerson_20120418T234324_4244880Z</imsx_messageIdentifier>
<imsx_statusInfo>
<imsx_codeMajor>success</imsx_codeMajor>
<imsx_severity>warning</imsx_severity>
<imsx_messageRefIdentifier>12346</imsx_messageRefIdentifier>
<imsx_description/>
<imsx_codeMinor>
<imsx_codeMinorField>
<imsx_codeMinorFieldName>TargetEndSystem</imsx_codeMinorFieldName>
<imsx_codeMinorFieldValue>partialdatastorage</imsx_codeMinorFieldValue>
</imsx_codeMinorField>
</imsx_codeMinor>
</imsx_statusInfo>
</h:imsx_syncResponseHeaderInfo>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
</s:Envelope>
Encabezado de respuesta replacePerson y campos del cuerpo
Campos del encabezado de respuesta
Para obtener más información, consulte el tema Uso de los Servicios de LIS v2.0 > Encabezados de solicitud y respuesta.
Campos del cuerpo de respuesta
No se devuelven campos en el cuerpo de la respuesta.
Solicitud readPerson de muestra
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims="http://www.imsglobal.org/services/lis/pms2p0/wsdl11/sync/imspms_v2p0">
<soapenv:Header>
<ims:imsx_syncRequestHeaderInfo>
<ims:imsx_version>1.0</ims:imsx_version>
<ims:imsx_messageIdentifier>1234567</ims:imsx_messageIdentifier>
<!--Optional:-->
<ims:imsx_sendingAgentIdentifier/>
</ims:imsx_syncRequestHeaderInfo>
</soapenv:Header>
<soapenv:Body>
<ims:readPersonRequest>
<ims:sourcedId>Demo_User</ims:sourcedId>
</ims:readPersonRequest>
</soapenv:Body>
</soapenv:Envelope>
Respuesta readPerson de muestra
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:imsx_syncResponseHeaderInfo xmlns:h="http://www.imsglobal.org/services/lis/pms2p0/wsdl11/sync/imspms_v2p0"
xmlns="http://www.imsglobal.org/services/lis/pms2p0/wsdl11/sync/imspms_v2p0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<imsx_version>V1.0</imsx_version>
<imsx_messageIdentifier>PMS_readPerson_20120720T192847_4131414Z</imsx_messageIdentifier>
<imsx_statusInfo>
<imsx_codeMajor>success</imsx_codeMajor>
<imsx_severity>warning</imsx_severity>
<imsx_messageRefIdentifier>12354</imsx_messageRefIdentifier>
<imsx_description>PMS.readPerson</imsx_description>
<imsx_codeMinor>
<imsx_codeMinorField>
<imsx_codeMinorFieldName>TargetEndSystem</imsx_codeMinorFieldName>
<imsx_codeMinorFieldValue>partialdatastorage</imsx_codeMinorFieldValue>
</imsx_codeMinorField>
</imsx_codeMinor>
</imsx_statusInfo>
</h:imsx_syncResponseHeaderInfo>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<readPersonResponse xmlns="http://www.imsglobal.org/services/lis/pms2p0/wsdl11/sync/imspms_v2p0">
<personRecord>
<sourcedGUID>
<sourcedId>Demo_User</sourcedId>
</sourcedGUID>
<person>
<formname>
<formnameType>
<instanceIdentifier>
<language>en-US</language>
</instanceIdentifier>
<instanceVocabulary>http://www.imsglobal.org/lis/pmsv2p0/formatnmetypevocabularyv1p0</instanceVocabulary>
<instanceValue>
<language>en-US</language>
<textString>Full</textString>
</instanceValue>
</formnameType>
<formattedName>
<language>en-US</language>
<textString>Usuario de demostración</textString>
</formattedName>
</formname>
<name>
<nameType>
<instanceIdentifier>
<language>en-US</language>
</instanceIdentifier>
<instanceVocabulary>http://www.imsglobal.org/lis/pmsv2p0/nametypevocabularyv1p0</instanceVocabulary>
<instanceValue>
<language>en-US</language>
<textString>Full</textString>
</instanceValue>
</nameType>
<partName>
<instanceIdentifier>
<language>en-US</language>
</instanceIdentifier>
<instanceVocabulary>http://www.imsglobal.org/lis/pmsv2p0/partnamevocabularyv1p0</instanceVocabulary>
<instanceName>
<language>en-US</language>
<textString>Primero</textString>
</instanceName>
<instanceValue>
<language>en-US</language>
<textString>Demo</textString>
</instanceValue>
</partName>
<partName>
<instanceIdentifier>
<language>en-US</language>
</instanceIdentifier>
<instanceVocabulary>http://www.imsglobal.org/lis/pmsv2p0/partnamevocabularyv1p0</instanceVocabulary>
<instanceName>
<language>en-US</language>
<textString>Último</textString>
</instanceName>
<instanceValue>
<language>en-US</language>
<textString>Usuario</textString>
</instanceValue>
</partName>
</name>
</person>
</personRecord>
</readPersonResponse>
</s:Body>
</s:Envelope>