ESTA INFORMACIÓN ESTÁ OBSOLETA
Actores
- Dispositivo: Cuando arranque el PCB se insertará el mail y pass del usuario (estudiante o supervisor), se asignará un token desde el servidor y a partir de entonces toda la gestión con el servidor se hará con ese token. Será el servidor el capacitado para controlar qué dispositivo es el asignado a ese token, así como el tema de licencias.
- Supervisores: que pueden ser los terapeutas o los tutores (padres).
- Gabinete: cada uno de los centros de aprendizaje, donde se realizan las terapias. Yotta se encarga de dar de alta un gabinete cuando lo solicitan. En el momento del alta se asigna una cuenta de administrador del gabinete, que es quien podrá a su vez gestionar las altas de terapeutas y estudiantes.
- Estudiante: alumno con acceso a Pictogram. Cada estudiante tendrá asignado un mail/pass junto con una licencia mensual para poder realizar terapias por parte de los terapeutas.
- Terapeuta: el profesional que puede acceder a todas las funcionalidades de gestión de alumnos (mail/pass). Los terapeutas pueden dar de alta tantos estudiantes como quieran (ilimitado), siempre que tengan licencias disponibles o las adquieran.
- Tutor: padres o tutores. Los tutores pueden darse de alta gratuitamente (mail/pass), podrán entrar en el Dashboard para funcionalidades muy concretas (gestión del vocabulario y algunos informes) y se le asociará su hijo de forma ?????. DUDA1: ¿Cómo hacemos esta asociación? ¿La hacen desde el gabinete no?
Casos normales para los dispositivos
- Un dispositivo oficial estará asignado a un único estudiante (caso 1 a 1)
- Un dispositivo no oficial de tutor estará asignado a un único estudiante (caso 1 a 1)
- En un dispositivo no oficial de terapeuta o gabinete podrán loguearse varios terapeutas, y cada uno podrá gestionar varios estudiantes (caso muchos a muchos)
Funcionamiento de las licencias
- La licencia está siempre asignada a un estudiante. Al estudiante lo da de alta un gabinete y para eso tiene que tener licencias disponibles.
- Todos los dispositivos (oficiales y no oficiales) puede actualizar el software ilimitadamente DUDA2: ¿Cómo distribuimos la app? ¿google play o por descarga e instalación? Por google play la ventaja es que discriminamos los dispositivos por características hardware que pueden usarlo (tamaño de pantalla, versión de Android, etc).
- Los tutores y terapeutas pueden darse de alta en Pictogram Dashboard gratuitamente. A los tutores se les asociará únicamente un estudiante. A los terapeutas se les podrán asociar varios estudiantes.
- Un terapeuta puede comprar licencias terapéuticas para sus estudiantes. Estas están asociadas a una cuenta de terapeuta y una cuenta de estudiante. Tienen una duración determinada (un año, un mes) en base al tipo de licencia. Esta licencia se activa cuando se asocia a un estudiante.
Modelo relacional (Fernando, revisa esto)
device <---- R1 ----> student <---- R2 ----> supervisor
device
- serial_number: string
student
- id: integer
device_student (R1)
- id_student: integer (importada)
- id_supervisor: integer (importada)
supervisor
- id: integer
license_student (R2)
- id_supervisor: integer, NOT_NULL (importada)
-
id_student: integer, NULL (importada); Cuando se compran las licencias está indefinido y se define cuando se asocia a un estudiante, calculando en ese momento, a partir de
type
el valor deexpiration
- number: string; Identificador de licencia (típico chorizo con letras y números)
- type: Define el tipo de licencia: por mes, por año, sin límited...
- expiration: date; momento en el que la licencia deja de funcionar
( Copiado del caso de uso de entrada al PCB)
La forma de acceder al Dashboard y al PCB es con un mail de usuario + contraseña, y encontramos 3 actores: alumnos, padres y terapeutas (sólo estos dos últimos tienen acceso al Dashboard)
Registro de usuario en la app
- La primera vez que arranca la app aparece una ventana de identificación, donde hay que insertar el mail y el pass del alumno, padre o terapeuta.
- A continuación el tablet hace una solicitud al servicio web para comprobar si es correcta la identificación. Si lo es devolverá un token, que será almacenado internamente, y con el cual se producirán el resto de llamadas REST. (Arturo, hay que modificar la implementación actual del WS, porque se envía el nº de serie + android id + firmware id)
- En el siguiente paso se solicitan los pares estudiante-supervisor, enviado al WS el token recibido de la identificación correcta. El WS devuelve los pares de ese token. (Arturo, hay que modificar la implementación actual, que tiene como llamada los pares de un id de dispositivo. Ya no trabajaremos más con el ID del dispositivo).
- Si la app recibe más de 1 estudiante (identificación de un terapeuta, por ejemplo), mostrará una ventana de login con las imágenes de los alumnos, para que el terapeuta seleccione con cuál quiere interactuar. En caso contrario, el más habitual, no se pasará por ventana de login y se cargará directamente la configuración y vocabulario de ese estudiante.
- En las siguientes entradas de la app se hará la misma consulta al WS con el token, y se procesará tal como se describe en 4.
- Desde la ventana de PictogramActivity habrá una combinación de pulsaciones que hará que se cargue de nuevo la primera ventana de identificación, para poder entrar con otro usuario (en este caso, Fernando ¿se borran los datos internos y se cargan los nuevos?)
Modelo de datos en el servidor (Fernando, revisa esto)
Registro de la tablet: Consulta en las tablas external_device, official_device Identificación de usuario: Inserción tabla action la acción "login", con los valores id_sup, id_stu, timestamp, gps_lat, gps_lon correspondientes.
Modelo de datos local (Fernando, revisa esto)
Registro de la tablet: Insertar la pareja <ANDROID_ID, serial> en el archivo de configuración Identificación de usuario:
- Insertar la pareja <id_sup, id_stu> en el archivo de configuración
- Inserción tabla action la acción "login", con los valores id_sup, id_stu, timestamp, gps_lat, gps_lon correspondientes.