Workflow d’Ownership de fitxes (CLAIM / TRANSFER)
Aquest document descriu el sistema de reclamació i gestió de propietat de fitxes de domini (sobretot Choreographer) dins de LDP.
Objectiu: garantir que les fitxes “oficials” tinguin un responsable clar, però permetent gestionar reclamacions, transfers i disputes.
1. Conceptes principals
1.1. Fitxa reclamable
Tipus de fitxes reclamables (a curt termini):
ChoreographerSOLO (persona individual).
Fitxes no reclamables de moment:
- grups (
isGroup = true), - altres rols (DJ, TEACHER…) fins que es defineixin normes específiques.
1.2. Owner
- És el
Userque té la responsabilitat de gestionar la fitxa. - Només hi pot haver un owner actiu per fitxa reclamable.
- L’owner pot:
- editar dades públiques de la fitxa,
- proposar canvis a balls associats,
- iniciar una transferència de propietat.
1.3. OwnershipRequest
Entitat conceptual:
idchoreographerId(o altra fitxa reclamable)requesterUserIdtargetUserId?(per transfers)type:CLAIM– reclama una fitxa sense owner o amb owner incorrecte.TRANSFER– proposa transferir la propietat a un altre usuari.
status:PENDING_CLAIMPENDING_TRANSFERAPPROVEDREJECTEDCANCELLED
message(justificació de la sol·licitud)- timestamps (
created_at,updated_at,resolved_at?)
2. Flux de CLAIM (reclamar fitxa)
2.1. Precondicions
- La fitxa ha de ser de tipus reclamable (coreògraf SOLO).
- Si ja té owner:
- es permet CLAIM igualment, però es tracta com una disputa de propietat que haurà de resoldre un ADMIN.
2.2. Passos del flux
- Usuari autenticat navega a una fitxa de coreògraf.
- Prem el botó “Reclamar fitxa”.
- Es mostra un modal que:
- recorda que es demanaran evidències,
- demana un missatge de justificació (
message).
- En confirmar:
- es crea un
OwnershipRequestde tipusCLAIMamb estatPENDING_CLAIM.
- es crea un
- Un ADMIN revisa la sol·licitud:
- comprova dades, evidències (mails oficials, enllaços, xarxes socials…),
- si cal, contacta amb l’owner actual o amb l’usuari que reclama.
- L’ADMIN decideix:
- APPROVED:
- assigna l’usuari com a nou owner (potser substituint l’anterior),
- marca la resta de sol·licituds relacionades com a resoltes.
- REJECTED:
- es manté l’owner actual (o cap si no n’hi havia),
- es deixa constància del motiu al request.
- APPROVED:
3. Flux de TRANSFER (transferència voluntària)
3.1. Precondicions
- Només l’owner actual pot iniciar una transferència.
- Cal conèixer el
Userde destí (email, id, etc.).
3.2. Passos del flux
- L’owner fa clic a “Transferir propietat” a la fitxa.
- Es demana:
- identificació de l’usuari receptor (email o selector),
- missatge opcional.
- Es crea un
OwnershipRequestde tipusTRANSFERamb estatPENDING_TRANSFER. - Un ADMIN rep la sol·licitud i:
- comprova que:
- el requester és realment l’owner actual,
- el
targetUserIdés correcte.
- pot contactar amb les dues parts si cal.
- comprova que:
- L’ADMIN decideix:
- APPROVED:
- assigna l’owner a
targetUserId, - registra el canvi al log/històric.
- assigna l’owner a
- REJECTED:
- es manté l’owner original.
- APPROVED:
4. Regles de negoci i restriccions
- Un
Usernomés pot ser owner d’un coreògraf SOLO (regla 1:1). - Les fitxes de grup:
- actualment no són reclamables,
- es pot mostrar un missatge: “Fitxa de grup, no reclamable”.
- No es permeten CLAIMs anònims:
- cal estar autenticat.
- Es registra qui i quan ha resolt cada
OwnershipRequest.
5. UI i missatges clau
5.1. Botó “Reclamar fitxa”
- Només es mostra si:
- l’usuari està autenticat,
- la fitxa és reclamable.
- Missatge al modal:
- “Estàs segur que vols reclamar la propietat d’aquesta fitxa?
Se’t poden demanar evidències per verificar que ets qui dius ser.”
- “Estàs segur que vols reclamar la propietat d’aquesta fitxa?
Pot incloure:
- exemples d’evidències:
- correu oficial amb el mateix domini que el del web,
- enllaç a xarxes on es vegi clarament la titularitat, etc.
5.2. Feedback d’estat
A la fitxa s’hauria de mostrar un petit badge o text segons:
PENDING_CLAIM:- “Reclamació pendent de revisió”.
CLAIMED:- “Fitxa reclamada per {nom d’usuari}” (o simplement “Fitxa reclamada” per no exposar dades).
- Sense owner:
- “Fitxa informativa (sense gestor assignat)”.
6. Gestió de disputes
En casos de conflicte (dos usuaris que asseguren ser el mateix coreògraf, etc.):
- L’ADMIN pot:
- recollir evidències extra,
- contactar amb les parts,
- decidir manualment qui és l’owner o deixar la fitxa sense owner.
- Opcionalment es poden definir:
- regles de prioritat (correu oficial, proves de xarxes, etc.),
- però sempre amb marge per decisió manual.
Aquestes decisions i canvis s’han de documentar internament (log administratiu, no necessàriament públic).
7. Documents relacionats
- Model d’identitat:
architecture/identity-model - Model de dades / restriccions:
architecture/db-redesign-plan - Rols i permisos:
architecture/security - Roadmap de funcionalitats relacionades:
roadmap/roadmap-global,roadmap/backlog