Grups
Ús
El Servei de Grups permet:
- crear grups de membres utilitzant expressions
- recuperar el conjunt de membres d'un grup
- recuperar el conjunt de grups a què pertany un membre
Els membres s'identifiquen per GaussID (com ara 100123) i només es poden utilitzar membres definits a Identitat.
Grups
Els grups s'identifiquen per un id (com ara example.group).
Les expressions defineixen el subconjunt de membres com a:
- Referència a altres grups: other.group
- Combinant grups existents amb operacions de conjunts:
- Unió: group.one ∪ group.two
- Intersecció: group.one ∩ group.two
- Diferència: group.one ∖ group.two
- Diferència simètrica: group.one ∆ group.two
- Obtenint membres de Origins i filtrant per atributs
- Els atributs són referenciats per $ORIGIN.$attribute (com ara ID.country o PRISMA.udCode)
- Membres que coincideixen amb el valor de l'atribut: ID.country = "ES"
- Altres comparadors que es poden utilitzar: ≠, <, >, ≤, ≥
- Membres que coincideixen amb el valor de l'atribut (d'una llista): ID.country ∈ {"ES", "PT"}
- Membres que no coincideixen amb el valor de l'atribut (d'una llista): ID.country ∉ {"ES", "PT"}
- Les expressions de filtratge també es poden combinar utilitzant operacions de conjunts
- Els parèntesis ( ) es poden utilitzar per agrupar subexpressions
Exemple: (ID.country = "ES" ∩ ID.age ≥ 18) ∪ exceptions
Plantilles de grup
Les plantilles permeten crear molts grups (instàncies) alhora utilitzant un:
- id de plantilla com somePrefix.[ID.pais].[ID.provincia]
- expressió de plantilla com ID.pais = [ID.pais] ∩ ID.provincia = [ID.provincia]
- registres: una taula amb els atributs utilitzats per definir la plantilla. Per exemple:
ID.pais | ID.provincia |
---|---|
ES | Barcelona |
ES | Córdoba |
ES | Biscaia |
Aquest exemple crearia els següents grups d'instància:
GroupId | Expressió |
---|---|
somePrefix.ES.Barcelona |
ID.pais = "ES" ∩ ID.provincia = "Barcelona" |
somePrefix.ES.C!F3rdoba |
ID.pais = "ES" ∩ ID.provincia = "Córdoba" |
somePrefix.ES.Biscaia |
ID.pais = "ES" ∩ ID.provincia = "Biscaia" |
En cas que el registre contingui algun caràcter no permès en l'ID del grup, això s'escapa a !HH, per exemple: id de grup somePrefix.ES.C!F3rdoba amb expressió ID.pais = "ES" ∩ ID.provincia = "Córdoba".
Origins
Els Origins són interfícies per a sistemes d'informació externs que es poden utilitzar per filtrar membres.
Conceptualment, un Origin és una taula totalment desnormalitzada amb atributs.
GaussId | pais | provincia | poblacio |
---|---|---|---|
2 | ES | Barcelona | Barcelona |
2 | ES | Barcelona | Granollers |
5 | ES | Cordoba | Lucena |
7 | ES | Vizcaya | Getxo |
8 | ES | Vizcaya | Bilbao |
Actualment hi ha dos Origins: ID (de Identitat) i PRISMA.
Atributs
Els atributs estan relacionats amb el domini del sistema d'informació extern.
L'atribut GaussID és obligatori ja que s'utilitza per identificar membres.
Generalment, els atributs haurien de ser agregables ja que el principal objectiu és filtrar conjunts de membres.
CommonName i GaussID
El servei de grups utilitza exclusivament GaussID per identificar membres.
Hi ha una API provisional per convertir de/a GaussID i CommonName, però no forma part de l'API pública i es pot eliminar sense avís previ.
Aplicació de gestió
API
Per utilitzar la API cal demanar l'accés a eATIC amb un usuari genèric.
Podeu veure la definició openapi a https://idgrups.upc.edu/api/META/api
https://soa.upc.edu/ca/cataleg-soa#section-5
Delegació
La gestió dels grups es delega a les Unitats Tècniques de Gestió.
Cada UTG pot crear grups limitats a un grup univers que té la definició
Si la delegació encara no està feta cal sol·licitar-la via tiquet a eATIC.
Grups Institucionals
Es generen diàriament els següents grups institucionals amb vinculacions actives:
Unitat Estructural | institucional.u.[ID.ue] |
Perfil | institucional.p.[ID.perfil] |
Unitat Estructural i Perfil | institucional.up.[ID.ue].[ID.perfil] |
Unitat Docent | institucional.ud.[PRISMA.udCentre].[PRISMA.udCodiUpc].[PRISMA.quad] |
Unitat Docent PDI | institucional.udpdi.[PRISMA.udCentre].[PRISMA.udCodiUpc].[PRISMA.quad] |
Unitat Docent Responsable | institucional.udresp.[PRISMA.udCentre].[PRISMA.udCodiUpc].[PRISMA.quad] |
Unitat Docent Grup de Classe | institucional.udgc.[PRISMA.udCentre].[PRISMA.udCodiUpc].[PRISMA.quad].[PRISMA.grupClasse] |
Exemples:
Codi | Expressió |
---|---|
institucional.u.001 | ID.ue = "001" ∩ ID.estat = "ALTA" |
institucional.p.PDI | ID.perfil = "PDI" ∩ ID.estat = "ALTA" |
institucional.up.001.PI |
ID.ue = "001" ∩ ID.perfil = "PI" ∩ ID.estat = "ALTA" |
institucional.ud.162.162069.1 |
PRISMA.curs=2022 ∩ PRISMA.udCentre = "162" ∩ PRISMA.udCodiUpc = "162069" ∩ PRISMA.quad = "1" ∩ PRISMA.grupClasse≠"CONV" ∩ PRISMA.grupClasse≠"?" |
institucional.udpdi.162.162069.1 |
PRISMA.curs=2022 ∩ PRISMA.tipus = "PDI" ∩ PRISMA.udCentre = "162" ∩ PRISMA.udCodiUpc = "162069" ∩ PRISMA.quad = "1" ∩ PRISMA.grupClasse≠"?" |
institucional.udresp.162.162069.1 |
PRISMA.curs=2022 ∩ PRISMA.tipus = "PDI" ∩ PRISMA.esResponsable = "S" ∩ PRISMA.udCentre = "162" ∩ PRISMA.udCodiUpc = "162069" ∩ PRISMA.quad = "1" |
institucional.udgc.162.162069.1.CFIS |
PRISMA.curs=2022 ∩ PRISMA.udCentre="162" ∩ PRISMA.udCodiUpc="162069" ∩ PRISMA.quad="1" ∩ PRISMA.grupClasse="CFIS" |
Grups Google
Es generen diàriament els següents grups de google d'Unitats Docents per quadrimestre:
Grup | Expressió | Exemple |
---|---|---|
Estudiants i PDIs | [PRISMA.udCentre].[PRISMA.udCodiUpc].[PRISMA.sigles].[PRISMA.quad]@assigs.grups.upc.edu | fme.200002.al.q2@assigs.grups.upc.edu |
PDIs | PRISMA.udCentre].[PRISMA.udCodiUpc].[PRISMA.sigles].[PRISMA.quad].pdi@assigs.grups.upc.edu | fme.200002.al.q2.pdi@assigs.grups.upc.edu |
PDIs responsables | [PRISMA.udCentre].[PRISMA.udCodiUpc].[PRISMA.sigles].[PRISMA.quad].resp@assigs.grups.upc.edu | fme.200002.al.q2.resp@assigs.grups.upc.edu |