Rights ID values

Hi all,

THis might be a long post for the setup please bear with me :smiley:
my enviroment is :
BOE 4.1
Windows 2008 r2
.Net 4.0

We are using the .Net SDK/API

we use code the generate folders and groups then set the rights for the groups on the folders.

We have to set the individual rights because applying a custom role is not available via the .Net api :hb: ( Thanks SAP for leaving this feature out).

To get the rights ID I set up a dummy users and set rights to a Folder and to WEBI content for the folder then used the API to Dump out the ID and description for the rights ( I thought this was straight forward) as the Documentation does not have the information for the various rights ( well at least the 4.0 docs as there is still yet to be docs for the 4.1 .Net API :wah: )

So I took the ID values and setup an enum Set for the Rights

<VB.Net code>( ya I know I will convert it to C# once I get this issue figured out. This was origianlly a POC that got rolled to Prod :blue: )


 Public Enum BORights
        'Add Objects to Folder
        AddObjects = 1
        'View Objects
        ViewObjects = 3
        'Edit Objects
        EditObjects = 6
        'Modify the rights users have to objects
        ModifyRights = 8
        'Schedule document to run
        SchedDocs = 21
        'Delete objects
        DeleteObjects = 22
        'Define server groups to process jobs
        DefineServer = 23
        'Delete instances
        DeleteInstance = 38
        'Copy objects to another folder
        CopyObjects = 61
        'Schedule to destinations
        SchedDest = 62
        'View document instances
        ViewInst = 65
        'Pause and Resume document instances
        PauseInst = 66
        'Comment on documents
        CommentDoc = 67
        'View comments on documents
        ViewComment = 68
        'Securely modify rights users have to objects. |
        ModRightsObjs = 73
        'Reschedule instances |
        ReschedInst = 75
        'Schedule on behalf of other users |
        Sched4Other = 76
        'Replicate content |
        ReplicateCont = 81
        'Securely modify right inheritance settings |
        ModInherit = 82
        'Use access level for security assignment |
        UseAccess = 83
        'Translate objects |
        TranObj = 89
        'Download files associated with the object |
        DLObj = 90
        'Allow discussion threads
        DiscussionThread = 17236040
        'Refresh the report's data |
        RefreshData = 22020099
        'Edit Query |
        EditQuery = 22020101
        'Refresh List of Values |
        RefeshLOV = 22020102
        'Use Lists of Values |
        UseLOV = 22020103
        'Save as Excel or Text |
        SaveXLS = 22020105
        'Save as PDF |
        SavePDF = 22020106
        'Save as CSV |
        SaveCSV = 22020107
        'Export the report's data |
        ExportData = 22020156
        'Print Documents
        PrintDoc = 20578313
        'Drill Through	
        DrillThru = 20578317
        'Edit Scope of Analysis	
        EditScope = 20578318
        'Work in Drill Mode	
        WorkDrill = 20578319
        'Work in Slice-and-Dice Mode	
        WorkSlice = 20578320
        'Add objects to folders that the user owns |
        AddObj = 536870913
        'View objects that the user owns |
        ViewOwnerObj = 536870915
        'Edit objects that the user owns |
        EditOwnerObj = 536870918
        'Modify the rights users have to objects that the user owns |
        ModRightsObjOwner = 536870920
        'Schedule document that the user owns to run |
        SchedOwnerDoc = 536870933
        'Delete objects that the user owns |
        DelOwnerObj = 536870934
        'Define server groups to process jobs for objects that the user owns |
        DefineServOwner = 536870935
        ' Delete instances that the user owns |
        DelOwnerInst = 536870950
        'Copy objects that the user owns to another folder |
        CopyOwenerObj = 536870973
        'Schedule objects that the user owns to destinations |
        SchedOwnerObj = 536870974
        'View document instances that the user owns |
        ViewOwnerInst = 536870977
        'Pause and Resume document instances that the user owns |
        PauseOwnerInst = 536870978
        'Securely modify rights users have to objects that the user owns. |
        ModRightsObjOwner2 = 536870985
        'Reschedule instances that the user owns |
        ReschedOwnerInst = 536870987
        'Schedule on behalf of other users that the user owns |
        SchedOtherOwner = 536870988
        'Replicate content that the user owns |
        ReplicateContOwner = 536870993
        'Securely modify right inheritance settings for objects that the user owns |
        ModInstRightsOwner = 536870994
        'Use access level that user owns for security assignment |
        UseAccessOwner = 536870995
        'Translate objects owned by the user |
        TransOwnerObj = 536871001
        'Download files associated with the object that the user owns |
        DLOwnerObj = 536871002
        'Refresh the report's data |
        RefreshData2 = 558891011
        'Edit Query |
        EditQuery2 = 558891013
        'Refresh List of Values |
        RefreshLOV2 = 558891014
        'Use Lists of Values |
        UseLOV2 = 558891015
        'Save as Excel or Text |
        SaveXLS2 = 558891017
        'Save as PDF |
        SavePDF2 = 558891018
        'Save as CSV |
        SaveCSV2 = 558891019
        'Export the report's data |
        ExportData2 = 558891068

    End Enum

I then have code that goes and set the rights to true or false for the individual rights for a group on a folder.

The issue we are seeing is that with one of the group type ( we call it Institution general create). The users can enter a search value in the BI Launch pad but do not get results. This is not an issue with other group types.

Does anyone know what Right ID affects the search option in the BI Launch Pad ?

Thanks for bearing with me and any suggestions would be greatly welcome.

Jon Roberts


JonnySpec :us: (BOB member since 2008-08-01)

Can you replicate the problem when you apply the security manually (that is, in CMC vs. with your program)?


joepeters :us: (BOB member since 2002-08-29)

I have not attempted this as of yet… One of the funky things I am see in the CMC is when Ilook at the rights In CMC after setting via my application is entries that show unknown right.

I will attempt via the CMC, I have a bad feeling that is may be one of the Unknown right items that is causing the issue.

Even stranger is the ID and descriptions came from a user that i set granted for allthe standard rights.

That I extracted the values via the API.

I am starting to wonder if rights ID are different for a Group compared to a User set for a folder.


JonnySpec :us: (BOB member since 2008-08-01)

I think there’s something screwy with the way you’re assigning the rights by ID. In Java, I would use ISecurityInfo2.getKnownRightsByPlugin() to get an authoritative list of right IDs for the particular object. I assume there’s a equal method in .NET.


joepeters :us: (BOB member since 2002-08-29)

I worked around the Issue of using cusotm roles by using the Web services SDK to apply the customroles to the Groups.

Round about way to do it but it got it done.

My only concern now is when the .Net API goes away totally what are we todo when they do not have a webservice that allows use to do some of the stuff we do now.


JonnySpec :us: (BOB member since 2008-08-01)

Java :slight_smile:

(though I’m afraid that’s going to go away at some point, in favor of REST)


joepeters :us: (BOB member since 2002-08-29)

Ya Java may be going away faster now that Microsoft has jumped on the the no support Java in browser band wagon…


JonnySpec :us: (BOB member since 2008-08-01)