Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
cd19435
Refactor TMMS-24 block to unified template-based architecture
IsaacDev2024 Jan 8, 2026
4a4da95
Add full_results.mustache template for results display
serna0120 Jan 8, 2026
14a949a
Add management summary template with statistics
serna0120 Jan 8, 2026
f4d2152
Add results details template with demographics and actions
serna0120 Jan 8, 2026
3e4aaa3
Add results summary template using Mustache syntax
serna0120 Jan 8, 2026
af5be0e
Add teacher view template with statistics and actions
serna0120 Jan 8, 2026
d625110
Add test form template with validation logic
serna0120 Jan 8, 2026
a735111
Add test invitation template with dynamic content
serna0120 Jan 8, 2026
fe3e9c4
Fix changelog extraction command in release workflow
sorejuela Jan 8, 2026
e729184
Refine language strings for TMMS-24
sorejuela Jan 8, 2026
8e8f2ea
Enhance emotional perception strings in Spanish
sorejuela Jan 8, 2026
53a6273
Rename tmms_24_icon.svg to icon.svg
sorejuela Jan 8, 2026
c3de38c
Add PHPDoc comments to delete_response.php
IsaacDev2024 Jan 8, 2026
ddab2e6
Add PHPDoc comments to export.php
IsaacDev2024 Jan 8, 2026
6d02e93
Add documentation header to save.php
IsaacDev2024 Jan 8, 2026
15f4285
Refactor TMMS-24 student results view using Mustache and Facade
IsaacDev2024 Jan 8, 2026
a88e2e2
Refactor TMMS-24 teacher dashboard to Mustache with analytics
IsaacDev2024 Jan 8, 2026
bc082ad
Refactor view.php for Mustache template rendering
IsaacDev2024 Jan 8, 2026
9790804
Refactor styles for TMMS-24 block components
serna0120 Jan 8, 2026
fcb529f
Modify README with new image and note clarification
serna0120 Jan 8, 2026
7957a13
Update version to 3.0.1 and update copyright year
IsaacDev2024 Jan 8, 2026
5e06082
Update CHANGELOG for version 3.0.1
IsaacDev2024 Jan 8, 2026
8985c33
Update release date for version 3.0.1
IsaacDev2024 Jan 8, 2026
1de623a
Remove 'questionnaire' string from translations
IsaacDev2024 Jan 9, 2026
f2bbb4f
Remove 'Cuestionario' string from translations
IsaacDev2024 Jan 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ jobs:
# Extraer changelog para la versión actual
if [ -f "CHANGELOG.md" ]; then
# Buscar la sección de la versión actual
awk '/## \["'"${{ needs.check-version.outputs.version }}"'"\]/{flag=1; next} /## \[/{flag=0} flag' CHANGELOG.md > current_changelog.md
awk '/## \['"${{ needs.check-version.outputs.version }}"'\]/{flag=1; next} /## \[/{flag=0} flag' CHANGELOG.md > current_changelog.md

if [ -s current_changelog.md ]; then
echo "Found changelog entry for version ${{ needs.check-version.outputs.version }}"
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,19 @@ All notable changes to the TMMS-24 Moodle Block will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


## [3.0.1] — 2026-01-08

### Added
- Pagination in the student list in the administration panel.

### Changed
- Use of Mustache template architecture for all block views.
- Complete code refactoring to separate presentation logic.
- Improved code maintainability and scalability.
- Optimized search performance.
- Minor security improvements.

## [3.0.0] — 2025-12-22

### Added
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ Al finalizar, el estudiante recibe un diagnóstico de sus habilidades socioemoci
</p>

<p align="center">
<img src="https://github.com/user-attachments/assets/fc1833c6-45be-480d-92d2-b96d156e5eca" alt="Resultados del Estudiante" width="800">
<img src="https://github.com/user-attachments/assets/282667f4-27cd-4263-a949-f7e50fe54404" alt="Resultados del Estudiante" width="800">
</p>

### 2. Experiencia del Profesor
Expand All @@ -123,7 +123,7 @@ Un panel de administración que centraliza el seguimiento grupal. Permite visual

El docente puede profundizar en la orientación vocacional específica de cada estudiante. Esta vista permite comprender las necesidades particulares de cada alumno y las recomendaciones sugeridas por el sistema para brindar un apoyo docente más humano y dirigido.

- **Nota:** Esta vista es la misma que la del estudiante, pero accesible por el profesor para cualquier alumno del curso.
- **Nota:** Esta vista es la misma que la del estudiante, pero accesible por el profesor para cualquier alumno del curso con explicaciones sobre el resultado.

---

Expand Down
778 changes: 328 additions & 450 deletions block_tmms_24.php

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions delete_response.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
<?php
/**
* Delete Response - TMMS-24 Block
*
* @package block_tmms_24
* @copyright 2026 SAVIO - Sistema de Aprendizaje Virtual Interactivo (UTB)
* @author SAVIO Development Team
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/

require_once('../../config.php');

$id = required_param('id', PARAM_INT);
Expand Down
9 changes: 9 additions & 0 deletions export.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
<?php
/**
* Export - TMMS-24 Block
*
* @package block_tmms_24
* @copyright 2026 SAVIO - Sistema de Aprendizaje Virtual Interactivo (UTB)
* @author SAVIO Development Team
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/

require_once(dirname(__FILE__) . '/../../config.php');
require_once(dirname(__FILE__) . '/block_tmms_24.php');

Expand Down
24 changes: 19 additions & 5 deletions lang/en/block_tmms_24.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@
$string['item'] = 'Item';

// Star Dimension Explanation
$string['star_dimension_reason_perception_close'] = '<b>Why this dimension?</b> Perception is special: balance is key. Your score is close to the optimal.';
$string['star_dimension_reason_perception_exact'] = '<b>Why this dimension?</b> Perception is special: balance is key. Your score is at the optimal.';
$string['star_dimension_reason_other'] = '<b>Why this dimension?</b> This is your strongest area, where higher scores indicate better emotional management.';
$string['star_dimension_reason_perception_close'] = '<strong>Why this dimension?</strong> Perception is special: balance is key. Your score is close to the optimal.';
$string['star_dimension_reason_perception_exact'] = '<strong>Why this dimension?</strong> Perception is special: balance is key. Your score is at the optimal.';
$string['star_dimension_reason_other'] = '<strong>Why this dimension?</strong> This is your strongest area, where higher scores indicate better emotional management.';

// Dimension Goals
$string['goal_perception'] = 'Ideal range: {$a->range} (Optimal: {$a->optimal})';
Expand Down Expand Up @@ -189,7 +189,8 @@
$string['dimension_statistics'] = 'Statistics by dimension';
$string['average_score'] = 'Average score';
$string['student_responses'] = 'Student responses';
$string['search_student'] = 'Search student...';
$string['search_student'] = 'Search student or email...';
$string['no_results_search'] = 'No name or email contains "{$a}"';
$string['student'] = 'Student';
$string['view_results'] = 'View';
$string['actions'] = 'Actions';
Expand Down Expand Up @@ -249,7 +250,7 @@
$string['regulation_adequate_balance'] = 'Adequate emotional regulation and balance';
$string['regulation_great_capacity'] = 'Great capacity to manage negative emotions and enhance positive ones';

// TMMS-24 interpretations (long) for the bottom section
// TMMS-24 interpretations (long) for the bottom section - Students
$string['perception_difficulty_feeling_long'] = 'It may be hard at times to notice or put into words what you feel. A good start is a 30-second pause: name the emotion (sadness, anger, anxiety) and describe one body signal (tightness, knot, warmth).';
$string['perception_adequate_feeling_long'] = 'You usually notice what you feel without getting stuck in it. Keep this balance with simple habits: name the emotion, validate it, and choose one small helpful action.';
$string['perception_excessive_attention_long'] = 'You notice feelings strongly, but too much focus can turn into worry or rumination. It can help to shift gears: breathe, label the emotion, then move to a short plan (what I can do now and what I will revisit later).';
Expand All @@ -260,6 +261,17 @@
$string['regulation_adequate_balance_long'] = 'You generally manage discomfort and sustain positive states. To strengthen it, combine strategies: problem-solve when you can, and practice acceptance when it is out of your control.';
$string['regulation_great_capacity_long'] = 'You often recover well and amplify positive states. Just avoid forcing uncomfortable emotions down; balancing acceptance and action keeps wellbeing steady and genuine.';

// TMMS-24 interpretations (long) for the bottom section - Teachers and Administrators
$string['perception_difficulty_feeling_long_teacher'] = 'The student has a limited ability to recognize and express their emotions. They may struggle to identify what they are feeling in certain situations, leading to misunderstandings in communication and difficulties in managing stress or frustration during academic tasks.';
$string['perception_adequate_feeling_long_teacher'] = 'The student demonstrates a satisfactory ability to perceive and express their emotions. They can generally identify what they are feeling and communicate it appropriately, which helps them maintain healthy interpersonal relationships and manage emotional challenges in academic settings.';
$string['perception_excessive_attention_long_teacher'] = 'The student tends to overanalyze their emotional states, which can lead to excessive worry or rumination. This heightened attention to emotions may distract them from focusing on academic tasks and could contribute to increased stress levels in challenging situations.';
$string['comprehension_difficulty_understanding_long_teacher'] = 'The student shows significant challenges in understanding their emotional states. They may find it hard to identify the causes of their feelings, which can lead to confusion and difficulty in responding appropriately to emotional situations, potentially affecting their academic performance.';
$string['comprehension_adequate_with_difficulties_long_teacher'] = 'The student understands their emotions under normal conditions, but their clarity decreases under pressure. During exam periods or critical deadlines, they may feel overwhelmed and lose the ability to rationally analyze what is happening to them.';
$string['comprehension_great_clarity_long_teacher'] = 'The student has a deep understanding of their emotional world. They know exactly why they feel a certain way, which allows them to be very autonomous, make coherent decisions, and accurately explain their needs to the teacher.';
$string['regulation_difficulty_managing_long_teacher'] = 'The student shows low emotional resilience. Once they fall into a negative state (due to a bad grade or a mistake), it takes them a lot of time and effort to regain balance, which can affect their long-term performance.';
$string['regulation_adequate_balance_long_teacher'] = 'The student is capable of effectively regulating their emotions. Even when experiencing frustration or stress, they have the necessary tools to calm down and resume their work rhythm independently and within a reasonable time.';
$string['regulation_great_capacity_long_teacher'] = 'The student stands out for their excellent self-management ability. They not only quickly repair their negative states but also know how to enhance their positive emotions to self-motivate and maintain a proactive attitude even in the face of the most difficult challenges.';

// Labels for statistics
$string['difficulty_category'] = 'Difficulties';
$string['adequate_category'] = 'Adequate';
Expand Down Expand Up @@ -306,3 +318,5 @@
// Management view strings
$string['management_title'] = 'TMMS-24 Test Management';
$string['course_overview'] = 'Course Overview';
$string['question'] = 'Question';
$string['response'] = 'Response';
24 changes: 19 additions & 5 deletions lang/es/block_tmms_24.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@
$string['item'] = 'Ítem';

// Explicación de Dimensión Estrella
$string['star_dimension_reason_perception_close'] = '<b>¿Por qué esta dimensión?</b> La Percepción es especial: el equilibrio es clave. Tu puntuación está cerca al óptimo.';
$string['star_dimension_reason_perception_exact'] = '<b>¿Por qué esta dimensión?</b> La Percepción es especial: el equilibrio es clave. Tu puntuación está en el óptimo.';
$string['star_dimension_reason_other'] = '<b>¿Por qué esta dimensión?</b> Es tu área más fuerte, donde una puntuación más alta indica un mejor manejo emocional.';
$string['star_dimension_reason_perception_close'] = '<strong>¿Por qué esta dimensión?</strong> La Percepción es especial: el equilibrio es clave. Tu puntuación está cerca al óptimo.';
$string['star_dimension_reason_perception_exact'] = '<strong>¿Por qué esta dimensión?</strong> La Percepción es especial: el equilibrio es clave. Tu puntuación está en el óptimo.';
$string['star_dimension_reason_other'] = '<strong>¿Por qué esta dimensión?</strong> Es tu área más fuerte, donde una puntuación más alta indica un mejor manejo emocional.';

// Metas de dimensiones
$string['goal_perception'] = 'Rango ideal: {$a->range} (Óptimo: {$a->optimal})';
Expand Down Expand Up @@ -189,7 +189,8 @@
$string['dimension_statistics'] = 'Estadísticas por dimensión';
$string['average_score'] = 'Puntuación promedio';
$string['student_responses'] = 'Respuestas de estudiantes';
$string['search_student'] = 'Buscar estudiante...';
$string['search_student'] = 'Buscar estudiante o correo...';
$string['no_results_search'] = 'Ningún nombre o correo contiene "{$a}"';
$string['student'] = 'Estudiante';
$string['view_results'] = 'Ver';
$string['actions'] = 'Acciones';
Expand Down Expand Up @@ -249,7 +250,7 @@
$string['regulation_adequate_balance'] = 'Regulación emocional adecuada y equilibrio emocional';
$string['regulation_great_capacity'] = 'Gran capacidad para manejar emociones negativas y potenciar las positivas';

// Interpretaciones TMMS-24 (largas) para mostrar abajo
// Interpretaciones TMMS-24 (largas) para mostrar abajo - Estudiantes
$string['perception_difficulty_feeling_long'] = 'Es posible que a veces te cueste notar o poner en palabras lo que sientes. Un buen inicio es pausar 30 segundos, identificar la emoción (por ejemplo: tristeza, enojo, ansiedad) y describir una señal corporal (tensión, nudo, calor).';
$string['perception_adequate_feeling_long'] = 'Sueles notar lo que sientes sin quedarte atrapado en ello. Mantén este equilibrio con hábitos simples: nombrar la emoción, validar lo que ocurre y elegir una acción pequeña que te ayude.';
$string['perception_excessive_attention_long'] = 'Percibes mucho lo que sientes, pero si te enfocas demasiado puede aparecer preocupación o rumiación. Te puede servir cambiar de foco: respira, etiqueta la emoción y pasa a un plan breve (qué puedo hacer ahora y qué dejo para después).';
Expand All @@ -260,6 +261,17 @@
$string['regulation_adequate_balance_long'] = 'Generalmente logras manejar el malestar y sostener estados positivos. Para fortalecerlo, alterna estrategias: resolver problemas cuando puedes, y aceptación cuando no depende de ti.';
$string['regulation_great_capacity_long'] = 'Sueles recuperarte bien y potenciar lo positivo. Cuida no “empujar” emociones incómodas hacia abajo; equilibrar aceptación y acción mantiene tu bienestar estable y auténtico.';

// Interpretaciones TMMS-24 (largas) para mostrar abajo - Profesores y Administradores
$string['perception_difficulty_feeling_long_teacher'] = 'El estudiante muestra una baja conciencia emocional. Suele tener dificultades para identificar o poner palabras a lo que siente, lo que puede manifestarse como apatía o desconexión ante retos académicos o conflictos en el aula.';
$string['perception_adequate_feeling_long_teacher'] = 'El estudiante posee una capacidad equilibrada para reconocer sus emociones. Sabe prestar atención a sus estados de ánimo sin permitir que estos le desborden, facilitando una comunicación asertiva y un clima de aprendizaje estable.';
$string['perception_excessive_attention_long_teacher'] = 'El estudiante tiende a una hiper-vigilancia emocional. Presta tanta atención a lo que siente que puede caer fácilmente en la rumiación o la ansiedad, distrayéndose de las tareas académicas por estar excesivamente centrado en su malestar.';
$string['comprehension_difficulty_understanding_long_teacher'] = 'El estudiante presenta confusión sobre el origen de sus emociones. Le cuesta distinguir, por ejemplo, si su bloqueo se debe a la frustración, al miedo al fracaso o al cansancio, lo que dificulta que pueda aplicar soluciones específicas a sus problemas.';
$string['comprehension_adequate_with_difficulties_long_teacher'] = 'El estudiante comprende sus emociones en condiciones normales, pero su claridad disminuye bajo presión. En periodos de exámenes o entregas críticas, puede sentirse abrumado y perder la capacidad de analizar racionalmente lo que le sucede.';
$string['comprehension_great_clarity_long_teacher'] = 'El estudiante tiene un conocimiento profundo de su mundo emocional. Sabe exactamente por qué se siente de una manera determinada, lo que le permite ser muy autónomo, tomar decisiones coherentes y explicar con precisión sus necesidades al docente.';
$string['regulation_difficulty_managing_long_teacher'] = 'El estudiante muestra una baja resiliencia emocional. Una vez que cae en un estado negativo (por una mala nota o un error), le cuesta mucho tiempo y esfuerzo recuperar el equilibrio, lo que puede afectar su rendimiento a largo plazo.';
$string['regulation_adequate_balance_long_teacher'] = 'El estudiante es capaz de regular sus emociones de forma efectiva. Aunque experimente frustración o estrés, posee las herramientas necesarias para calmarse y retomar su ritmo de trabajo de manera independiente y en un tiempo razonable.';
$string['regulation_great_capacity_long_teacher'] = 'El estudiante destaca por su excelente capacidad de autogestión. No solo repara rápidamente sus estados negativos, sino que sabe potenciar sus emociones positivas para automotivarse y mantener una actitud proactiva incluso ante los desafíos más difíciles.';

// Etiquetas para estadísticas
$string['difficulty_category'] = 'Dificultades';
$string['adequate_category'] = 'Adecuado';
Expand Down Expand Up @@ -306,3 +318,5 @@
// Management view strings
$string['management_title'] = 'Gestión del Test TMMS-24';
$string['course_overview'] = 'Resumen del Curso';
$string['question'] = 'Pregunta';
$string['response'] = 'Respuesta';
File renamed without changes
9 changes: 9 additions & 0 deletions save.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
<?php
/**
* Save - TMMS-24 Block
*
* @package block_tmms_24
* @copyright 2026 SAVIO - Sistema de Aprendizaje Virtual Interactivo (UTB)
* @author SAVIO Development Team
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/

require_once(dirname(__FILE__) . '/../../config.php');
require_once($CFG->dirroot . '/blocks/moodleblock.class.php');
require_once(dirname(__FILE__) . '/block_tmms_24.php');
Expand Down
Loading