Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
262 commits
Select commit Hold shift + click to select a range
3849e66
más mejoras en la traducción
damian-garrido Dec 25, 2025
10d6503
se agregan traducciones faltantes
damian-garrido Dec 25, 2025
e416e62
se elimina definicion
damian-garrido Dec 25, 2025
e0a2acb
se agregaron nuevas traducciones
damian-garrido Dec 25, 2025
72204e4
se agregan más traducciones
damian-garrido Dec 25, 2025
e1f8c93
se corrigen traducciones
damian-garrido Dec 25, 2025
302fdb0
se agregan más traducciones
damian-garrido Dec 25, 2025
de4932e
se elimina código sin uso
damian-garrido Dec 26, 2025
463c677
se agregan traduciones al componente viewProject
damian-garrido Dec 26, 2025
962b5dd
traduccion de componente
damian-garrido Dec 26, 2025
2bdd5de
se agregan traduccion faltante y se corrigen llaves
damian-garrido Dec 26, 2025
3b0292c
se integran traducciones
damian-garrido Dec 26, 2025
4527aa8
se incluyen más traducciones
damian-garrido Dec 28, 2025
eb9afaf
se traduce el componente actionButtons
damian-garrido Dec 28, 2025
0742d6a
se remueve contenido que se usaba para debuguear
damian-garrido Dec 28, 2025
4bc3442
se agrega mi perfil
damian-garrido Dec 28, 2025
8356efb
se mejora la persistencia del idioma seleccionado por el usuario
damian-garrido Dec 29, 2025
0d3e18f
se agregan nuevas traducciones para listado de proyectos
damian-garrido Dec 29, 2025
6ebff33
traducciones faltantes
damian-garrido Dec 29, 2025
b1fd04f
PWA
damian-garrido Dec 30, 2025
988526d
se corrige error y se refactoriza codigo
damian-garrido Dec 31, 2025
aafb08f
se corrige error
damian-garrido Dec 31, 2025
fcbff6a
mejoras en manejo de session al quedar offline
damian-garrido Jan 5, 2026
edf81b5
se elimina axiosOffline
damian-garrido Jan 5, 2026
79707a5
se quitan los logs y se agrega i18n
damian-garrido Jan 5, 2026
7cd3925
pequeños ajustes
damian-garrido Jan 5, 2026
ce144bc
mejora estrategia para manejo de caché
damian-garrido Jan 5, 2026
5752154
se corrige prametro de bsuqueda
damian-garrido Jan 5, 2026
1bce0a1
se mejora regexp
damian-garrido Jan 5, 2026
82dae3c
optimistic ui
damian-garrido Jan 5, 2026
92e7f9c
se agrega online/offline global
damian-garrido Jan 6, 2026
59cfc01
mejoras en la posibilidad de trabajar en un proyecto compartido.
damian-garrido Jan 7, 2026
19019d9
Merge develop into cmaleot with conflict resolution (i18n + Camelot l…
damian-garrido Jan 7, 2026
6494cb8
se corrige la llamada a printErrors
damian-garrido Jan 9, 2026
a1b5fdb
se agregan traducciones faltantes, también se corrigen algunos errore…
damian-garrido Jan 14, 2026
4a1cc20
se mejora la información de la plataforma
damian-garrido Jan 14, 2026
0900f91
se agregan skills de mantenimiento de la plataforma
damian-garrido Jan 14, 2026
cca02cc
se agrega skill de exportación
damian-garrido Jan 14, 2026
bc62e8e
se corrige flujo
damian-garrido Jan 15, 2026
11858bf
chore: configure Jest testing infrastructure
damian-garrido Jan 15, 2026
38e482e
test: add tests for ExportActions component
damian-garrido Jan 15, 2026
3048af8
feat: create ExportActions component with tests
damian-garrido Jan 15, 2026
1f20ec5
feat: create PublishModal component with tests (WIP)
damian-garrido Jan 15, 2026
3fbe620
feat: complete PublishModal component with all tests passing
damian-garrido Jan 15, 2026
cb02be4
WIP: Refactor PublishModal, add tests, fix translations, and implemen…
damian-garrido Jan 15, 2026
17fa9b9
refactor(export): modernize RIS export and remove unused components
damian-garrido Jan 19, 2026
7c6d448
feat(export): enhance word export and add tests
damian-garrido Jan 19, 2026
ed0f03f
feat(utils): add text sanitizer and document generator helpers
damian-garrido Jan 19, 2026
bd10eeb
Refactor Word export to use Camelot strategy with 4 landscape sections
damian-garrido Jan 19, 2026
6567045
missing packages added
damian-garrido Feb 9, 2026
12a2ba0
se corrige error que se provocaba con los usuarios compartidos con pe…
damian-garrido Feb 9, 2026
5a0f286
Merge branch 'master' into develop
damian-garrido Feb 9, 2026
dc3cea9
babel updated
damian-garrido Feb 9, 2026
e4910cb
test for uploadReferences
damian-garrido Feb 9, 2026
555d4ac
remove cypress
damian-garrido Feb 10, 2026
35cd36f
iccon added
damian-garrido Feb 10, 2026
91ef1fb
nuevas funcionalidades agregadas
damian-garrido Feb 10, 2026
ec32ce4
nueva skill
damian-garrido Feb 10, 2026
3e9a356
refactorización campos personalizados
damian-garrido Feb 10, 2026
473dd48
added functionalities of Step 3 for CAMELOT, also refactor for CSV/XL…
damian-garrido Feb 11, 2026
c5e50ac
correccion de errores
damian-garrido Feb 11, 2026
fb6313e
corección boton despliega/oculta "preocupaciones"
damian-garrido Feb 12, 2026
bdbf561
refactorización, se generan componentes para cada botón
damian-garrido Feb 12, 2026
c6ccb8f
se corrigen efectos no deseados
damian-garrido Feb 12, 2026
d43f18a
corrección de sanitizador de texto y de test
damian-garrido Feb 13, 2026
279441a
actualización para el despliegue de datos publicos además de mejoras …
damian-garrido Feb 13, 2026
f64cf03
se mejora la consistencia de los datos
damian-garrido Feb 17, 2026
f75e399
mejoras en el manejo del ordenamiento de los findings y las categorías
damian-garrido Feb 17, 2026
9e97aee
corrección y unificación despliegue referencias
damian-garrido Feb 18, 2026
078f67a
detecta el cierre de sesion liberando a posibles proyectos abiertos e…
damian-garrido Feb 18, 2026
c784eca
se elimina archivo
damian-garrido Feb 19, 2026
0c9f451
mejora en la presentación del modal
damian-garrido Feb 19, 2026
6e506e9
se agrega la posibilidad de editar desde el paso 4
damian-garrido Feb 19, 2026
0577ecc
se agrega el campo notes
damian-garrido Feb 20, 2026
ba2eca0
se corrigen despliegue de columnas
damian-garrido Feb 20, 2026
d7752a9
se mejora el titulo del modal
damian-garrido Feb 20, 2026
58468b3
se agrega footer al modal
damian-garrido Feb 20, 2026
d2557d7
se agregan colores a los radio del modal
damian-garrido Feb 20, 2026
d58b2de
author name removed
damian-garrido Feb 23, 2026
75cd3e1
se agrega texto "no completado" a campos vacíos
damian-garrido Feb 23, 2026
33ed44f
se corrige despliege
damian-garrido Feb 23, 2026
bf0343d
se corrige variante del botón
damian-garrido Feb 23, 2026
30257aa
se agrega espaciado
damian-garrido Feb 23, 2026
aba5a8c
se mejora presentación boton editar
damian-garrido Feb 23, 2026
935202e
se corrige color de estado de botón de preocupaciones
damian-garrido Feb 23, 2026
c8600b0
corrección despliegue botones
damian-garrido Feb 23, 2026
7ce5f1f
se corrigen íconos
damian-garrido Feb 23, 2026
ca7e997
se separa el botón de la columna autor
damian-garrido Feb 23, 2026
65c3a48
se agregan botones de leyenda y uso
damian-garrido Feb 23, 2026
71b30f1
se elimina icono
damian-garrido Feb 23, 2026
439f8ed
corrección carga de datos
damian-garrido Feb 23, 2026
87769fb
corrección padding
damian-garrido Feb 23, 2026
bbc9ba1
corrección despliegue modal
damian-garrido Feb 23, 2026
695d5a6
mejroas de selector de referencias
damian-garrido Feb 23, 2026
c34a011
mejoras selector referencias
damian-garrido Feb 23, 2026
686b7cd
despliegue exclamacion cuando campos no completdos
damian-garrido Feb 23, 2026
25bb4fc
se mejora vista de alerts
damian-garrido Feb 23, 2026
648514c
reconfiguracion visual del modal
damian-garrido Feb 23, 2026
90b6413
se agrega borde
damian-garrido Feb 24, 2026
07a0eea
se mejora visualizacion de navegación
damian-garrido Feb 24, 2026
c98d1bb
mejoras en la visualización del modal
damian-garrido Feb 24, 2026
dab1987
el paso 4 se divide en componentes para mejor manejo
damian-garrido Feb 24, 2026
acda7ed
corrección de textos
damian-garrido Feb 24, 2026
d594a4d
mejoras visuales
damian-garrido Feb 24, 2026
fb3a847
corrección de textos
damian-garrido Feb 25, 2026
6b684f0
se agrega logo camelot e instrucciones
damian-garrido Feb 25, 2026
58018ad
se agrega texto descriptivo paso 4 camelot
damian-garrido Feb 25, 2026
450a9aa
se agrega texto al sidebar del paso 4
damian-garrido Feb 25, 2026
71b8549
link changed
damian-garrido Feb 25, 2026
48bf83b
correcciones de texto y mejoras visuales
damian-garrido Feb 25, 2026
9af6f21
se integra visualización en methodological limitations
damian-garrido Feb 25, 2026
3506744
wip de tabla en methodological assessment
damian-garrido Feb 26, 2026
932f9a6
corrección de test
damian-garrido Feb 26, 2026
7ef2706
se agrega ícono para identificar los no completados
damian-garrido Feb 26, 2026
e87373e
mejoras en la visualización de la tabla
damian-garrido Feb 26, 2026
d8891a6
se agregan tooltips
damian-garrido Feb 26, 2026
7b8a9c5
mejoras visuales, se agregan filtros y se corrigen mensajes de advert…
damian-garrido Feb 27, 2026
42dbd76
se corrige "pantalla blanca" al regresar de worksheet
damian-garrido Feb 27, 2026
22ed040
corrección estilo del body
damian-garrido Mar 2, 2026
57bcb3b
se agregan test para manejo de datos formdata
damian-garrido Mar 2, 2026
3c9a69e
se implementa traducción
damian-garrido Mar 3, 2026
b897e9b
se corrige logica de desplegar advertencia en caso de que campos camelot
damian-garrido Mar 3, 2026
1a28e22
allowed to change the project type (camelot, no-camelot) and allow to…
damian-garrido Mar 4, 2026
69b7a41
se corrige error que ocurría cuando no habían datos asociados
damian-garrido Mar 6, 2026
c6b8dd9
se cambia comportamiento de filtro de tabla
damian-garrido Mar 6, 2026
7e8f1ae
se cambia la tabla methodological assessment, se ocultan algunas func…
damian-garrido Mar 6, 2026
7491917
se modifica despliegue de información para la tabla de evacualiones
damian-garrido Mar 6, 2026
b7c2f5f
se corrige codigo en caso de perder conexión con el servidor mongo. a…
damian-garrido Mar 9, 2026
67b056c
ahora se permite ordenar los campos del paso 3 como el usuario desee
damian-garrido Mar 11, 2026
5daa0b6
se cambio concerns por comments para el paso 3.
damian-garrido Mar 12, 2026
427df8f
se remueve icono
damian-garrido Mar 12, 2026
998958e
se corrije typo
damian-garrido Mar 12, 2026
47f8472
se elimina texto del boton editar
damian-garrido Mar 12, 2026
1bb3850
se agrega prefijo a modal
damian-garrido Mar 12, 2026
a729b53
se agrega el texto de explanation
damian-garrido Mar 13, 2026
ca65b5d
se corrige despliegue infomacion
damian-garrido Mar 13, 2026
2c6b87f
se corrige despliege infromacion
damian-garrido Mar 13, 2026
9fb63a8
se despliega infromacion cuando no se ha completado un assessment
damian-garrido Mar 13, 2026
034a75d
corrección de texto
damian-garrido Mar 13, 2026
58fd646
corrección de código y test
damian-garrido Mar 13, 2026
1a00710
se actualiza config de jest para axios
damian-garrido Mar 13, 2026
37ab16a
se corrige despliege de error
damian-garrido Mar 13, 2026
2677753
se corrige despliegue de datos
damian-garrido Mar 13, 2026
189a032
se corrige error de advertencia y columnas huerfanas
damian-garrido Mar 13, 2026
72f0f87
se unifica el método para despliegue de autores
damian-garrido Mar 13, 2026
ba8f09e
missing import
damian-garrido Mar 13, 2026
ac70d85
corrección test
damian-garrido Mar 13, 2026
2a49d61
cambios en logica de cambiar un proyecto de camelot a no-camelot y vi…
damian-garrido Mar 16, 2026
13e63c1
corrección despliegue datos tabla de caracteristicas
damian-garrido Mar 17, 2026
aeef376
se deshabilita codigo css
damian-garrido Mar 17, 2026
e3a19e5
se corrige comportamiento del modal
damian-garrido Mar 17, 2026
0afdcd3
se agrega mensaje de carga
damian-garrido Mar 17, 2026
861c1d6
actualización de archivo
damian-garrido Mar 17, 2026
90d636a
refactorizacion crudTables file
damian-garrido Mar 18, 2026
ee3d97f
se remueve contenido relacionado a camelot, no es necesario en este a…
damian-garrido Mar 18, 2026
60f191e
corrección de sincronicidad
damian-garrido Mar 18, 2026
fdeed02
mejora vistas datos en tablas
damian-garrido Mar 18, 2026
77e302c
se agrega texto expandible para tabla
damian-garrido Mar 18, 2026
a6fb6aa
se agregan test para upload desde pubmed
damian-garrido Mar 18, 2026
5e4d0d0
se cambia la forma de manejar lotes de ids de pubmed para mejor exper…
damian-garrido Mar 18, 2026
343f184
button export added for step 4 in camelot project
damian-garrido Mar 23, 2026
c9b692a
refactor organization list projects
damian-garrido Mar 24, 2026
a0b1cf4
variable error fixed
damian-garrido Mar 24, 2026
73834f8
posibility of transfer owner before delete a project added when is sh…
damian-garrido Mar 24, 2026
630b929
modal warning added
damian-garrido Mar 24, 2026
e536c5f
se cambia layout exportable camelot
damian-garrido Mar 25, 2026
3b0d9c4
lint fixed
damian-garrido Mar 25, 2026
6fb1409
filter added
damian-garrido Mar 25, 2026
9e15bb7
pagination added
damian-garrido Mar 25, 2026
3764197
message added when a search dont have results
damian-garrido Mar 26, 2026
543f60d
tweaks for working with Tokens
damian-garrido Mar 30, 2026
c4fe637
se elimina al mismo usuario en caso de venir en una lista de posibles…
damian-garrido Mar 31, 2026
6ad5026
mocks added
damian-garrido Apr 1, 2026
6f0fab5
mejora de manejo token
damian-garrido Apr 2, 2026
6a9c55f
ajustes de acces_token
damian-garrido Apr 2, 2026
3f7c7cc
profile requiere autorización, además verificamos que se tenga un l_s…
damian-garrido Apr 2, 2026
9ba268e
add a conditional for camelot case also change the statics texts for …
damian-garrido Apr 6, 2026
adfd387
style added
damian-garrido Apr 6, 2026
0ff4953
missing CAMELOT icon added
damian-garrido Apr 7, 2026
1c66316
identation fixed
damian-garrido Apr 7, 2026
7cc0a70
tooltip added
damian-garrido Apr 7, 2026
8868363
title meta domains added
damian-garrido Apr 7, 2026
3a30d06
concerns to comments changed
damian-garrido Apr 8, 2026
c105c8b
update messaje on step 3
damian-garrido Apr 8, 2026
8521f23
content text fixed
damian-garrido Apr 8, 2026
3a6cfbb
translations tetxt
damian-garrido Apr 8, 2026
cc83466
fixed content on edit button section
damian-garrido Apr 8, 2026
336f18f
update text on step 4 from modal
damian-garrido Apr 8, 2026
9cff3dd
change grade-cerqual to camelot text
damian-garrido Apr 8, 2026
6897160
text changed
damian-garrido Apr 8, 2026
7d35987
text modal creation project changed
damian-garrido Apr 8, 2026
d108f39
improves chunks files
damian-garrido Apr 8, 2026
6502df4
logo and modal information about camelot project
damian-garrido Apr 8, 2026
3d5f141
translations, sidebars and helps messages for users
damian-garrido Apr 9, 2026
f1ca998
help for how to read table in worksheet
damian-garrido Apr 9, 2026
673e2c7
tooltips added
damian-garrido Apr 10, 2026
9d311eb
update webpack
damian-garrido Apr 10, 2026
1129fec
se elimina node_options en build
damian-garrido Apr 10, 2026
c9989bf
move sidebar out of modal tag
damian-garrido Apr 10, 2026
a8cabeb
prompts added
damian-garrido Apr 10, 2026
42d4c10
domain definitions added
damian-garrido Apr 10, 2026
8822420
text update
damian-garrido Apr 10, 2026
19ce6d0
text fot tooltips added but not implemented
damian-garrido Apr 10, 2026
8c43979
translation text fixed
damian-garrido Apr 14, 2026
d2f5074
send information improved
damian-garrido Apr 14, 2026
2f9f468
different message on step 4 added
damian-garrido Apr 14, 2026
653b969
add bold and fix content
damian-garrido Apr 14, 2026
898c696
users with read access are elegibles for own a project
damian-garrido Apr 14, 2026
424851a
Implemented feature-flag based registration control: enabled in dev/p…
damian-garrido Apr 15, 2026
3be5793
display comments fixed
damian-garrido Apr 16, 2026
99591ce
sidebar over modal
damian-garrido Apr 16, 2026
32b1d27
underline added
damian-garrido Apr 16, 2026
a77bba7
new media for modal added
damian-garrido Apr 16, 2026
93eecff
validation email added
damian-garrido Apr 16, 2026
ab985e1
fix text for assessment summary table of camelot
damian-garrido Apr 17, 2026
d2a6a76
clean content when get characteristics
damian-garrido Apr 20, 2026
211bf4f
fixed issue that do not allow to display the camelot fields
damian-garrido Apr 20, 2026
f136116
text changed
damian-garrido Apr 20, 2026
42c952d
display circle for each meta domain completed
damian-garrido Apr 20, 2026
d7f2f50
console.log removed and small refactor with circles on step 4
damian-garrido Apr 21, 2026
c9a5a55
notifications added and filter fixed on findings table
damian-garrido Apr 21, 2026
26a60b5
UI improvements added
damian-garrido Apr 21, 2026
77b7ba9
improvement on crudtable
damian-garrido Apr 21, 2026
6634af8
improves on store
damian-garrido Apr 21, 2026
a425c78
improvements
damian-garrido Apr 21, 2026
d52e172
offline improvements
damian-garrido Apr 22, 2026
691bf6f
return information about uploaded references
damian-garrido Apr 22, 2026
83c9b7b
improve reading and witting of references
damian-garrido Apr 22, 2026
a76e6ae
fixed issue when new references are added
damian-garrido Apr 22, 2026
33d2765
toast is included on project properties form
damian-garrido Apr 22, 2026
d3891b8
disable save button when the columns dont have name
damian-garrido Apr 24, 2026
94dbe5d
text fixed
damian-garrido Apr 24, 2026
0df0fff
behavior fixed
damian-garrido Apr 27, 2026
f171ea4
validation fixed
damian-garrido Apr 27, 2026
5bf6cca
test added
damian-garrido Apr 27, 2026
978f19c
only necesary information
damian-garrido Apr 27, 2026
292479b
test for editList
damian-garrido Apr 27, 2026
67155a0
add upload test and fix some issue
damian-garrido Apr 28, 2026
e4971e5
refactor(evidenceProfileForm): improve reliability and add test coverage
damian-garrido Apr 28, 2026
633c9ef
improvements on warning modal
damian-garrido Apr 28, 2026
96667a5
fix: silence NavigationDuplicated error on login redirect
damian-garrido Apr 28, 2026
e1d6492
issue with export Word file and missing references fixed
damian-garrido Apr 29, 2026
ddbb978
improve sort on reference exportable
damian-garrido Apr 29, 2026
2feeea7
improvement on sort references
damian-garrido Apr 29, 2026
898d773
issue with hash and scroll fixed
damian-garrido Apr 29, 2026
f8f7484
add icon exclamation-circle for missing data
damian-garrido Apr 30, 2026
aba4c18
background color changed
damian-garrido Apr 30, 2026
db451c6
badge added
damian-garrido Apr 30, 2026
f8255c9
text improved
damian-garrido Apr 30, 2026
62936fc
italic removed
damian-garrido Apr 30, 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
883 changes: 883 additions & 0 deletions .agent/skills/create-docx-documents/SKILL.md

Large diffs are not rendered by default.

357 changes: 357 additions & 0 deletions .agent/skills/extend-evidence-profile/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,357 @@
---
description: Guide for extending the Evidence Profile with new GRADE-CERQual components
---

# Skill: Extend Evidence Profile

## Purpose

This skill guides you through adding new components to the Evidence Profile (GRADE-CERQual assessment), modifying existing components, or changing the assessment options.

## When to Use This Skill

- GRADE-CERQual methodology adds new assessment criteria
- Project requires custom assessment components
- Need to modify existing component options or labels
- Changing the scoring system (e.g., adding more granular options)

## Current Evidence Profile Structure

The Evidence Profile consists of 5 components:

1. **Methodological Limitations** (4 options: 0-3)
2. **Coherence** (4 options: 0-3)
3. **Adequacy** (4 options: 0-3)
4. **Relevance** (4 options: 0-3)
5. **CERQual Assessment** (4 options: 0-3)

Each component has:

- `option`: Number (0-3) representing the selected level
- `explanation`: String with detailed justification
- `notes`: Optional additional notes

## Critical Files to Modify

### Frontend Components

1. **`src/components/list/evidenceProfileForm.vue`**

- Lines 27-386: Component-specific forms (left panel)
- Lines 388-714: Component-specific data displays (right panel)
- Purpose: Modal form for editing Evidence Profile

2. **`src/components/list/editList.vue`**

- Purpose: Worksheet view that displays Evidence Profile
- What to update: Display logic for new components

3. **`src/components/project/viewProject.vue`**
- Location: `createFinding()` method (lines 1410-1455)
- Purpose: Initialize Evidence Profile structure when creating finding
- What to update: Add new component to initial structure

### Backend

4. **`isoq_server/auth_server/controllers/core.py`**
- Location: `checkIfAListHasCerqual()` (lines 871-881)
- Purpose: Validate Evidence Profile completeness
- What to update: Add validation for new component if required

### Translation Files

5. **`src/lang/en.json`**, **`src/lang/es.json`**, **`src/lang/pt.json`**
- Sections to update:
- `worksheet.questions.*` - Question text
- `worksheet.options.*` - Option labels
- `worksheet.tooltips.*` - Tooltip explanations
- `worksheet.domains.*` - Domain names

## Step-by-Step Procedure

### Adding a New Evidence Profile Component

**Example: Adding a "Transferability" component**

#### Step 1: Add to Initial Structure

```javascript
// src/components/project/viewProject.vue - createFinding() method
evidence_profile: {
name: listName,
isoqf_id: this.lastId,
relevance: { explanation: '', option: null },
adequacy: { explanation: '', option: null },
coherence: { explanation: '', option: null },
methodological_limitations: { explanation: '', option: null },
cerqual: { explanation: '', option: null },
transferability: { explanation: '', option: null } // NEW
}
```

#### Step 2: Add Form Section

```vue
<!-- src/components/list/evidenceProfileForm.vue -->
<!-- Add after relevance section (around line 309) -->
<div
id="left-transferability"
v-if="selectedOptions.type === 'transferability'"
>
<p class="font-weight-bold">
{{ $t('worksheet.questions.transferability') }}
</p>
<p class="font-weight-light">
{{ $t('worksheet.reminders.transferability') }}
</p>

<b-form-radio-group
v-model="selectedOptions.transferability.option"
name="transferability"
stacked
:disabled="!permission">
<b-form-radio value="0">
{{ $t('worksheet.options.no_concerns') }}
<small v-b-tooltip.hover :title="$t('worksheet.tooltips.transferability.no_concerns')">*</small>
</b-form-radio>
<b-form-radio value="1">
{{ $t('worksheet.options.minor_concerns') }}
<small v-b-tooltip.hover :title="$t('worksheet.tooltips.transferability.minor_concerns')">*</small>
</b-form-radio>
<b-form-radio value="2">
{{ $t('worksheet.options.moderate_concerns') }}
<small v-b-tooltip.hover :title="$t('worksheet.tooltips.transferability.moderate_concerns')">*</small>
</b-form-radio>
<b-form-radio value="3">
{{ $t('worksheet.options.serious_concerns') }}
<small v-b-tooltip.hover :title="$t('worksheet.tooltips.transferability.serious_concerns')">*</small>
</b-form-radio>
</b-form-radio-group>

<p v-if="permission" class="mt-2 font-weight-light text-danger" style="cursor: pointer">
<a @click="clearMySelection('transferability')"
v-if="selectedOptions.transferability.option !== null">
<font-awesome-icon icon="trash"></font-awesome-icon>
{{ $t('worksheet.actions.clear_selection') }}
</a>
</p>

<b-form-group
v-if="selectedOptions.transferability.option !== null"
class="mt-4 font-weight-light"
label-for="input-transferability-explanation">
<template slot="label">
<p class="font-weight-bold">
{{ showMessage(selectedOptions.transferability.option, 'transferability') }}
</p>
</template>
<template slot="description">
{{ $t('worksheet.labels.explanation_required') }}
</template>
<b-form-textarea
id="input-transferability-explanation"
v-model="selectedOptions.transferability.explanation"
rows="6"
max-rows="100"
:disabled="!permission">
</b-form-textarea>
</b-form-group>

<b-form-group
class="mt-2 font-weight-light"
label-for="input-transferability-notes"
:description="$t('worksheet.labels.notes_description')">
<template slot="label">
<videoHelp :txt="$t('common.notes')" tag="none" urlId="462180668"></videoHelp>
</template>
<b-form-textarea
id="input-transferability-notes"
v-model="selectedOptions.transferability.notes"
rows="6"
max-rows="100"
:disabled="!permission">
</b-form-textarea>
</b-form-group>
</div>
```

#### Step 3: Add Right Panel Display

```vue
<!-- src/components/list/evidenceProfileForm.vue -->
<!-- Add display section for the new component -->
<div v-if="selectedOptions.type === 'transferability'">
<edit-review-finding
@update-list-data="getList(true)"
:list="list"
:finding="findings"
:permission="permission">
</edit-review-finding>
<!-- Add any relevant data tables here -->
</div>
```

#### Step 4: Update CERQual Summary Display

```vue
<!-- src/components/list/evidenceProfileForm.vue -->
<!-- In the CERQual component assessments tab (around line 667) -->
<b-tab :title="$t('worksheet.titles.component_assessments')">
<!-- Existing components... -->

<h5>{{ $t('worksheet.domains.transferability') }}</h5>
<p>
<b>{{ displaySelectedOption(evidenceProfile[0].transferability.option) }}</b>
<template v-if="parseInt(evidenceProfile[0].transferability.option) > 0">
<br />
{{ $t('common.explanation_colon') }}
<span v-if="evidenceProfile[0].transferability.explanation">
{{ getExplanation('transferability', evidenceProfile[0].transferability.option, evidenceProfile[0].transferability.explanation) }}
</span>
<span v-else>{{ $t('worksheet.labels.explanation_not_added') }}</span>
</template>
</p>
</b-tab>
```

#### Step 5: Add Component Data Property

```javascript
// src/components/list/evidenceProfileForm.vue - data() section
selectedOptions: {
type: null,
title: null,
methodological_limitations: { option: null, explanation: '', notes: '' },
coherence: { option: null, explanation: '', notes: '' },
adequacy: { option: null, explanation: '', notes: '' },
relevance: { option: null, explanation: '', notes: '' },
cerqual: { option: null, explanation: '', notes: '' },
transferability: { option: null, explanation: '', notes: '' } // NEW
}
```

#### Step 6: Add Translations

```json
// src/lang/en.json
{
"worksheet": {
"questions": {
"transferability": "How transferable are the findings to other contexts?"
},
"reminders": {
"transferability": "Consider the extent to which findings can be applied to other settings or populations."
},
"domains": {
"transferability": "Transferability"
},
"tooltips": {
"transferability": {
"no_concerns": "Findings are highly transferable to other contexts",
"minor_concerns": "Findings are mostly transferable with minor limitations",
"moderate_concerns": "Findings have moderate transferability concerns",
"serious_concerns": "Findings have serious transferability limitations"
}
}
}
}
```

Repeat for `es.json` and `pt.json`.

#### Step 7: Update Backend Validation (Optional)

If the new component should be required for publication:

```python
# isoq_server/auth_server/controllers/core.py
def checkIfAListHasCerqual(project):
cnt = 0
lists = api.get('isoqf_lists?project_id=%s' % project)
for list in lists:
# Check if both cerqual AND transferability are complete
if (list.get('cerqual').get('explanation') != '' and
list.get('transferability').get('explanation') != ''):
cnt += 1

if (cnt):
return json_cors_response({'status': True, 'message': 'Can Publish.'})
else:
return json_cors_response({
'status': False,
'message': 'The project must have complete GRADE-CERQual assessment including transferability.'
})
```

### Modifying Existing Component Options

**Example: Adding a 5th option "Very Serious Concerns" to Methodological Limitations**

#### Step 1: Update Form Options

```vue
<!-- src/components/list/evidenceProfileForm.vue -->
<b-form-radio value="4">
{{ $t('worksheet.options.very_serious_concerns') }}
<small v-b-tooltip.hover :title="$t('worksheet.tooltips.methodological_limitations.very_serious_concerns')">*</small>
</b-form-radio>
```

#### Step 2: Add Translation

```json
{
"worksheet": {
"options": {
"very_serious_concerns": "Very serious concerns"
},
"tooltips": {
"methodological_limitations": {
"very_serious_concerns": "Critical methodological flaws that severely undermine confidence"
}
}
}
}
```

#### Step 3: Update Display Logic

Ensure all display methods handle the new option value (4).

## Validation Checklist

After adding/modifying components:

- [ ] Initial structure updated in `createFinding()`
- [ ] Form section added in `evidenceProfileForm.vue` (left panel)
- [ ] Display section added in `evidenceProfileForm.vue` (right panel)
- [ ] CERQual summary updated to show new component
- [ ] Data properties added to `selectedOptions`
- [ ] Translations added in all 3 languages
- [ ] Backend validation updated (if required for publication)
- [ ] Tested creating a new finding → component appears
- [ ] Tested filling out the component → saves correctly
- [ ] Tested CERQual summary → shows new component
- [ ] Tested in all three languages
- [ ] No console errors

## Common Pitfalls

1. **Forgetting Initial Structure**: Must add to `createFinding()` or existing findings won't have the field
2. **Missing in CERQual Summary**: New components must be displayed in the CERQual assessment tab
3. **Data Property**: Must add to `selectedOptions` in data()
4. **Translation Keys**: Need translations for questions, options, tooltips, and domains
5. **Backend Compatibility**: Ensure backend can handle the new field structure

## Related Files

- `src/components/list/evidenceProfileForm.vue` - Main Evidence Profile form
- `src/components/list/editList.vue` - Worksheet view
- `src/components/project/viewProject.vue` - Finding creation
- `isoq_server/auth_server/controllers/core.py` - Backend validation
- `src/lang/*.json` - Translation files

## See Also

- CLAUDE.md section "Project Creation & Publication Flow" → "Worksheet: Completing the Evidence Profile"
- GRADE-CERQual official documentation: https://www.cerqual.org/
4 changes: 4 additions & 0 deletions .agent/skills/global-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Regla Maestra

- Antes de cada tarea, lee OBLIGATORIAMENTE el archivo @CLAUDE.md
- si creamos algo nuevo que no se encuentra en @CLAUDE.md, actualiza ese archivo con la nueva información
Loading