Web Url Mapped Folders Exposed

I was recently made aware of a feature in the Folders (folders_g) component called Web Url Mapped Folders. I guess it's been available in the updates for a year or so. In a nutshell, it lets you map Contribution Folders to a relative URL path of your choice. So instead of needing a UCM service based URL like http://server/idc/idcplg?IdcService=GET_FILE&dID=67&dDocName=WC-000030 or a webdav based url like http://server/idc/idcplg/webdav/Contribution Folders/Documents/info.doc, you can have a URL like http://server/documents/info.doc.

It's using the mechanism offered in the standard WebUrlMap functionality. I covered that a bit in this previous post to help offer friendlier and shorter links for common functions. But this particular implementation with Folders offers a couple of very powerful advantages...which I'll cover in a bit.

So to enable the mapping, log in as an administrator and go to Administration -> Folder Configuration -> Web Url Mapped Folders.


Then you just Browse your virtual folders and enter a Url mapping for it.


Your next step is to enable this relative path in the web server. For IIS, our UCM filter automatically filters all URLs for a potential prefix, so no additional work needs to be done for that. But for Apache, iPlanet, or Oracle HTTP server, you'll need to add this location and apply the IdcSecurity parameter to it. You can look to the one specified for the primary UCM relative location as a reference. Depending on your environment's configuration, you can take a shortcut and simply apply the IdcSecurity to the '/' location. Then every relative path will be recognized by UCM.

IdcUserDB idc "/opt/oracle/ucm/data/users/userdb.txt"
<Location />
  Order allow,deny
  Allow from all
  IdcSecurity idc

You must then restart the web server to enable the change. This is very similar to how Site Studio sites are configured as well. But one thing that is different about the Folders Url mapping is you must restart content server before it is recognized from within UCM.

Now when you search or browse to an item that exists within that folder (or sub-folder), the link will go to that mapped URL. And if you go to its content information page, at the bottom you will see the Mapped Folder Web Location in addition to the standard web and native locations.


The path location is now part of the data binder information coming back to the page. If you add the '&IsJava=1' to the page, you'll see MappedFolderDocUrl=http://wc/Documents/info.doc as part of the local data. So if you call the DOC_INFO service programmatically, you'll have access to the path. And as part of search results, the value 'mappedFolderURL' is part of the SearchResults result set.

So that's fundamentally how it works. But what is it good for?

For one use case, it can be very helpful to provide a friendly and effective URL for search engine optimization. For instance, in your Site Studio website you may provide a dynamic list of documents for download. In the past, you could have provided the GET_FILE service URL (not friendly or good for SEO) or the weblayout directory (not good for SEO). In the most recent Site Studio 10gR4 patch (covered recently in the ECM Alerts blog), a new feature was added to allow linking to a native document while keeping the web site path intact. So that helps if the structure of the site is good for SEO. But what if you have the same document offered on different parts of the site? Or you need a distinct path separate from the web site path. Now you can store those documents in Contribution Folders and reference them by your mapped URL.

So in your Site Studio dynamic list, the code to display the document link might look like:

<li><a href="<!--$mappedFolderURL-->"><!--$dDocTitle--></a></li>

And your links can end up looking like http://company/products/widgets/part1234/specifications/part1234_specs.pdf.

The other use case is for managing items that have relative paths to each other. A great example would be a static HTML website. Because the paths are maintained and resolved using this approach, the code in the HTML that links the items should not need changing.

This used to be possible by using the Local Folders feature of Folders, but that could be problematic due to items left behind after moving content and migrating to other instances.

So just by dragging and dropping your HTML files, images, css, javascript, and directories in through WebDAV or Desktop Integration Suite, you can have your site managed and up and running in minutes.

Here we can see the content as it's been dragged and dropped into our WebDAV folder.


After you have your folders and content submitted, you can configure your mapping.


Then after restarting UCM and clicking on the mapped web folder location for index.html, the site should be displayed.


There are some caveats to be aware of. This URL points to the native version of the file and not the web viewable. So even if the file went through a conversion, it will point to the original format.

Also, items that are in workflow or set for a future release date will still be accessible through this link. This may or may not be bad depending on your use-case. Even if the Folders configuration variable 'CollectionReleasedOnly' is set to true which will hide the file through the folder interface unless it's released, the mapped web folder location link will still resolve to the file.


This is good:
  • ">
  • but many sites create multi-level folder structures for off-line management purposes, so the "search friendly" URL ends up being 8-9 levels deep. This can slow down indexing by search engines or they might miss some pages at sites that are seldom updated (hence fewer spider visits). I can imagine that a company with three content-supplying groups might create three folders. At the next level, if one of these groups has five product lines, they might create five folders, and so on and so on. Not having seen a live implementation of UCM, I'd like to know if the folders can be made as shallow as possible? Or does this create an access problem where the "wrong" group of individuals can touch documents that don't concern their area?

    Posted by Ash Nallawalla on July 20, 2010 at 10:18 AM CDT #

    Hey Ash, UCM can certainly allow for shallow/flat folder structure if that is what is desired. UCM has a built-in throttle to allow only 1000 folders within a single folder, but if you stay within that number, it is fine. As far as fitting the security model to prevent groups from changing content in other groups, that can be configured as well. But that usually takes analysis of the requirements and such to find the right balance given the customer's specific requirements.

    Posted by kyle.hatlestad on July 22, 2010 at 02:31 AM CDT #

    Hi, We have one issue , we have multiple user that can login and upload there document to UCM to one folder. Now when we copy the shortcut of UCM url ,it shows all the other user document. Is there any best practice to hide other user information. thanks, hasim

    Posted by guest on May 23, 2011 at 04:37 PM CDT #

    Hey Hasim, As long as users have permission to view the documents of others, they will see them in the folder. Just as they would find them with search. Those documents would need different security applied to them if you didn't want users to see other documents. Thanks, Kyle

    Posted by guest on May 24, 2011 at 01:37 AM CDT #

    I will appreciate ,if you can tell what security applied. I know there is group , accounts , but the problem is i have to create account for each object.So i am looking at something ,if there is any setting in weblogic , ucm where i can prevent URL based hacking in to UCM for private folder by other authenticated users.

    Posted by guest on May 24, 2011 at 04:18 AM CDT #

    You may want to look at Access Control Lists (ACLs) which provide entity level security on folders and content. http://download.oracle.com/docs/cd/E21764_01/doc.1111/e10792/c03_security.htm#CDDBCIDA. If you are on 10g or earlier, see support knowledgebase article #603148.1. Thanks, Kyle

    Posted by Kyle Hatlestad on June 01, 2011 at 12:31 AM CDT #

    Thanks Kyle ,

    ACLs really helped in preventing UCM URL issue. We have pretty big Enterprise System developed in ADF , WC , UCM and now we are facing one more issue where our root folder of one of the module has more than 1000 sub folder and we are now not able to upload document any more to UCM i.e. create new folder. Do you have any idea what should we do now. We tried incrementing value from 1000 to 10,000 ,but UCM did not allowed that. Also, we can change config file , but we dont know side impact of that.

    Thanks Kyle again for your fantastic suggestion.

    Posted by guest on February 13, 2012 at 03:40 PM CST #

    In regards to the 1000 sub folder limit, I can't give specific details at this point, but please be on the lookout for a patchset release which will help address this issue.


    Posted by Kyle Hatlestad on February 16, 2012 at 10:33 AM CST #

    Thanks. This works great. Slight problem though. How can we automatically redirect the user to index.html if the url is only entered as http://wc/collaboration/

    Posted by guest on March 27, 2013 at 09:07 PM CDT #

    Post a Comment:
    • HTML Syntax: NOT allowed

    Kyle Hatlestad is a Solution Architect in the WebCenter Architecture group (A-Team) who works with WebCenter Content and other products in the WebCenter & Fusion Middleware portfolios. The WebCenter A-Team blog can be found at: https://blogs.oracle.com/ ateam_webcenter/


    « July 2016