salve,
la cartella viene creata dinamicamente, dunque non posso dare un ruolo a priori,
cosa posso fare per definire il permesso, ad un utente presente sul sistema, in modo postumo.
Solved! Go to Solution.
Ciao,
Il codice mi sembra corretto (fai solo attenzione ad utilizzare il root-object "space" perchè dipende dal contesto).
Ti direi di controllare che la properties "UFPE:utente" contenga uno nome utente identico (anche nel "case") allo username del tuo utente su alfresco.
PS: per evitare di attribuire a mano i singoli permessi, puoi utilizzare ruoli di più alto livello (Content permissions | Alfresco Documentation )
per esempio:
utente.setPermission("Contributor", <username>);
Non è proprio chiarissimo quello che vuoi fare...
Comunque: hai provato ad usare i gruppi? Quando crei una cartella puoi associare ad uno o più gruppi dei permessi su di essa.
Se il tuo utente è un membro di almeno uno dei gruppi, ne erediterà i permessi.
dunque dovrei creare circa 200 cartelle, ad ogni cartella associare un utente,
gia la cartella la creo dinamicamente, vorrei trovare il modo, sempre dinamico, di associare l'utente.
in pratica in quella cartella deve poter accedere solo lui
Ciao,
Come fai a creare le cartelle in modo dinamico?
Se usi javascript (ma un qualcosa di simile vale anche in java) basta una sola riga di codice in più dopo aver creato il nuovo nodo... qualcosa di simile:
folder.setPermission(<permission>, <authority>)
Ecco il link alla documentazione: setPermission | Alfresco Documentation
Devi anche distattivare l'erediterietà dei permessi sulla cartella per fare in modo che il tuo utente sia l'unico autorizzato ad accedere (setInheritsPermissions | Alfresco Documentation )
PS: ti segnalo che una cosa del genere la fa automaticamente Alfresco quando crei un nuovo utente. Le cartelle create sono quelle personali dell'utente (Repository > User homes > [nome_utente]... te lo segnalo magari può esserti utile se già non ne sei al corrente.
Ciao,
ho una cartella Padre, visibile a tutti con il ruolo di consumatori,
a cui applico questo script:
var utente = space.childByNamePath(document.properties["UFPE:utente"]);
if (utente== null)
{
utente = space.createFolder(document.properties["UFPE:utente"]);
utente.setPermission("Read",document.properties["UFPE:utente"]);
utente.setPermission("Write",document.properties["UFPE:utente"]);
utente.setPermission("Delete",document.properties["UFPE:utente"]);
utente.setInheritsPermissions(false);
}
Risultato:
io amministratore vedo utente, con i permessi settati: roles.write, ecc
l'utente entra nella cartella padre ma non vede niente
Ciao,
Il codice mi sembra corretto (fai solo attenzione ad utilizzare il root-object "space" perchè dipende dal contesto).
Ti direi di controllare che la properties "UFPE:utente" contenga uno nome utente identico (anche nel "case") allo username del tuo utente su alfresco.
PS: per evitare di attribuire a mano i singoli permessi, puoi utilizzare ruoli di più alto livello (Content permissions | Alfresco Documentation )
per esempio:
utente.setPermission("Contributor", <username>);
avevi ragione. il problema sta UFPE:utente che arriva in maiuscolo, invece l'utente è in minuscolo.
arriva in maiscolo perchè nella ricerca avanzata, implementata in share-config-custom.xml, la ricerca e case sensitive,
cosi ho deciso di far arrivare tutti i metadati in mauscolo ed inserito una label che dice di ricercare in mauscolo
ho inserito questo codice,
utente.setPermission("Read",document.properties["UFPE:utente"].toLowerCase());
ora funziona
grazie David
David e Piergiorgio,
riprendo questo post perchè nell'evoluzione del lavoro è nato un altro problema,
in precedenza io arrivavo sulla cartella padre con il profilo di Admin,
ora cofigurando i vari utenti, arrivo sulla carella con un altro profilo, a cui ho dato il ruolo Coordinatore,
ma non mi fa creare la cartella, se assegno all'utente il ruolo ALFRESCO_ADMINISTRATORS, mi fa creare la cartella
cosa posso fare?
Archive content from product discussions in Italian.
This group is now closed and content is read-only.
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.