Page Group Security API

Hi,
I'm looking for an API, or something, that will allow me to change the access properties of a page or page group. I need to be able to remove access to a page group with a script. Is this possible? I've looked at the documented APIs but do not see one to do this. Maybe I'm overlooking something.
Thanks in advance.

Ok,
As I also mentioned you could use wwsec_api:
* Removes a group's privileges.
* <p>Call this API to perform one of three possible operations:
* <ul>
* <li>If NULL or nothing is passed into the p_privilege parameter,
* then all privileges for the given group, object_type_name,
* and name are removed.
* <li>If a value is passed into p_privilege, the specified privilege is
* removed.
* <li>If group_id is null, the privilege is removed for all groups.
* </ul>
* <p><b>Example:</b>
* <pre>
* wwsec_api.remove_group_acl(
* p_object_type_name => wwsec_api.PAGE_OBJ,
* p_name => '0/156',
* p_group_id => 3,
* p_privilege => wwsec_api.MANAGE_PRIV
* </pre>
* @param p_object_type_name the type of object, e.g., ADMIN, FOLDER,
* ITEM, etc.
* @param p_name the reference to the object
* @param p_group_id the portal's identifier for a group
* @param p_privilege the privilege to be granted. this should
* exist in WWSEC_PRIVILEGE$
* @param p_owner the owner of the ACL entry
* @param p_disable_invalidations controls whether cache invalidations
* are disabled when removing the group ACL
* Removes a specified privilege from a user.
* Removes all privileges for a given user, object_type_name, and name if
* null or if nothing is passed into p_privilege. If p_privilege is
* specified and p_person_id is null, this procedure removes the specified
* privilege for all persons.
* <p><b>Example:</b>
* <pre>
* wwsec_api.remove_user_acl(
* p_object_type_name => wwsec_api.GROUP_OBJ,
* p_name => '0/156',
* p_person_id => 3,
* p_privilege => wwsec_api.MANAGE_PRIV
* </pre>
* @param p_person_id the portal's identifier for a user
* @param p_object_type_name - the type of secured object, referenced by
* the security API constants that end with '_OBJ'. For example,
* wwsec_api.GROUP_OBJ, wwsec_api.PAGE_OBJ, etc.
* @param p_name the reference to the object
* @param p_privilege the privilege to be granted. this should
* exist in WWSEC_PRIVILEGE$
* @param p_owner the owner of the ACL entry, used for avoiding
* namespace collisions
* @param p_disable_invalidations controls whether cache invalidations
* are disabled when setting the user ACL
Hope this helps,
Higor

Similar Messages

  • Page & Page Group Security

    Looking for a fast way to check all the Page & Page Group Security? to see what they are all set to w/o having to go though everything manually.
    Thanks

    Did you ever find a solution to this?

  • Page group security through APIs

    Is there any way that one can set access security at page group level?

    Hi Naxtazzmataur,
    you can use the wwsec_api package which is documented here:
    - http://www.oracle.com/technology/products/ias/portal/html/plsqldoc/pldoc1014/index.html
    Cheers,
    Mick.

  • Post-upgrade ToDo, PI configuration Wizard: com.sap.security.api.DuplicateKeyException Group found, but unique name "SAP_SLD_DATA_SUPPLIER" is not unique!

    after PI-Upgrade to NW-PI-731-SP07,  executing the PI-configuration wizard:
    step 126 of 162
    Assign SLD Data Supplier user to Group SAP_SLD_DATA_SUPPLIER (local SLD)
    Error:
    Group found, but unique name "SAP_SLD_DATA_SUPPLIER" is not unique!
    Execute Java Service
    Library: sap.com/tc~lm~ctc~util~core_ear
    Class: com.sap.ctc.util.core.services.UserFacade
    Method: void com.sap.ctc.util.core.services.UserFacade.addUserToGroup(java.lang.String, java.lang.String)
    Arguments (2)
    userName : SLD_DS_EXE
    groupName : SAP_SLD_DATA_SUPPLIER
    InvokeService- Result: ERROR
    Refresh Env. Messages: false
    Duration: 1.936 sec
    Library Info
    Default Trace
    Exception Class: com.sap.security.api.DuplicateKeyException
    Exception Message: Group found, but unique name "SAP_SLD_DATA_SUPPLIER" is not unique!
    com.sap.security.api.DuplicateKeyException: Group found, but unique name "SAP_SLD_DATA_SUPPLIER" is not unique!
    at com.sap.ctc.util.infra.rfc.BaseConfig.dispatchException(BaseConfig.java:230)
    at com.sap.ctc.util.core.services.impl.ume.java.GroupJavaImpl.verify(GroupJavaImpl.java:121)
    at com.sap.ctc.util.core.services.impl.ume.DualGroupImpl.verify(DualGroupImpl.java:118)
    at com.sap.ctc.util.core.services.content.ume.UserService.addToGroup(UserService.java:725)
    at com.sap.ctc.util.core.services.UserFacade.addUserToGroup(UserFacade.java:288)
    what to do?
    ============
    o.k.
    https://service.sap.com/sap/support/notes/1016283
    first run the UME consistency check => found some inconsistency => did repair UME
    then run again UME consistency check => found no more inconsistency !!
    the again - try to run the PI-Upgrade-Wizard => but again error on executing .....

    see this sap-notes:
    http://service.sap.com/sap/support/notes/1617234
    http://service.sap.com/sap/support/notes/1661135
    http://service.sap.com/sap/support/notes/1678815
    http://service.sap.com/sap/support/notes/1626747

  • Security API help needed / howto list user in group

    Hi there,
    i have tried all example programs of the hyperion security api. hard work to correct the errors in these scripts.
    now i can create native groups an users and can create groups on groups or put users in native groups.
    i have read the java doc / reference for the security api too but its not possible for me to list users of a group (group reference by name).
    is there anybody who can help with a code sample to list users of a group like "testgroup" ?
    something like (...getGroups(context,"testgroup")...) ??
    Best Regards
    Kai

    Please don't cross-post. It is considered very rude to do that here:
    http://forum.java.sun.com/thread.jspa?threadID=5233033&messageID=9953169#9953169

  • Seting page group id via api

    Does anybody know how to set the page group for a page via the API. I've found an update_page proc in the wwv_flow_api package but it doesn't seem to include a parameter for the page group/group id. I'm using Apex 3.2. Thanks for any help.

    Thanks that helpful in some ways, but I want to get the page_id. For example, if I create a page with the name PG_DEPT and the display name "Department Page". I need to know how to get the current PG_DEPT name from the API. Also, I will like to get the current URL from the page (http://portal/pls/portal/page=123).

  • Moving Pages from one Page Group to Another Group

    Hello,
    How do you move pages, styles, or items from one page group to another page group?
    On the same machine, I have three page groups called Production, Acceptance, and Test. Once I set up a page that I like on the page group Test, what is the best way to move the page(and its items, portlets,etc) to the page group Acceptance, and then move it into Production?
    Also, how does security and approvals affect this? There is only limited amount of people that are able to get into the Test Page Group, or Acceptance Page Group. Would any copying process make sure the page approvers be copied across correctly? Or will manual intervention be needed.
    I'm using Oracle Portal Release 2 (9.0.2) running on a solaris machine.
    Much thanks for your assistance.
    Anson

    hi There,
    As far as i know, the pages can only be moved within the page group but not from one page group to another page group.
    Regards,
    Deepak

  • PDEXGroup to set the Page Group ColorSpace

    Hello,
    I'm currently trying to add an Image into a PDF (that's the only content) but as I read on previous threads I'm trying to get a correct rendering when there is an alpha (channel/mask) in my image.
    To do so I first create an Image (PDEImageCreate) then I create the Alpha mask and apply it to the first image (using PDEImageSetSMask).
    The problem is now my image is too dark in "Acrobat Reader" and is correct in Evince. So I guess my problem is Acrobat try to blend in CMYK but my source image is in RGB.
    But I don't really understand how I should/could specify that ? I tried in the Resources of the Page, and then I tried the PDEXGroup, but how can I add my XObject to the PDEXGroup ?
    Am I on the wrong track trying to set the Page ColorSpace ?
    Thanks in advance.

    Following your indication I re-read the paragraph relating to Transparency group. starting with the 11.4.7.
    All of the elements painted directly onto a page—both top-level groups and top-level objects that are not part of any group—shall be treated as if they were contained in a transparency group P
    My main question here is how do I get access to this "group P" ?
    Because I didn't found how, I searched "how to specify a blending" which leads me to paragrap 11.6.3
    11.6.3    Specifying Blending Colour Space and Blend Mode The blending colour space shall be an attribute of the transparency group within which an object is painted; its specification is described in 11.6.6, "Transparency Group XObjects."
    Ok so how to define a Transparency group is in 11.6.6 (still my original question)
    Summarized : a transparency group is a specialized form XObject with a Group entry in its dictionnary. (Group with subtype "/S /Transparency")  Also a Page may have a Group entry (some entries in this dictionnary may be  interpreted differently when in a Page group).
    So (again) I looked at the right paragraph to make a Group 8.10.3, "Group XObjects".
    This paragraph finally describe what the CosObj should look like  I expect it to be something like :
    6 0 obj                                % Form XObject
       << /Type /XObject
          /Subtype /Form
          /FormType 1
          /BBox [ 0 0 1000 1000 ]
          /Group <>      /Matrix [ 1 0 0 1 0 0 ]
          /Resources << /ProcSet [ /PDF ] >>      /Length 58
        >>stream   
    endstream
    endobj
    But alas my main concern is still here, how do I add a PDEImage in a PDEGroup or PDEForm or CosObj and then overwrite the Page content with this new content in order to change the default Blending ColorSpace ?
    You said to use the Cos API but what the Cos Object should look likes when the Color Blend Space is correctly set ?
    Below there is some code sample that I used to get this working.
      1 void func()
      2 {
      3         PDDoc       document;
      4         PDPage      page;
      5         ASFixedRect mediabox;
      6         PDEContent  content;
      7
      8         /* Some or most informations are skipped below for readability but important
      9          * call remains
    10          */
    11
    12         document = PDDocCreate();
    13
    14         page     = PDDocCreatePage(document, PDBeforeFirstPage, mediabox);
    15         content  = PDPageAcquirePDEContent(page, NULL);
    16
    17         /* setup arguments PDEImage */
    18         image    = PDEImageCreate(....);
    19         /* setup arguments for Image mask / alpha channel */
    20         mask     = PDEImageCreate(....);
    21
    22         PDEImageSetMatteArray(mask, ...);
    23         PDEImageSetSMask(image, mask);
    24
    25         CosDoc documentCos = PDDocGetCosDoc(document);
    26         CosObj xobjForm  = CosNewNull();
    27         CosObj resources = CosNewNull();
    28
    29         /*
    30          * Here is the naive version I first tried which as you explained should be
    31          * done using Cos_Layer functions
    32          */
    33 #if defined NAIVE_VERSION
    34
    35         /*
    36          * Doesn't work
    37          */
    38
    39         CosObj imgCos;
    40         PDEImageGetCosObj(img, &imgCos);
    41         PDEXGroup grp_image = PDEXGroupCreateFromCosObj(&imgCos);
    42         PDEXGroupSetColorSpace(grp_image, PDEColorSpaceCreateFromName(ASAtomFromString("DeviceRGB")));
    43
    44         PDEContentAddElem(content, kPDEAfterLast, image);
    45         PDPageSetPDEContent(page, content);
    46
    47 #elif defined SECOND_VERSION
    48
    49         /*
    50          * Doesn't work
    51          */
    52
    53
    54         PDEContentAddElem(content, kPDEAfterLast, image);
    55
    56         PDEForm myf = NULL;
    57
    58         PDEContentAttrs  pdeContentAttrs;
    59         memset(&pdeContentAttrs, 0,  sizeof pdeContentAttrs);
    60         PDEContentGetAttrs(content, &pdeContentAttrs,  sizeof pdeContentAttrs);
    61
    62         PDEContentToCosObj(content, kPDEContentToForm, &pdeContentAttrs,
    63                 sizeof pdeContentAttrs, documentCos, NULL, &xobjForm, &resources);
    64
    65         if (!CosObjEqual(xobjForm, CosNewNull()) && !CosObjEqual(resources,  CosNewNull())) {
    66             /* success retrieving form & resources */
    67
    68             // Put resources into the Form XObject stream dictionary
    69             CosDictPutKeyString(xobjForm, "Resources" , resources);
    70
    71             // Set BBox key for the Form XObject according to the image page
    72             ASFixedRect rectOrigPage;
    73             PDPageGetMediaBox(page, &rectOrigPage);
    74
    75             CosObj BBoxArray = CosNewArray(documentCos, 4,  false);
    76             CosArrayPut(BBoxArray, 0, CosNewInteger(documentCos, false, ASFixedRoundToInt16(rectOrigPage.left)));
    77             CosArrayPut(BBoxArray, 1, CosNewInteger(documentCos, false, ASFixedRoundToInt16(rectOrigPage.bottom)));
    78             CosArrayPut(BBoxArray, 2, CosNewInteger(documentCos, false, ASFixedRoundToInt16(rectOrigPage.right)));
    79             CosArrayPut(BBoxArray, 3, CosNewInteger(documentCos, false, ASFixedRoundToInt16(rectOrigPage.top)));
    80
    81             CosDictPutKeyString(xobjForm,  "BBox" , BBoxArray);
    82
    83             // Set matrix key for the Form XObject
    84             ASFixedMatrix  defaultMatrix;
    85             PDPageGetDefaultMatrix(page, &defaultMatrix);
    86
    87             myf = PDEFormCreateFromCosObj(&xobjForm, &resources, &defaultMatrix);
    88
    89             PDEXGroup trpgroup = PDEXGroupCreate(documentCos, kPDEXGroupTypeTransparency);
    90             PDEXGroupSetColorSpace(trpgroup, PDEColorSpaceCreateFromName(ASAtomFromString("DeviceRGB")));
    91
    92             PDEFormSetXGroup(myf, trpgroup);
    93             PDEContentAddElem(content, kPDEBeforeFirst, (PDEElement) myf);
    94
    95             PDPageSetPDEContent(page, (ASExtension) PDEFormGetContent(myf));
    96         }
    97
    98 #else
    99
    100         /*
    101          * Doesn't work
    102          */
    103
    104         CosObj xobjForm  = (CosObj) CosNewDict(documentCos, false, 1);
    105         CosObj resources = (CosObj) CosNewDict(documentCos, false, 1);
    106
    107         CosDictPutKeyString(xobjForm,  "Type", CosNewName(documentCos, false, ASAtomFromString("XObject")));
    108         CosDictPutKeyString(xobjForm,  "Subtype", CosNewName(documentCos, false, ASAtomFromString("Form")));
    109         CosDictPutKeyString(xobjForm,  "FormType", CosNewInteger(documentCos, false, 1));
    110
    111         CosObj array_bbox = CosNewArray(documentCos, false, 4);
    112         CosArrayPut(array_bbox, 0, CosNewInteger(documentCos, false, 0));
    113         CosArrayPut(array_bbox, 1, CosNewInteger(documentCos, false, 0));
    114         CosArrayPut(array_bbox, 2, CosNewInteger(documentCos, false, width));
    115         CosArrayPut(array_bbox, 3, CosNewInteger(documentCos, false, height));
    116
    117         CosDictPutKeyString(xobjForm,  "BBox", array_bbox);
    118
    119         ASFixedMatrix frmMatrix;
    120         frmMatrix.a = FloatToASFixed(1);
    121         frmMatrix.d = FloatToASFixed(1);
    122         frmMatrix.b = frmMatrix.c = frmMatrix.h = frmMatrix.v = fixedZero;
    123
    124 #endif
    125
    126         PDDocSave(document, ....);
    127
    128 }
    Thanks again for your help.

  • Reporting on Access Rights to Pages/Page Groups

    As all of you probably know it is difficult to get a snap-shot of exactly
    what permissions a user has for pages and other items in portal since
    you have to go to several different places using the interface to "compile"
    them for a user.
    So, we would like to use the security api (wwsec_api), or other appropriate
    api's as needed, to generate a report containing the permissions a user has on various portal pages/items/etc.
    But I'm having a few problems with the security api producing specific permission
    info.
    I just wondered if anybody has some code that can produce the specific permissions a user has on portal pages or, in general, how the security api
    is used.
    TIA, semaphore.

    would be interested too.

  • Purge page group

    Hi,
    I develop an uploader for item in portal with the version 9.0.4 of PL/SQL API.
    Items can be deleted by user. Deleted items cannot be set as active items through the API (expired items can be set as active). I need to re-create deleted items.
    The problem is that deleted (and expired) items are still existing until a purge is performed on the page group.
    I search on the API but I didn't found any function allowing to purge a page group.
    My question is : Is it on the API a function allowing to purge a page group ? Does anyone have a solution ?
    Thanks in advance, Eddy.

    By purging I assume you mean 'clean up' items that are either expired or deleted?
    If so, unfortunately the only way to do this in 9.0.4 and below is through the page group admin UI. For the next release we are planning a new delete item API that (in combination with views that allow to query for items in these states) will let you do this.

  • OAS v10.1.2 Ultra Search - Page Group Missing When Setting Up Portal Data

    Hi,
    We're on version 10.1.2 but in the process of upgrading to 10.1.4.
    In Ultra Search, when I try to set up a Portal Data Source, I can't see all the Page Groups in the portal. Is this somehow related to the ACL for the Page Group ... or individual pages? I can see most but not all, and specifically not the one I want.
    Any suggestions would be great!

    I blundered onto the answer to my issue by trial and error.
    When setting up the root page for a page group, if you wish it to be accessible to Ultra Search to be part of a Portal Data Source, you must ensure that the "Display Page To Public Users" check box is checked. The "Enable Item Level Security" checkbox can also be checked, e.g, they are not mutually exclusive.

  • Duplicate Page Group

    Hello,
    i want to duplicate my page group on the same repository, my oracle portal version is 10.1.4.
    is this doable or not and if so please tell me how?

    It is not possible, you will need to create a new page group.
    If you have plsql knowledge then you can use api to create pages and itens, it would be like copying it.

  • JPDK - Page/Page Group Properties????

    Hi Everyone,
    I'm new to the JPDK, so forgive me if this is a dumb question: I've looked through all the documentation (I think) and samples, and cannot seem to find any API's that deal with retrieving or setting page properties (page description, display name, etc.) or page group properties. Do they exist? I know I can call the PL/SQL API's from Java...or go to the tables directly....but aren't very elegant solutions. This seems like such a basic need for portlet development....am I missing something??
    Confused in California,
    Wayne

    Hi Wayne,
    You can change a page's page group's properties from portal itself.
    When you edit a page (by clicking on the page's "Edit" link), you will see a Page "Properties" link. Here you can change the page name, style, access rights for this page etc. You can also change the Page Group's Properties from here itself.
    As for an API, there is definitely an API which Portal uses to accomplish this, but this API is not exposed for public usage.
    For more information on Portal's PL/SQL Public API's, click on this link:
    http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/plsql/doc/astart.htm
    Thanks,
    Ashish.

  • Page group approval process

    Is there any way that one can set Approvals and Notifications on a page group as 'enabled' through APIs?
    Added to this, is there anyway to set the Approval Routing List through APIs?
    Thanks,
    Nax

    Hi Naxtazzmataur,
    I don't believe you can do that programmatically, this is how you modify a page
    - http://download.oracle.com/docs/cd/B14099_19/portal.1014/b14135/pdg_cm_simple.htm#CIADFIFB
    However if you use the CMEF you could instead use BPEL for your content approvals, that way you have total control over the approval chain.
    - http://www.oracle.com/technology/products/ias/portal/pdf/portal_cmef_bpel_integration_technote.pdf
    Cheers,
    Mick.

  • User and Group Security Provisioning

    Hi,
    I have a question regarding Group security in Planning. I am using EPM system 11. My basic question is, if I create a new Planning user (interactive user with no default access to dimensions), and assign that user to a Planning group, does the user automatically inherit all the dimension access assigned to that Group? From my experience, it seems that I must explicitly assign each User access to the dimensions they should be able to Read or Write, and that simply adding them to a group that has been given Write access to the Expense Account (for example) does not give a newly added user to that Group Write access.
    A quick note - when creating new Users, I first create and provision them in Shared Services. However, in order to be able to log in with them, I must recreate the user in EAS's User Directory. This seems redundant to make a user twice, but is the only way I am able to successful login with new users, otherwise the Planning login page says "failed to sync with user provisioning". I have not done this same procedure for the Groups I have created (i.e. I have made and provisioned the Groups in Shared Services, but not recreated them in EAS). Is it possible that this is why Users aren't inherittiing the access rights of the Group? I can provide more information if needed, any help or comments are appreciated. Thanks in advance.

    user3x3 wrote:
    1) EAS method is to open EAS, then open the Essbase Server Node, right-click on security, and click Externalize Users. When I do this there is no right-click option to externalize the users, and since it can only be done once and then not reversed I assume the previous administrator already did this. Since this is not availalbe, I must use the second method.
    If you log in with an administrator account you should see the "Externalize Users" option even if you have already externalized.
    I take it you did not configure your system, I take it was documented so you could have a look how it was configured.
    If essbase is on a different server than shared services then maybe the essbase server was not registered with the shared services registry when it was configured, that might the reason why you are getting the shared services error when you try to convert to shared services security, basically it doesn't know where shared services is. If that is the case then it will need to be configured again.
    Cheers
    John
    http://john-goodwin.blogspot.com/

Maybe you are looking for

  • How do I do this... rollover effect.

    Hi, I have been doing some layout in Photoshop for a basic website.  I have one .jpg which will be my background.  I have created some thumbnails (filmstrip area), and I want them to highlight as the mouse goes over them.  At the same time I want the

  • Creating objects that contain objects

    What's the best practice for creating an object from a table that contains a list of objects from another table? For example, say I have an employees table: EMPLOYEES id    name 1     Derek Epperson 2     Judy Johnsonand I also have an equipment tabl

  • [JS] CS3 Apply document defaults to insertion point

    Is there any way to apply the document defaults to an insertion point? I have a script that is looping through a whole bunch of text files, formatting them (with thinks like tab stops and indents). The thing is I don't want any of the tab stops, inde

  • Old programs...want to convert aiff to mp3.  Urgent!

    I have a ibook G4 PC processor OS10.4.11.  I have Garage Band v2.0.2 (50) and iTunes 9.  I made an aiff file tonight that I must convert to mp3 by tomorrow.  I thought I could do it, but it's not looking good.  How do I compress this file to an mp3

  • Sim Card not installed message

    I keep repeatedly getting a message that the Sim cardisnt installed- have to open the sim holder and close it every time.. happens 5-10 times daily.. what is causingthis? HELP. My warranty has expired.. so trying to look at all my options and alteran