Closed gcm1001 closed 4 years ago
En esta nueva actualización, he conseguido implementar el sistema de Logs visible al usuario. Para ello he creado dos nuevas tablas en la base de datos:
AriadnePlusLogEntry
: Almacena las entradas de cada registro (log). Cada entrada contiene información sobre la petición del cambio de estado que se ha llevado a cabo. Esta se compone de los siguientes campos:
id
: Identificador del registro.record_type
: Tipo del recurso sobre el que se ha realizado la petición de cambio de estado.record_id
: Identificador del recurso sobre el que se ha realizado la petición de cambio de estado.part_of
: En caso de que el recurso sea parte de otro recurso, indica el identificador del recurso al que pertenece.user_id
: Usuario que realizó la petición del cambio de estado.operation
: Tipo de operación llevada a cabo para materializar el cambio de estado.added
: Instante en el que se llevó a cabo la petición de cambio de estado.Muestra de ejemplo
AriadnePlusLogMsg
: Almacena los mensajes asociados a una determinada entrada, es decir, permite guardar el conjunto de mensajes existentes en cada registro. Para ello se hace uso de los siguientes campos:
id
: Identificador del mensaje.entry_id
: Identificador del registro al que pertenece el mensaje.msg
: Contenido del mensaje.Muestra de ejemplo
Haciendo uso de estas dos nuevas tablas somos capaces de mostrar al usuario los registros que se van generando "internamente" durante una transición de estado.
Además, para que el Usuario pueda actualizar toda la información sin tener que recargar la página, he incorporado un botón de actualización, tanto en el panel de Registros (Logs) como en el campo de Estados (Metadata Status).
Muestra de ejemplo
También he añadido una nueva opción que sirve para indicar como va a ser el modo de publicación en el caso de escoger previamente el tipo 'Colección'. Existen dos modos:
Full Collection
: se publican los metadatos asociados a la colección más todos los metadatos asociados a cada ítem almacenado en la colección.Collection metadata
: se publican SÓLO los metadatos asociados a la colección.Además, para que el Usuario no se pierda, haciendo uso de JavaScript (JQuery), he conseguido que las opciones se muestren al usuario de forma escalonada.
Opciones se muestran de forma progresiva
Ejemplo de funcionamiento
Esta actualización cubre los dos últimos puntos de esta Issue, que son:
A continuación expondré, de una forma más detallada, las cambios/novedades introducidos.
View Items
,Assign Status
, Stage
y Refresh
.See more
(resaltado en rojo), que le permite observar la lista de Logs completa.Nuevo controlador y vista Log
: para poder mostrar al usuario la lista completa de Logs, he desarrollado una nueva vista y controlador denominado Log.
Restricciones de edición: en función del estado actual del ítem, se permite o no la modificación de ciertos campos. Por ejemplo, un ítem que haya pasado al estado Complete
, de ahí en adelante no se le podrá modificar los campos asociados al esquema de metadatos Dublin Core.
Actualización automática de Metadata Status
y Logs
: anteriormente para actualizar el estado actual o registros asociados a una colección o ítem había que pulsar un botón. Con esta nueva actualización, se actualizan automáticamente al recibir el mensaje de tipo Sucess
.
Para la próxima actualización, trataré de:
En esta última actualización he podido completar todas las metas propuestas para esta Issue. Además, he solucionado bugs
existentes en alguna de las funcionalidades desarrolladas en actualizaciones previas.
Proposed
.Assign Status
).Incomplete
.Complete
).Complete
.Published
.Mapped
.Published
.Enriched
.Published
.Ready to publish
.Published
.Published
.Batch Edit
puede ser peligrosa a la hora de editar cantidades masivas de datos.
application/json
a los ítems/colecciones que estén dentro del proceso de publicación.Actualmente Ariadne+ no dispone de ningún SPARQL endpoint público para realizar consultas remotas a su base de datos. Sin embargo, nos han comentado que podremos disponer pronto de dicho enlace. Por ello, en cuanto esté disponible, ampliaré este plugin para implementar todas las funcionalidades que dependen de este recurso, que son:
Para finalizar el desarrollo del plugin
AriadnePlus Monitor
debo implementar las siguientes funcionalidades: