Las API de Brightspace exponen la funcionalidad para permitir que los usuarios agreguen y eliminen contenido de los cursos. En los siguientes ejemplos, se muestra cómo se pueden usar estas API para crear un esquema estándar para un curso.
Supongamos que todos los cursos deben tener los siguientes módulos:
- Introducción
- Esquema de marcado
- Examen de mitad de período
- Revisión de exámenes
Si tenemos una lista de cursos identificados por su ID de unidad de organización, podemos verificar si hay algún contenido asignado y modificarlo según sea necesario.
Podemos consultar la documentación de Valence para rutas que nos permitan manipular el rumbo contenido.
En primer lugar, recuperaremos el contenido actual de un curso con un ID de unidad de organización de 121535.
GET /d2l/api/le/1.0/121535/content/root/200 OK[{"Structure": [],"ModuleStartDate": null,"ModuleEndDate": null,"IsHidden": false,"IsLocked": false,"Id": 97657,"Title": "Customs","ShortTitle": "","Type": 0}]
Parece que ya hay un módulo creado para este curso. Vamos a eliminarlo antes de añadir nuestros propios módulos.
DELETE /d2l/api/le/1.0/121535/content/modules/97657200 OK
Si volvemos a verificar la raíz del contenido del curso, deberíamos recibir una matriz vacía.
GET /d2l/api/le/1.0/121535/content/root/200 OK[]
Ahora estamos listos para agregar nuestros propios módulos.
POST /d2l/api/le/1.0/121535/content/root/{"Structure": [],"ModuleStartDate": null,"ModuleEndDate": null,"IsHidden": false,"IsLocked": false,"Id": null,"Title": "Marking Scheme","ShortTitle": "","Type": 0}200 OKPOST /d2l/api/le/1.0/121535/content/root/{"Structure": [],"ModuleStartDate": null,"ModuleEndDate": null,"IsHidden": false,"IsLocked": false,"Id": null,"Title": "Introduction","ShortTitle": "","Type": 0}200 OKPOST /d2l/api/le/1.0/121535/content/root/{"Structure": [],"ModuleStartDate": null,"ModuleEndDate": null,"IsHidden": false,"IsLocked": false,"Id": null,"Title": "Midterm Review","ShortTitle": "","Type": 0}200 OKPOST /d2l/api/le/1.0/121535/content/root/{"Structure": [],"ModuleStartDate": null,"ModuleEndDate": null,"IsHidden": false,"IsLocked": false,"Id": null,"Title": "Exam Review","ShortTitle": "","Type": 0}200 OK
Ahora podemos volver a verificar la raíz del contenido del curso y recuperar los ID de los módulos. (Si realiza llamadas en un entorno de aprendizaje de la versión 10.2.0 o posterior, las llamadas para crear temas y módulos deben devolverle información sobre cada estructura a medida que las crea, por lo que tendrá el valor de Module o Topic ID en ese momento).
GET /d2l/api/le/1.0/121535/content/root/200 OK[{"Structure": [],"ModuleStartDate": null,"ModuleEndDate": null,"IsHidden": false,"IsLocked": false,"Id": 97657,"Title": "Introducción","ShortTitle": "","Type": 0},{"Structure": [],"ModuleStartDate": null,"ModuleEndDate": null,"IsHidden": false,"IsLocked": false,"Id": 97658,"Title": "Esquema de calificación","ShortTitle": "","Type": 0},{"Structure": [],"ModuleStartDate": null,"ModuleEndDate": null,"IsHidden": false,"IsLocked": false," Id": 97659,"Title": "Revisión intermedia","ShortTitle": "","Tipo": 0},{"Estructura": [],"ModuleStartDate": null,"ModuleEndDate": null,"IsHidden": false,"IsLocked": false,"Id": 97660,"Título": "Revisión del examen","ShortTitle": "","Tipo": 0}]
Ahora el curso tiene un conjunto estándar de módulos creados. Establezcamos las fechas de inicio y finalización del módulo de introducción.
PUT /d2l/api/le/1.0/121535/content/modules/97657{"Structure": [],"ModuleStartDate": "2013-05-20T13:00:00.000Z","ModuleEndDate": "2013-05-24T22:00:00.000Z","IsHidden": false,"IsLocked": false,"Id": 97657,"Title": "Introduction","ShortTitle": "","Type": 0}200 OK
Como paso final, agreguemos un submódulo a la introducción. (Editar: Se corrigió la ruta a continuación a POST, en lugar de PUT).
POST /d2l/api/le/1.0/121535/content/modules/97657/structure/{"Structure": [],"ModuleStartDate":null,"ModuleEndDate": null,"IsHidden": false,"IsLocked": false,"Id": null,"Title": "Mezclador profesor-estudiante","ShortTitle": "","Tipo": 0}200 OK
Esto cubre los conceptos básicos de la manipulación de módulos en un curso.