This script loops through all Items ( Projects, Folders, and Modules ) below the current folder or project, and reports on Access Rights. It does not attempt to open Modules and get any Access Right information from inside the Modules. You can add your own checks for the specific Access Rights you are looking for, and update the output of the script accordingly. Output is to the DXL interaction window.
// Report Access Rights on All Items /* This script loops through all Items ( Projects, Folders, and Modules ) below the current folder or project, and reports on Access Rights. It does not attempt to open Modules and get any Access Right information from inside the Modules. You can add your own checks for the specific Access Rights you are looking for, and update the output of the script accordingly. Tony Goodman. */ void recurseFolders( Item parentItem ) { string itemType = type( parentItem ) if ( ( itemType == "Folder" ) || ( itemType == "Project" ) ) { Item childItem for childItem in folder( parentItem ) do { recurseFolders( childItem ) } } print itemType ":\t" print fullName( parentItem ) "\t" uniqueID( parentItem ) "\n" AccessRec ar for ar in all parentItem do { if ( isDefault( ar ) ) { print "\tDefault" } else { print "\t" username( ar ) } print " (" string r = ((read ar) ? "R" : "") string m = ((modify ar) ? "M" : "") string c = ((create ar) ? "C" : "") string d = ((delete ar) ? "D" : "") string a = ((control ar) ? "A" : "") string accessStr = r m c d a "" if ( null accessStr ) accessStr = "None" print accessStr print ")" print "\n" } } recurseFolders(item(fullName current Folder))