KB: "Applica alle sottocartelle" non propaga le autorizzazioni delle cartelle
Dettagli della soluzione
Le autorizzazioni della cartella padre non vengono propagate nella gerarchia
Quando gestiscono le autorizzazioni delle cartelle dal pannello Explorer in Altium Designer, gli utenti possono tentare di propagare le autorizzazioni da una cartella padre abilitando Apply to Children. Tuttavia, le autorizzazioni configurate nella cartella padre potrebbero non essere applicate alle cartelle figlie e agli elementi gestiti come previsto. Ciò accade perché l'opzione Apply to Children in Altium Designer è obsoleta e non esegue la propagazione delle autorizzazioni richiesta.
Inoltre, dopo aver utilizzato Enforce inheritance for all child items nell'interfaccia web di Altium 365, le cartelle figlie potrebbero continuare a mostrare utenti, gruppi o autorizzazioni non configurati direttamente nella cartella padre. Questo comportamento è previsto, perché le autorizzazioni ereditate vengono aggiunte alle autorizzazioni esistenti delle cartelle figlie anziché sostituirle.
L'ereditarietà additiva non sincronizza le autorizzazioni
L'ereditarietà delle autorizzazioni di Altium 365 non sostituisce l'intero insieme di autorizzazioni di una cartella figlia o di un elemento con quello della relativa cartella padre.
L'ereditarietà delle autorizzazioni è invece additiva:
Effective Child Permissions = Inherited Parent Permissions + Existing Additional Child Permissions
Ad esempio:
Parent Folder
- Ingegneri meccanici – Può modificare
- Revisori – Può modificare
Child Folder Before Inheritance
- Ingegneri – Può visualizzare
Dopo l'abilitazione dell'ereditarietà, le autorizzazioni effettive della cartella figlia possono includere:
- Ingegneri meccanici – ereditata dalla cartella padre
- Revisori – ereditata dalla cartella padre
- Ingegneri – autorizzazione aggiuntiva esistente mantenuta nella cartella figlia
L'autorizzazione Engineers esistente viene mantenuta anziché rimossa.
L'insieme di autorizzazioni della cartella padre viene trasmesso ai discendenti anziché sostituire i loro insiemi di autorizzazioni esistenti. Eventuali autorizzazioni estese già presenti in una sottocartella o in un elemento gestito vengono mantenute.
Pertanto: Permission inheritance should not be interpreted as permission synchronization.
Una cartella figlia o un elemento può avere più autorizzazioni della relativa cartella padre.
Anche la documentazione ufficiale di Altium specifica che le autorizzazioni aggiuntive introdotte a un livello inferiore della gerarchia continuano a essere ereditate ai livelli successivi senza influire sulle autorizzazioni esistenti.
Restrizioni di condivisione controllate dall'ereditarietà
Utilizzare le funzionalità supportate per applicare l'ereditarietà
- Non utilizzare Apply to Children nel pannello Explorer di Altium Designer come metodo principale per propagare le autorizzazioni.
- Utilizzare Enforce inheritance for all child items dall'interfaccia web di Altium 365.
- Tenere presente che l'ereditarietà delle autorizzazioni è additiva e non produce necessariamente insiemi di autorizzazioni identici per la cartella padre e le cartelle figlie.
- Se sono richieste configurazioni di autorizzazione identiche per la cartella padre e le cartelle figlie, utilizzare la procedura alternativa descritta più avanti in questo articolo.
La funzionalità supportata è accessibile da:
- Folder » Share Folder » Advanced Settings
- Admin » Explorer » Folder Sharing » Advanced Settings
Il comando è disponibile per Workspace Administrators e agisce sulle cartelle.
Abilita Inherit parent folder permissions per tutti i discendenti della cartella selezionata, inclusi figli, nipoti, pronipoti e livelli successivi della gerarchia.
How “Enforce Inheritance for All Child Items” Works
Il comando Enforce inheritance for all child items non copia l'elenco delle autorizzazioni di una cartella padre sovrascrivendo gli elenchi delle autorizzazioni di tutti i discendenti.
Il comando abilita invece:
Inherit parent folder permissions
per le cartelle e gli elementi nell'intera gerarchia dei discendenti.
Il normale meccanismo di ereditarietà delle autorizzazioni fa quindi sì che ogni oggetto figlio erediti le autorizzazioni dal proprio padre. La funzionalità non avvia un processo di sostituzione delle autorizzazioni.
Ad esempio:
Parent Folder
- Ingegneri meccanici
- Revisori
Child Folder Before Inheritance
- Ingegneri
Dopo l'esecuzione di Enforce inheritance for all child items:
Child Folder
- Ingegneri meccanici – ereditata
- Revisori – ereditata
- Ingegneri – autorizzazione esistente mantenuta
Pertanto:
Parent:
Ingegneri meccanici + Revisori
Child Before Inheritance:
Ingegneri
Child After Inheritance:
Ingegneri meccanici + Revisori + Ingegneri
Questo è il risultato previsto.
La presenza di Engineers nella cartella figlia non significa che l'ereditarietà delle autorizzazioni non abbia funzionato.
Passaggi per ripristinare e gestire l'ereditarietà delle autorizzazioni
Method 1 – From Projects
- Accedere a Altium 365 Workspace Web Interface.
- Aprire Projects.
- Selezionare la cartella padre desiderata.
- Fare clic su Share.
- Aprire Advanced Settings.
- Selezionare Enforce inheritance for all child items.
- Confermare l'operazione.
Il comando abilita l'ereditarietà delle autorizzazioni per tutti i discendenti della cartella selezionata.
Method 2 – From Admin » Explorer
- Accedere a Altium 365 Workspace Web Interface.
- Passare a Admin » Explorer.
- Selezionare la cartella padre desiderata.
- Aprire le impostazioni di condivisione della cartella.
- Selezionare Advanced Settings.
- Fare clic su Enforce inheritance for all child items.
- Confermare l'operazione.
Expected Results
- Inherit parent folder permissions viene abilitata nell'intera gerarchia dei discendenti interessati.
- Le autorizzazioni della cartella padre vengono ereditate dalle cartelle discendenti e dagli elementi gestiti.
- L'ereditarietà delle autorizzazioni opera in modo ricorsivo su figli, nipoti, pronipoti e livelli successivi della gerarchia.
- Le autorizzazioni aggiuntive esistenti assegnate alle cartelle figlie o agli elementi vengono mantenute.
- Gli insiemi di autorizzazioni delle cartelle figlie non diventano necessariamente identici a quello della cartella padre.
- Le cartelle discendenti ereditano almeno le autorizzazioni della cartella padre, mantenendo eventuali autorizzazioni aggiuntive già assegnate.
- Gli utenti che dispongono dell'accesso tramite la struttura delle autorizzazioni della cartella padre ricevono il corrispondente accesso ereditato ai contenuti discendenti.
La funzionalità è destinata a ripristinare o applicare l'ereditarietà, non a sincronizzare o sostituire l'intera configurazione delle autorizzazioni di ogni oggetto discendente.
Alternative Method to Apply the Exact Parent Folder Permissions to Child Folders
Se è necessario che le cartelle figlie abbiano esattamente le stesse autorizzazioni della cartella padre, anziché mantenere le autorizzazioni precedentemente assegnate direttamente alle cartelle figlie, il meccanismo standard di ereditarietà delle autorizzazioni non offre da solo questo comportamento.
Il comando Enforce inheritance for all child items abilita l'ereditarietà delle autorizzazioni nell'intera gerarchia, ma l'ereditarietà è additiva.
Pertanto, le autorizzazioni già assegnate a una cartella figlia che non sono presenti nella cartella padre vengono mantenute.
Ad esempio:
Parent Folder Permissions
- Ingegneri meccanici
- Revisori
Child Folder Existing Permissions
- Ingegneri
Dopo aver utilizzato Enforce inheritance for all child items, la cartella figlia può contenere:
- Ingegneri meccanici
- Revisori
- Ingegneri
Se il risultato richiesto è:
Parent Folder
- Ingegneri meccanici
- Revisori
Child Folder
- Ingegneri meccanici
- Revisori
senza più l'autorizzazione Engineers precedentemente assegnata, è possibile utilizzare il seguente metodo alternativo.
- Assicurarsi che, per ogni cartella figlia interessata, l'impostazione avanzata Inherit permissions from parent folder sia abilitata.
- Creare una Alternate Parent Folder con le stesse autorizzazioni attualmente assegnate alle cartelle figlie interessate.
- Spostare le cartelle figlie interessate all'interno della Alternate Parent Folder appena creata.
- Verificare che le cartelle figlie ereditino correttamente le autorizzazioni dalla cartella padre alternativa.
- Modificare le autorizzazioni della Alternate Parent Folder in modo che corrispondano esattamente alle autorizzazioni desiderate della cartella padre originale.
- Verificare che le cartelle figlie interessate abbiano ora la configurazione di autorizzazioni richiesta e che le autorizzazioni previste vengano propagate nell'intera gerarchia interessata.
- Riportare le cartelle figlie interessate all'interno della cartella padre originale, assicurandosi che Inherit permissions from parent folder rimanga abilitata.
Note aggiuntive
- Apply to Children in Altium Designer rimane obsoleta e attualmente non esegue la propagazione delle autorizzazioni prevista.
- La procedura alternativa non corregge né ripristina la funzionalità Apply to Children.
- La procedura alternativa offre un metodo per ottenere la configurazione delle autorizzazioni che gli utenti potevano in precedenza aspettarsi da Apply to Children, quando è richiesta una corrispondenza esatta tra le autorizzazioni della cartella padre e quelle delle cartelle figlie.
- Metodo attualmente consigliato: interfaccia web di Altium 365 → Enforce inheritance for all child items.