Les traducteurs LIS sont un moyen de traduire les requêtes LIS en requêtes génériques pour IPSIS. Cela permet à IPSIS de toujours utiliser un langage commun pour communiquer avec Brightspace plutôt que LIS (et d’autres solutions standards et exclusives) ait à interagir directement avec Brightspace. Cela permet d'utiliser un ensemble unique de gestionnaires indépendamment de la solution d'intégration du SIS (LIS, SIF, exclusifs).
Dans la plupart des cas, une collection de traducteurs sont utilisés ensemble (appellés aussi liste de configurations), où chacun occupe une fonction servant à accomplir une tâche. Comme chaque traducteur n'est responsable que d'une petite partie, il est facile de les configurer de diverses manières pour offrir un éventail de possibilités très flexible selon les besoins spécifiques des opérations de l'établissement.
Les traducteurs sont assujettis à des conventions IPSIS qui permettent aux organisations de mieux comprendre les diverses options disponibles.
L'adaptateur LIS définit une collection d'interfaces traductrices spécifiques aux types d'objets envoyés du SIS par les requêtes LIS. Chaque interface comprend des traducteurs qui appliquent une série particulière de règles opérationnelles pour une interface. Dans la plupart des cas, il n’y a pas beaucoup de traducteurs parmi lesquels choisir parce que les règles de mise en correspondance sont génériques et réutilisables (par exemple, date de début du cours), cependant, il existe de nombreux traducteurs parce que le message du LIS contient de nombreux champs qu’il peut être approprié de mettre en correspondance avec des champs de Brightspace (par exemple, le titre du cours).
Les interfaces de traducteur sont définies dans l'adaptateur LIS et sont utilisées par chacun des services LIS. Chacun d'eux a sa propre documentation contenant des descriptions des traducteurs disponibles pour l'interface, ainsi que certains modèles de listes de configuration pour les traducteurs qui correspondent à des scénarios courants.
Conventions d'appellation du traducteur LIS
Les noms des traducteurs sont volontairement descriptifs et comprennent suffisamment de détails pour indiquer quels champs sont en cours de traduction et si le traducteur est obligatoire ou facultatif. Dans la plupart des cas, les traducteurs ne font qu'un minimum de travail de sorte qu'ils sont aussi réutilisables que possible.
Un seul des termes suivants est utilisé dans le nom d'un traducteur :
- L'utilisation de base dans le nom indique qu'il s'agit d'un traducteur de base (suppose aussi qu'il ou un autre traducteur de base est obligatoire)
- L'utilisation d'obligatoire dans le nom indique des champs de saisie obligatoire.
- L'utilisation de facultatif dans le nom indique des champs de saisie optionnels.
La structure générale du nom d'un traducteur va comme suit :
<request name><mapped to (sometimes used)><fields translated><base, required, or optional>Translator
Exemples
- CourseSectionRequestBaseTranslator:
- Ceci renvoie à une requête CourseSectionRequest.
- Il s'agit du traducteur de base.
- CourseSectionRequestDepartmentRequiredTranslator:
- Ceci renvoie à une requête CourseSectionRequest.
- Ce traducteur tentera de saisir le champ Département de la requête LIS.
- Il s'agit d'un traducteur facultatif (il doit générer une exception si le champ Département n'était pas rempli dans la requête LIS).
- CourseSectionRequestSemesterOptionalTranslator :
- Ceci renvoie à une requête CourseSectionRequest.
- Ce traducteur tentera de saisir le champ Semestre depuis la requête LIS.
- Il s'agit d'un traducteur facultatif (il doit générer une exception si le champ Semestre n'était pas rempli dans la requête LIS).
- CourseOfferingRequestDepOrgNameOptionalTranslator:
- Ceci renvoie à une CourseOfferingRequest.
- Ce traducteur tentera de remplir le champ OrgName depuis la requête LIS et de le faire correspondre au champ Département dans IPSIS.
- Il s'agit d'un traducteur facultatif (il doit générer une exception si le champ Semestre n'était pas rempli dans la requête LIS).
Conventions sur le modèle de conception des traducteurs LIS
Les traducteurs LIS suivent un modèle de conception simple de séparation des préoccupations. N'importe quel traducteur n'a besoin que de faire correspondre les champs désirés. Un traducteur qui met les noms en correspondance ne devrait pas également faire de même pour les adresses. La plupart des requêtes comporteront une série de traducteurs qui fonctionnent successivement, chacune responsable de mettre en correspondance une zone différente de champs. Le premier traducteur de la série est un traducteur de base qui entreprend de traduire l'objet de résultat qu'il génère avec des éléments de base de la requête.
Tout traducteur suivant doit être soit obligatoire ou facultatif. Cela indique si le traducteur génère une erreur s'il manque un champ. Par exemple, le traducteur CourseSectionRequestDepartmentRequiredTranslator renvoie une erreur si aucun département n'est transmis dans la requête. D'autre part, le CourseSectionRequestSemesterOptionalTranslator0 ne fait que poursuivre l'opération si aucun semestre n'est transmis dans la requête (le champ de résultat demeure non traduit).