Access PCD Roles in order to analyze all used entry points

Hi Experts,
I'm facing the situation that we have to report to the customer's management the currently used entry points in our portal implementation. The results of this reports will be used for the further analysis of a future navigation and role concept.
So instead of opening every portal role in the portal content studio I'd prefer an automated approach via portal services. After having read dozens of pcd whitepapers and how to guides, my portal service is able to lookup a specified pcd-folder and search for roles.
The issue that I need to get solved is the following:
It is actually no problem to get via IPcdContext the Attribute, if the role itself is defined as entry point.
What makes it complicated is the fact, that we use a folder underneath the portal role as entry points due to naming and content creation conventions on the customer's site.
DirContext dirCtx;
InitialContext ctx = getInitialContextAspectPersistency();
dirCtx = (DirContext) ctx.lookup("pcd:portal_content/testfolder/");
PcdSearchControls pcdSearchControls = new PcdSearchControls();
pcdSearchControls.setReturningObjFlag(false);
pcdSearchControls.setSearchScope(3);
dirCtx.addToEnvironment(Constants.APPLY_ASPECT_TO_CONTEXTS,Constants.APPLY_ASPECT_TO_CONTEXTS);
NamingEnumeration ne = dirCtx.search("","(com.sap.portal.pcd.gl.ObjectClass=com.sapportals.portal.role)", pcdSearchControls);          
while (ne.hasMoreElements()) {
try{
IPcdSearchResult sR =     (IPcdSearchResult) ne.nextElement();
String location = "pcd:portal_content/testfolder/" + sR.getName();
IPcdContext result = (IPcdContext)ctx.lookup(location);
String entryPoint = result.getAttributes("").get("com.sap.portal.pcd.role.EntryPoint").get().toString();
So what I need is the possibility to iterate through the children of a portal role in order to investigate if it's an entry point or not and in case it is, render the display name of the current child.
Has somebody an idea. Every hint is welcome.
Best regards in advance,
Otto

Hi Otto,
You use the following environment:
env.put(com.sap.portal.directory.Constants.REQUESTED_ASPECT, PcmConstants.ASPECT_SEMANTICS);
This means when you lookup you will get a semantic object and not PCDContext.
So in order to cast to semantic role you will need to do the following casting:
import com.sapportals.portal.pcd.pcm.roles.IPortalRole;
IPortalRole portalCtx = (IPortalRole) ctx.lookup((String) roleList.get(i));
If you need the PCDContext you will need to use the following aspect:
env.put(Constants.REQUESTED_ASPECT, IPcdAttribute.PERSISTENCY_ASPECT);
For more information you can read in:
http://help.sap.com/saphelp_nw70/helpdata/DE/44/726396278212d0e10000000a422035/frameset.htm
Hope this was helpful.
Assaf Klieger
Installed Base Development
NetWeaver Portal Platform
SAP Labs Israel

Similar Messages

  • Firefox 16 freezes for 1 minute when accessing certain webpages, I think they're all using Flash

    I installed Firefox 16.0.1 yesterday. I was running 15 earlier in the day and it was fine. FF 16 however has suddenly started hanging for about a minute when I try to access certain websites. It unfreezes fine after that minute, no crashes or anything, but it's very irritating. From what I can tell it only seems to do it on pages that use Flash. I've got the latest version installed, and it's made no difference. I tried downgrading to FF 15 and it's still the same. Anyone know what's going on?
    Thanks,
    Mark

    Did you try to disable protected mode in the Flash player?
    You can check for problems caused by recent Flash updates and try these:
    *disable a possible RealPlayer Browser Record Plugin extension for Firefox and update the RealPlayer if installed
    *disable protected mode in Flash 11.3 and later
    *disable hardware acceleration in the Flash plugin
    *http://kb.mozillazine.org/Flash#Flash_Player_11.3_Protected_Mode_-_Windows

  • Determine Sales Order change (ECC6.0 using Enhancement-point)

    Hi all,
    I want to determine Sales Order change e.g. if any item added to sales order or any item deleted fron sales order and also if Sales Order is deleted .... how can I achive this???
    I am using ECC6.0 , in which I am using Include          MV45AFZZ and FORM USEREXIT_SAVE_DOCUMENT to determine change at SAVE. The table XVBAK and structure VBAP is available but from this I am not able to determine the change.
    How to do this..?
    Regards,
    NiLesH.

    Hi Nilesh,
    Please see USEREXIT_SAVE_DOCUMENT_PREPARE instead of the one you are using in the Include MV45AFZZ.
    SAP comments this customer form as:
    * This userexit can be used for changes or checks, before
    * a document is saved.                                           
    * If field T180-TRTYP contents 'H', the document will be  
    * created, else it will be changed. This form is called at the
    * beginning of form BELEG_SICHERN
    For the deletion, try to code your check in the form USEREXIT_DELETE_DOCUMENT in the Include MV45AFZZ provided for the customers.
    I feel these would be more suited for your requirement.
    Cheers,
    Sougata.
    You can use tables CDHDR/CDPOS for change documents but on a large scale reporting this would be very slow.
    Alternatively, for performance reasons, you can use the form USEREXIT_READ_DOCUMENT to capture the sales order at its original state (in an internal table) then use form USEREXIT_CHECK_VBAP for any changes made while in the sales order create. Then in USEREXIT_SAVE_DOCUMENT, compare the previous and current condition values. If any changes exist, insert a row in a custom table with the change information. At the end you can base your report on your custom table rather than change document tables which will be slow on processing large volume of data.
    Note: Go the user-exit way only if you are dealing with high volume of data
    Edited by: Sougata Chatterjee on Jan 1, 2008 11:38 PM
    Added after considering Ranjith's post

  • V6 locks up 1m at a time when browsing all week, now it won't load at all: (procedure entry point sqlite_libversion_number_IP could not be located in the dynamic link library mozqlite3.dll.

    When you try to load Firefox 6.0 the following error message is thrown and browser will not load:
    The procedure entry point sqlite_libversion_number_IP could not be located in the dynamic link library mozqlite3.dll.

    "The procedure entry point QTCF_CRUniCharGetUnicodePropertyDataForPlane could not be located in the dynamic link libray QTCF.dll."
    That one is usually caused by a misplaced older version of QTCF.dll.
    If you've got a 32-bit vista, first look to see if there's a copy of QTCF.dll lurking in your C:\Windows\system32\ folder. If you find one there, drag it out onto the desktop.
    If you've got a 64-bit vista, first look to see if there's a copy of QTCF.dll lurking in your C:\Windows\sysWOW64\ folder. If you find one there, drag it out onto the desktop.
    Now try launching iTunes again. Does it launch properly this time?

  • How can I fetch all the PCD roles from EP!

    Hello,
    I need to fetch all the available pcd roles in EP. Right now I am trying to fetch pcd roles under Portal Content directory. I need a clarification whether this is the only place the pcd roles are available or is there any other location where rest of the pcd roles are available?
    Thanks in advance,
    Prashanth V Swamy

    Hi Prasanth,
    See the code below to retrieve all the pcd roles.
    public List getPCDContents(IPortalComponentRequest request) throws Exception{
                   try{
                        Hashtable env = new Hashtable();
                        env.put(IPcdContext.SECURITY_PRINCIPAL, request.getUser());
                        env.put(Context.INITIAL_CONTEXT_FACTORY,IPcdContext.PCD_INITIAL_CONTEXT_FACTORY);
                        env.put(com.sap.portal.directory.Constants.REQUESTED_ASPECT, PcmConstants.ASPECT_SEMANTICS);
                        InitialContext ctx = null;
                        DirContext dirCtx;
                        List roleList = null;
                        ctx = new InitialContext(env);
                        dirCtx = (DirContext) ctx.lookup("pcd:portal_content/");
                        PcdSearchControls pcdSearchControls = new PcdSearchControls();
                        pcdSearchControls.setReturningObjFlag(false);
                        pcdSearchControls.setSearchScope(
                             PcdSearchControls.SUBTREE_WITH_UNIT_ROOTS_SCOPE);
                        dirCtx.addToEnvironment(
                             Constants.APPLY_ASPECT_TO_CONTEXTS,
                             Constants.APPLY_ASPECT_TO_CONTEXTS);
                        NamingEnumeration ne =
                             dirCtx.search("","(com.sap.portal.pcd.gl.ObjectClass=com.sapportals.portal.role)",
                                  pcdSearchControls);
                        iViewList = new ArrayList();
                        while (ne.hasMoreElements()) {
                             IPcdSearchResult searchResult =
                                  (IPcdSearchResult) ne.nextElement();
                             String location = "pcd:portal_content/" + searchResult.getName();
                             //Get the full pcd path of the iview.
                             roleList.add(location);
                        return iViewList;
                   }catch(Exception e ){
                        throw new Exception(e);
    Hope it helps.
    Regards,
    Karthick

  • I have a MacBook Pro and I need to be able to access Internet Explorer in order to login to my work server (Microsoft server) and Online Business Banking system. How do I do it if Internet Explorer is not supported on Macs?

    I have a MacBook Pro and I need to be able to access Internet Explorer in order to login to my remote work server (Microsoft server) and Online Business Banking system (Bank of America Cash Pro). How do I do it if Internet Explorer is not supported on Macs?  Is there another option? Please help. 
    I also feel like such a moron as I am really new to Apple computers and don't even know what operating system I am using.  The below is what I have. Sorry to all that are well beyond me in the Mac world.  Have been a windows user for my whole life and haven't quite figured out where to find everything I need on my new laptop yet.  Thanks!
    With the following configuration:
    PROCESSOR     065-0154     2.7GHz Dual-core Intel Core i7
    MEMORY     065-0156     8GB 1333MHz DDR3 SDRAM - 2x4GB
    HARD DRIVE     065-0159     750GB Serial ATA Drive @ 5400
    OPTICAL DRIVE     065-0161     8x Double-Layer SuperDrive
    DVI Adapter     065-0162     None
    VGA Adapter     065-0164     None
    REMOTE     065-0166     None
    Apple Software - iWork     065-7672     No iWork preinstalled
    Apple Software - Final Cut Exp     065-7682     Final Cut Express preinstalled
    Apple Software - Aperture     065-0338     Aperture preinstalled
    Apple Software - Logic Express     065-7675     No Logic Express Preinstalled
    Apple Software - Filemaker     065-8307     No FileMaker Preinstalled
    Apple Software - MS Office     065-0278     MSO-HOME & BUSINESS EDITION
    KEYBOARD AND DOCUMENTATION     065-0172     Keyboard/Users Guide
    COUNTRY KIT     065-0175     Country Kit

    If you are New to Mac... you may also find these links of Value
    Mac 101
    http://www.apple.com/support/mac101/
    http://www.apple.com/support/switch101/     Switching from PC
    MBP Support
    http://www.apple.com/support/macbookpro
    Cheers,

  • Access Enforcer Role Import - Reaffirm period

    Hello
    What does the following terms mean;
    last reaffirm
    reaffirmperiod
    We current upload roles into AE, with last reaffirm as current date, and reaffirmperiod of 60 which means 5 years.
    Can someone please explain what these terms mean, because many roles have reaffirm periods that end in 2010.
    Thanks

    Hi Prakas,
    Reaffirm period ( in months ) is the duration after which you would like the Approver of the Role ( Role Owner /Role Approver ) to get notified on which all user in SAP has access to that Role and Does he want to continue giving that role to them or wants to remove that Role from all of them or any one of them .
    He would get the details on which Role requires Reaffrim at following location :
    In AE 5.2 ;  login with Role approver id ( eg ABC )  into AE .
    In tab Access Enforcer > Reaffirm .
    A list of All the roles of which ABC is apporver and which require re-affrim would display here.
    ABC can now take approriate action by selecting the role name.
    *Last reaffrim * is the date when the Role was Reaffrim /revisited/reassgined last.
    In your scenario you have given Reaffrim period = 60 which means your Role Owner would get the Role in his Reaffrim inbox after 5 years .
    This is not best practise . For security reason , SAP advices to keep the Reaffrim period to a maximum of 2 months.
    I hope this answers your query .
    Thanks
    Jasmine

  • Integrate IdM roles with Sun Access Manager roles

    Hi all,
    I am currently working on a solution involving Sun Identity Manager 7.1 and Sun Access Manager 7.1 as well. We use AM for overall authentication and SSO across the application, and IdM for user provisioning.
    I need to create roles in Identity Manager, and I would like that when I assign a role to a user in Identity Manager, he gets the same role in my Access Manager repository (Sun LDAP). Identity Manager does provide a way to set attribute values in resources when a role is set. Access Manager on the other hand has both dynamic roles, based on an LDAP search, and static roles.
    What are the important differences between static and dynamic roles in AM?
    Does anybody know a good way to propagate roles from Identity Manager to Access Manager?
    Thanks.

    I found answers to my question. I succeeded in setting the Access Manager role from Identity Manager using the nsRoleDN attribute. Here are some references to begin with:
    About directory server roles:
    http://docs.sun.com/app/docs/doc/820-2493/fvbrn?a=view
    Forum thread reference:
    http://forums.sun.com/thread.jspa?threadID=5208694
    Here are roughly the steps I followed to get this working.
    Access Manager roles setup:
    1. In Access Manager, create a new static role named test_role under the identities realm (in Subjects > Role).
    Identity Manager roles setup:
    1. Create a new role in Identity Manager: tab Roles, click New....
    2. Assign the LDAP resource to synchronize the role with.
    3. On the Assigned Resources line, click the Set Attributes Values button. This shows up the attributes listing allowing you to bind your IdM role to your LDAP repository.
    4. Set the attribute nsRoleDN to the LDAP DN of the role that was created in AM (nsRoleDN must be added in the resource attributes mapping before).
    * In the column Value override, select Text.
    * In the column How to set, select Authoritative merge with value, clear existing. (* See IDM Admin guide about this setting, I am still not sure how it reacts with multi-value attributes)
    * In the text box, enter the role DN text (ex: cn=test_role,dc=com).
    5. Save the role. You can now add the role to a user.

  • Access Enforcer - Role Reaffirmation

    Hi,
    Access Enforcer offers a role <-> user assignment reaffirmation after a defined period.
    My question is, what happens if using the Remove or Hold button in the Role Reaffirm menu entry.
    I tried removing the access, but all that happens is the user entry is marked as "Remove".
    Should an automatic Request for the role removal be triggered or what's the purpose of these two options?
    Thanks,
    Daniela

    I answered the question myself.
    Hold will keep the role in the queue to reaffirm.
    Remove will automatically remove the role from the user once all user-role assignments have either been affirmed or removed.

  • Access weblogic roles from external application

    Hi all. In my scenario, the user and roles are stored in the WebLogic server. Then, there is an external application (not deployed on this WebLogic server) which needs to access these users/roles. Can someone tell me if there is an API provided by WebLogic through which the external application can access them? A sample code/documentation link for this would be icing on the cake.
    Thanks for reading this post.
    Vishal Singh.

    The embedded LDAP server that comes with WLS is not intended to be used by other applications and scale up to a large amount of users. Oracle recommends using an enterprise class identity management solution for use cases like that such as Oracle Internet Directory or Oracle Directory Server Enterprise Edition.
    However, if you want to see how to embedded LDAP, this link shows you how to use a standard LDAP browser:
    http://download.oracle.com/docs/cd/E14571_01/web.1111/e13707/ldap.htm#i1102166
    So by using a Java LDAP api with the settings as described in the docs, your external app may be able to access users/roles.
    I think you can find WLST examples for that somewhere too.

  • I want to use my Time Capsule as a central 'hub/hard-drive' in order to keep all my working files in one place. I then plan to use my laptops/desktops as peripheral devices for editing and creation of these files. Is it possible? Create a personal cloud?

    I want to use my Time Capsule as a central 'hub/hard-drive' in order to keep all my working files in one place. I then plan to use my laptops/desktops as peripheral devices for editing and creation of these files. Is it possible? To create a personal cloud?
    Can someone advise as to whether i can do the following:
                                Future Internet connection -------------------TIME CAPSULE (containing all files) -------------- Backed up on the WD 2T Hard-drive I have
                                      (not connected yet)                                         I                                                          (*connected to timecapsule physically)
                                                                                                            I
                    I                                         I                                                I                                                              I                                                I
          Macbook Pro                             iMac                                       HP (PC)                                             OLD Macbook Pro                         iPhone
    (used for remote working)       (Used for home working)     (used for heavy CAD and rendering)    (not being used for anything at the moment)        (& iPods)
    I am looking to have all my files in one place as i am hopelessly disorganised. I know the online clouds are a good solution (used Dropbox at work and uni for 3 years) however i am wanting to create my own 'dropbox/icloud' at home. So whenever i get back home with my laptop, any work i have been working on whilst out that day is updated to the timecapsule, and then ultimately as i turn on the other devices, they update to those newer versions of the files. Please tell me that the 3TB time capsule i have can do this, otherwise it feels rather overpriced as a wireless storage device?
    Another note (to those in the know) If i am to be working on large files (REVIT/SOLIDWORKS/KEYSHOT/CREO/AUTOCAD) - is the timecapsule connection good enough to support editing and updating these files?
    I know i may be asking a question that many have before, but as a bit of a technical novice I wanted a clear-cut answer to my specific circumstances. Your help is greatly appreciated.
    (*can i use this WD hard-drive that is connected to the Time Capsule as a back up? so that the time machine back-ups/any back ups are also backed up onto this one? can the WD be a backup for the TC?)
    Kind Regards
    Joe

    The diagram was supposed to look more like this......
    Internet ---------TIME CAPSULE(containing all files) --------WD 2T Harddrive
                                                I
         I                           I                          I                            I                                   I
    Macbook Pro         iMac                 HP (PC)            OLD Macbook Pro           iPhone
    Sorry!
    Regards
    Joe

  • Hi i cant access to my house wifi but to all the others wifiS I can connect. I have restarted my iPhone and my home wifi. What should I do?

    Hi i cant access to my house wifi but to all the others wifiS I can connect. I have restarted my iPhone and my home wifi. What should I do?

    What make, model, and version WiFi router do you have?
    Is the router firmware up to date?
    What type of security is it running? WEP, WPA, WPA2 (WPA2 is recommended, WEP is completely insecure)
    Do you have MAC address filtering turned ON? If so, have you added your iPhone MAC address to the permitted list in your router?

  • HT1338 My itunes keeps telling me i do not have enough access permissions to do anything. I had used all my hard drive space so i deleted some files. i deleted the downloads folder and a few others and this is when this problem occurred. Please help!

    I tried changing the permissions and installing a new itunes but nothing is working!

    Had the same thing happen to me a few weeks back when I switched computers and migrated.  Here's what worked on my iMac, so maybe it'll work on your iPad, too.  Go to User(your home folder)/Music.  Select/highlight your "Music" folder.  Then do Command-I ("Get Info" from the File menu), click on the padlock icon in the lower right of the new window.  Enter your user password.  Click on your username just above the now-open padlock.  Select "Read & Write" if it's on "Read Only," "Write Only," or "No Access."  Now having your user account with "Read & Write" privileges (it may have been this way already; still do this next step), click on the gear on the bottom-center of that window.  Click on "Apply to all enclosed items."  When the pop-up says "Are you sure?" (or the equivalent), say "yes."  This will grant access privileges to your user account for all the music files inside your music folder--all your iTunes stuff included).  Then you should be good to go.

  • I have all my music under my user id.  i would like for my wife to have access under her user id.  i tried using Home Sharing but can't get it to work.

    i have all my music under my user id.  i would like for my wife to have access under her user id.  i tried using Home Sharing but can't get it to work.

    http://support.apple.com/kb/HT3819 homesharing
    http://support.apple.com/kb/TS2972 troubleshooting home sharing.
    i <3 Homesharing. I enabled it at home, and where I work I use a mac so I enabled it on that computer as well so I can listen to my own music library while on breaks/lunch =)

  • System memory show 0KB available. Finder will not open. How can I get access to files in order to delete them without using finder?

    My friend is running OS X Yosemite. Her kid used up all the memory on minecraft/word of warcraft files. Now no app will open including Finder to even access files for deletion. Is there a way to access any apps/files to clear space without using finder?

    Step 1   
    The first step is to secure the data. If you want to preserve the contents of the startup drive, and you don't already have at least one current backup, you must try to back up now, before you do anything else. It may or may not be possible. If you don't care about the data that has changed since the last backup, you can skip this step.
    There are several ways to back up a Mac that is not fully functional. You need an external hard drive to hold the backup data.
    a. Start up from the Recovery partition, or from a local Time Machine backup volume (option key at startup.) When the OS X Utilities screen appears, launch Disk Utility and follow the instructions in this support article, under “Instructions for backing up to an external hard disk via Disk Utility.” The article refers to starting up from a DVD, but the procedure in Recovery mode is the same. You don't need a DVD if you're running OS X 10.7 or later. 
    b. If Step 1a fails because of disk errors, and no other Mac is available, then you may be able to salvage some of your files by copying them in the Finder. If you already have an external drive with OS X installed, start up from it. Otherwise, if you have Internet access, follow the instructions on this page to prepare the external drive and install OS X on it. You'll use the Recovery installer, rather than downloading it from the App Store.
    c. If you have access to a working Mac, and both it and the non-working Mac have FireWire or Thunderbolt ports, start the non-working Mac in target disk mode. Use the working Mac to copy the data to another drive. This technique won't work with USB, Ethernet, Wi-Fi, or Bluetooth.
    d. If the internal drive of the non-working Mac is user-replaceable, remove it and mount it in an external enclosure or drive dock. Use another Mac to copy the data.
    Step 2
    You might be able to run in safe mode even though you can't run normally. Otherwise, start up from an external drive, or else use the technique in Step 1b, 1c, or 1d to mount the internal drive and delete some files. According to Apple documentation, you need at least 9 GB of available space on the startup volume (as shown in the Finder Info window) for normal operation.

Maybe you are looking for