- Esquema de la Base de datos: pcbdb_create.sql
- Principales tablas y vistas:
- student
- supervisor
- users
- picto
- collection
- scene
- users_detail: join de student, supervisor y users (un usario es supervisor+estudiante)
- collection_detal: join de collection y picto
- Versión de la base de datos: en el gradle de commonlibrary, campo db_version. Debe incrementarse si el esquema se modifica
- Principales tablas y vistas:
- Data Access Objects: las dos clases principales son Device y PCBDBHelper
-
com.yottacode.pictogram.dao.Device: datos persistentes que no dependen del usuario actual
- Listado de supervisores, estudiantes, usuarios..
- Eliminación de imágenes no referenciadas por nadie
- Ejecución del script pcbdb_create.sql
- parámetros almacenados en params: principalmente el id del último supervisor/estudiante logueado
-
com.yottacode.pictogram.dao.PCBDBHelper: datos persistentes del usuario actual
- datos del usuario actual
- acciones
- vocabulario
- escena activa
- NOTA: es necesario revisar algunos métodos de esta clase, ya que siempre debe referirse al usuario actual --> cualquier parámetro relativo al usuario debe eliminarse (id de la escena activa, vocabulario...)
-
com.yottacode.pictogram.dao.User: clase contenedora que representa al usuario actual
- Un usuario es siempre la combinación de un supervisor y un estudiante
- Un estudiante es un usuario cuyo supervisor es User.NO_SUPERVISOR
-
com.yottacode.pictogram.dao.Picto: clase contenedora que representa un picto
- Hereda de la clase com.yottacode.pictogram.tools.Img (Img es un picto, la imagen de un alumnno o supervisor)
- Tiene dos ID:
- Picto.stupicto_id ID de ese picto para ese alumno en una escena dada. Este campo es necesario para invocar a determinado operadores RESTFul
- Picto.id ID heredado de Img
- Picto local:
- Un picto que se ha creado en la tableta y no se ha subido aun al server
- Su ID es negativo
- método is_local()
- Picto con status local:
- Picto cuyo estado se ha cambiado localmente, y no se ha subido al server
- JSON_ATTTRS.PCB_STATUS_MODIFICATION=true
- métodos local_status y set_local_status(boolean)
- com.yottacode.pictogram.dao.UserLogin: Clase necesaria para realizar login de usuarios offline. Para más info, revisar el documento de especificación del login
-
com.yottacode.pictogram.dao.Device: datos persistentes que no dependen del usuario actual