Esse serviço é usado para afetar as contas de usuário do Brightspace.
Operações implementadas
- deletePerson
- replacePerson
- readPerson
Nome e sobrenome preferenciais
Clientes que usam o LIS 2.0 podem incluir e manter nomes preferenciais de usuários usando marcas XML em uma integração com LIS. Veja abaixo as regras que o IPSIS segue quando o SIS tem permissão para substituir os nomes preferenciais de um usuário no Brightspace:
- Se o nome preferencial de um usuário estiver preenchido no Brightspace, mas vazio no LIS, o nome preferencial será excluído.
- Se o sobrenome preferencial de um usuário estiver preenchido no Brightspace, mas vazio no LIS, o sobrenome preferencial será excluído.
- Se o bloco de nomes preferenciais de um usuário incluir apenas o sobrenome preferencial, o nome preferencial não será alterado, enquanto o sobrenome preferencial será atualizado no Brightspace.
- Se o bloco de nomes preferenciais de um usuário incluir apenas o nome preferencial, o sobrenome preferencial não será alterado, enquanto o nome preferencial será atualizado no Brightspace.
- Quando o bloco de nomes preferenciais não estiver presente na solicitação, o nome e o sobrenome preferenciais serão excluídos.
- Se o bloco de nomes preferenciais de um usuário estiver presente no LIS e incluir tanto o nome quanto o sobrenome preferenciais, o nome ou o sobrenome preferenciais serão atualizados no Brightspace.
Observação: o NameType Preferencial contém as informações de nomes preferenciais de um usuário e pode ser enviado juntamente com o restante do nome e partName como parte de um objeto Pessoa.
Para clientes que usam o IPSIS V1.0:
- PersonRequestPreferredFirstAndLastNameOptionalTranslator pode ser usado em qualquer lugar da lista.
- ReplaceUserPreferredFirstNameNoUpdateHandler e ReplaceUserPreferredLastNameNoUpdateHandler precisam ser usados antes de ReplaceUserSaveLMSHandler
Sobre a operação deletePerson
A operação deletePerson é usada para excluir usuários do Brightspace.
Fluxo do processo: deletePerson
- Quando uma solicitação do LIS deletePerson é recebida, o adaptador obtém o ID exclusivo do usuário do campo sourcedId da solicitação diretamente, sem o uso de um tradutor plugável.
- Uma vez que o ID da pessoa foi obtido, os manipuladores de plataforma IPSIS configurados para IDeleteUserHandler são usados para processar a solicitação.
- A resposta do LIS é gerada a partir da resposta do manipulador.
Amostra da solicitação deletePerson
<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>
Campos de cabeçalho e corpo da solicitação deletePerson
Campos de cabeçalho da solicitação
Para mais informações, acesse Usar Serviços do LIS v2.0 > Cabeçalhos de solicitação e resposta.
Campos de corpo da solicitação
O adaptador aceita os seguintes campos na solicitação:
Propriedade
|
Mapeamento da solicitação do LIS
|
Obrigatório
|
Código
|
deletePersonRequest.sourcedId
|
Sim
|
Amostra da resposta deletePerson
<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>
Campos de cabeçalho e corpo da resposta deletePerson
Campos de cabeçalho da resposta
Para mais informações, acesse Usar Serviços do LIS v2.0 > Cabeçalhos de solicitação e resposta.
Campos de corpo da resposta
Nenhum campo é retornado no corpo da resposta.
Sobre a operação replacePerson
A operação replacePerson é usada para criar ou atualizar usuários do Brightspace.
Ao usar as configurações padrão, em caso de sucesso, você poderá validar que o usuário foi criado ou atualizado conforme apropriado por meio da ferramenta Gerenciar usuários do Brightspace.
Fluxo do processo: replacePerson
- Quando uma solicitação do LIS replacePerson é recebida, o Brightspace traduz a solicitação usando os tradutores do LIS configurados para ITranslatePerson, para transformar a solicitação em um formato que a Plataforma IPSIS possa entender.
- Uma vez que a solicitação foi traduzida, os manipuladores de plataforma IPSIS configurados para IReplaceUserHandler são usados para processar a solicitação.
- Uma resposta do LIS é gerada a partir da resposta do manipulador.
Amostra da solicitação replacePerson
Observação: esta solicitação de amostra inclui um campo de extensão opcional (em negrito) que possibilita alterar o status de um usuário após sua criação. O campo de extensão é necessário para essa ação porque o status do usuário não corresponde diretamente a um campo da especificação 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>true</ims:fieldValue>
</ims:extensionField>
</ims:extension>
Campos de cabeçalho e corpo da solicitação replacePerson
Campos de cabeçalho da solicitação
Para mais informações, acesse Usar Serviços do LIS v2.0 > Cabeçalhos de solicitação e resposta.
Campos de corpo da solicitação
A configuração do tradutor do modelo aceita os seguintes campos na solicitação:
Propriedade
|
Mapeamento da solicitação do LIS
|
Obrigatório
|
OrgDefinedId
|
sourcedGUID.sourcedId
|
Sim
|
Nome Completo
|
person.name.formname
|
Não
|
Nome
|
person.name.partName.instanceValue.textString
onde person.name.partName.instanceName.textString = "First" ou "Given"
|
Sim
|
Sobrenome
|
person.name.partName.instanceValue.textString
onde person.name.partName.instanceName.textString = "Last", "Family" ou "Surname"
|
Sim
|
Endereço de e-mail
|
person.contactinfo.contactinfoValue.textString
onde person.contactinfo.contactinfoType.instanceValue = "EmailPrimary"
|
Não
|
Função
|
person.roles.institutionRole(*).institutionroletype.instanceValue.textString
|
Não
|
Função primária
|
person.roles.institutionRole(*).institutionroletype.instanceValue.textString
quando person.roles.institutionRole(*).primaryroletype = true
|
Não
|
Nome de usuário
|
person.roles.userId.userIdValue.textString
|
Não
|
Tipo de nome de usuário
|
person.roles.userId.userIdType.textString
|
Não
|
Senha
|
person.roles.userId.password.textString
|
Não
|
Tipo de criptografia
|
person.roles.userId.pwEncryptionType.textString
|
Não
|
Tipo de Autenticação
|
person.roles.userId.authenticationType.textString
|
Não
|
IsActive
|
person.extension.extensionField.fieldValue
|
Não
|
Amostra da resposta replacePerson
<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>
Campos de cabeçalho e corpo da resposta replacePerson
Campos de cabeçalho da resposta
Para mais informações, acesse Usar Serviços do LIS v2.0 > Cabeçalhos de solicitação e resposta.
Campos de corpo da resposta
Nenhum campo é retornado no corpo da resposta.
Amostra da solicitação readPerson
<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>
Amostra da resposta readPerson
<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>Demo User</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>First</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>Last</textString>
</instanceName>
<instanceValue>
<language>en-US</language>
<textString>User</textString>
</instanceValue>
</partName>
</name>
</person>
</personRecord>
</readPersonResponse>
</s:Body>
</s:Envelope>