Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
projects:charta:analisi [2022/07/20 11:51] – [Fase di tag] daniel | projects:charta:analisi [2022/10/28 10:43] (current) – rmontresor | ||
---|---|---|---|
Line 54: | Line 54: | ||
=== Visualizzazione === | === Visualizzazione === | ||
- | Gli utenti possono visualizzare e scaricare i documenti all' | + | Gli utenti possono visualizzare e scaricare i documenti all' |
- | Gli utenti possono vedere solo i documenti su cui hanno accesso di lettura. Se l' | + | Gli utenti possono vedere solo i documenti su cui hanno accesso di lettura. Se l' |
=== Ruoli === | === Ruoli === | ||
- | Ogni operatore appartiene a dei gruppi | + | Ogni operatore appartiene a dei gruppi. Ogni gruppo |
Un operatore quindi potrebbe avere un ruolo in un realm e un ruolo diverso in un altro realm. | Un operatore quindi potrebbe avere un ruolo in un realm e un ruolo diverso in un altro realm. | ||
Ad esempio: un operatore può scannerizzare e taggare documenti per l' | Ad esempio: un operatore può scannerizzare e taggare documenti per l' | ||
- | |||
- | Deve quindi essere possibile fare login, selezionare un realm e poi eventualmente fare lo switch a un differente realm, senza dovere fare login nuovamente. | ||
Line 75: | Line 73: | ||
**PROBLEMA: | **PROBLEMA: | ||
Esistono due tipi di permessi | Esistono due tipi di permessi | ||
- | * Permessi di tipo operativo, che vogliamo associare a cose generali come i realm e le classi | + | * Permessi di tipo operativo, che vogliamo associare a cose generali come i realm e le categorie |
* Permessi di visibilità sui singoli documenti | * Permessi di visibilità sui singoli documenti | ||
- | ==== Soluzione 1 (SCARTATA)==== | ||
- | |||
- | Un utente appartiene a più gruppi | ||
- | |||
- | Un gruppo ha certi permessi di tipo operativo (es. può scannerizzare i file all' | ||
- | e certi permessi di visibilità sui singoli file (es. un operatore vuole che un documento sia visibile da tutti i dipendenti dell' | ||
- | |||
- | **Problema: | ||
- | In base a cosa vengono creati i gruppi? | ||
- | |||
- | In base ai permessi operativi? | ||
- | La maggior parte degli utenti non ha permessi operativi. | ||
- | |||
- | In base ai permessi di visibilità? | ||
- | I permessi di visibilità in genere si danno ai gruppi di lavoro, ad esempio i dipendenti di un settore, o il gruppo dei manager ecc. | ||
- | |||
- | Ma queste divisioni non c' | ||
==== Soluzione 2 ==== | ==== Soluzione 2 ==== | ||
Line 118: | Line 99: | ||
* I **group** vengono associati ai realm e alle classi | * I **group** vengono associati ai realm e alle classi | ||
- | |||
Con i group, oltre ai ruoli di scan, tag, ecc, esiste il ruolo read, che può dare ad alcuni utenti speciali (non solo agli operatori interni) i permessi di lettura a tutti i documenti di un certo realm, o di una certa classe all' | Con i group, oltre ai ruoli di scan, tag, ecc, esiste il ruolo read, che può dare ad alcuni utenti speciali (non solo agli operatori interni) i permessi di lettura a tutti i documenti di un certo realm, o di una certa classe all' | ||
Con le ACL, un operatore che carica un documento può scegliere i permessi di lettura che avrà il singolo documento una volta pubblicato, associandolo a delle liste che non hanno niente a che vedere con le suddivisioni operative o gli utenti speciali | Con le ACL, un operatore che carica un documento può scegliere i permessi di lettura che avrà il singolo documento una volta pubblicato, associandolo a delle liste che non hanno niente a che vedere con le suddivisioni operative o gli utenti speciali | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Soluzione 3 (scelta) ==== | ||
+ | |||
+ | Un utente appartiene a più GROUP | ||
+ | |||
+ | ---- | ||
+ | |||
+ | * Le **categories** vengono associate ai singoli documenti | ||
+ | |||
+ | * I **group** vengono associati ai realm | ||
+ | |||
+ | * Il **role** può essere upload, tag, correct, publish, read, admin (comprende tutti i precedenti ruoli) | ||
+ | |||
+ | * Una tabella **GroupRoleCategory** assegna ad ogni gruppo di utenti dei ruoli su una categoria di documenti (esempio: il ruolo read su tutti i cedolini) | ||
+ | |||
+ | Tutti i documenti hanno una categoria più una chiamata " | ||
+ | |||
+ | Al momento il ruolo admin è riferito solo alla categoria default, che comprende tutti i documenti di quel realm | ||
+ | |||
==== Esempi di permessi ==== | ==== Esempi di permessi ==== | ||
Line 128: | Line 129: | ||
Un documento è leggibile da: | Un documento è leggibile da: | ||
* Utente owner del documento | * Utente owner del documento | ||
- | | + | * Utenti membri di un supergroup con ruolo " |
- | | + | |
Un documento è scannerizzabile da: | Un documento è scannerizzabile da: | ||
- | * Utenti membri di un supergroup con ruolo "scan" | + | * Utenti membri di un supergroup con ruolo "upload" |
- | **Esempi della tabella dei role** | ||
- | |||
- | < | ||
- | Superg | ||
- | s1 SCAN 2 ALL | ||
- | s2 TAG | ||
- | s2 CORRECT 3 | ||
- | s3 ALL | ||
- | s4 READ 2 ALL | ||
- | </ | ||
- | |||
- | nell' | ||
==== Schema del db proposto ==== | ==== Schema del db proposto ==== | ||
- | {{ : | + | {{ : |
Spiegazione: | Spiegazione: | ||
Line 155: | Line 143: | ||
* Un certo numero di **file** | * Un certo numero di **file** | ||
* Un insieme di **tag** a cui vengono attribuiti dei valori | * Un insieme di **tag** a cui vengono attribuiti dei valori | ||
- | * Una **class** (tipologia, ad es. cedolino, contratto, ecc.) | + | * Una **categoria** (tipologia, ad es. cedolino, contratto, ecc.) + la categoria default che comprende tutti i documenti di un realm |
- | >Ogni class di documento ha diversi tag da riempire (es. cedolino chiede il numero fiscale, contratto chiede data di scadenza), essi acquisiranno dei valori solo quando verranno associati a un documento | + | Ogni categoria |
- | >Ogni classe | + | Ogni categoria |
Gli utenti (**user**) appartengono a: | Gli utenti (**user**) appartengono a: | ||
- | * **acl**, che ne determinano | + | * **group**, i quali determinano il ruolo sopra ai realm e sulle categoria |
- | * **group**, che ne determinano il ruolo sopra ai realm e sulle class all' | + | |
I ruoli (**role**) possono essere: | I ruoli (**role**) possono essere: | ||
- | * SCAN, o UPLOAD: l' | + | * SCAN, o UPLOAD: l' |
* TAG: l' | * TAG: l' | ||
* CORRECT: l' | * CORRECT: l' | ||
Line 181: | Line 168: | ||
=== Accesso === | === Accesso === | ||
- | L' | + | L' |
---- | ---- | ||
Line 288: | Line 275: | ||
==== Visualizzazione ==== | ==== Visualizzazione ==== | ||
- | Ogni documento deve poter essere visibile dal proprio owner, dagli utenti appartenenti alle ACL collegate al documento, | + | Ogni documento deve poter essere visibile dal proprio owner e dagli utenti appartenenti ai groups con READ (o ADMIN) |
Quando un utente va nella schermata di visualizzazione, | Quando un utente va nella schermata di visualizzazione, | ||
I documenti devono avere una thumbnail, un nome, un' | I documenti devono avere una thumbnail, un nome, un' | ||
+ | |||
+ | Da questa pagina si potrà selezionare un documento ed entrare nella relativa pagina che permetterà di visualizzare le preview dei file di quel documento, i suoi tag e di poterli scaricare | ||
+ | |||
+ | utente normale che consulta | ||
+ | {{drawio> | ||
+ | |||
+ | utente operatore che inserisce | ||
+ | {{drawio> | ||
+ | |||
+ | |||
+ | ==== Casi particolari (e non) di utenti ==== | ||
+ | * operatori (personale Galileo che scannerizza/ | ||
+ | * su più realm | ||
+ | * più operazioni | ||
+ | * dipendenti serit (vedono solo i loro documenti) | ||
+ | * sindacalista serit (possono uploadare solo un tipo di documento) | ||
+ | * dipendenti serit (vedono solo una classe di documento) | ||
+ | * dirigenti serit (vede tutto nel real serit e __creano nuovi utenti del realm__) | ||
+ | * dirigenti galileo (vedono tutto di tutti i real e honno abilitate tutte le operazioni) | ||
+ | |||
+ | |||
+ |