Wednesday, February 29, 2012

Sunday, February 26, 2012

WebRTC on Chrome Canary and a look on Media Capture

I have been for a while exploring around the area of capturing using HTML5 and the results were interesting for me.

 WebRTC specification is to allow web browsers to stream media through set of APIs. It is still under development, fortunately we can take a look on it on chrome canary (chrome for developers)

Visit this link to test media streaming on chrome, especially try this one for Paul Neave.

Another interesting specification for me was Media Capture which focused on integration of media capture in HTML forms based on an extension to the FileAPI.

Imagine if you want to capture an image or video from your webcam, you need only to write

<input type="file" accept="image/*" capture="camera" id="capture"/>

and I wish to capture from a scanner in the same way too, so that we don't need to write complex code to capture and care about browser compatibility or jvm memory.

Of course all of this is not yet released and it will be added values to us as web and content experts.

Monday, February 20, 2012

Customize Navigation Menu's Permissions to be Role Based

I think most of us knows how to Customize Oracle UCM 11g navigation menus, and if not take a look at other blog posts like this one from Kyle's blog: Modifying Navigation Menus in UCM 11g

But what if you want the navigation menus to be based on Custom security roles that you have created, unfortunately it is not available out of the box. In the following lines, I will explain how to do that:

- When created your menus, you have overridden a resource include called CoreMenuItemsFlags
For example:

<@dynamicdata CoreMenuItemsFlags@>
id, flags

- Instead of using predefined permissions based on fixed roles like isAdmin, isLoggedIn, or isSysManager, we need to use permissions based on our custom roles also we need to write code once (I mean we will not change our custom code for every new role created).

- My approach is: if we have a new custom role called HR, then we will use a permission for the navigation menu called isUserInSpecificRoleBillingAuditorHR, so the resource include will be

<@dynamicdata CoreMenuItemsFlags@>
id, flags
FUNCTIONA, isUserInSpecificRoleBillingAuditorHR

- Now the real story comes
We will customize a resource include called navigation_filter_rset_menu_item where we will add an extra check for our prefix isUserInSpecificRoleBillingAuditor, and according to the Role added to the prefix we grant users access to the menu item

<$elseif flags like "*isUserInSpecificRole*"$>
<$if strIndexOf(flags, ':') == -1$>
<$userInRole = strSubstring(flags,20,strLength(flags))$>
<$part1 = strSubstring(flags,strIndexOf(flags,'isUserInSpecificRole')+20,strLength(flags))$>
<$if strIndexOf(part1, ':') == -1$>
<$userInRole = part1$>
<$userInRole = strSubstring(part1,0,strIndexOf(part1, ':'))$>
<$if not userHasRole(userInRole)$>
<$tmpDeleteRow = 1$>

Note the extra check should be added after isContributor check

<$if flags like "*isContributor*"$>

Or you can read the resource include code and customize it as you want

Oracle Enterprise Manager: Unhandled exception during generation of chart Host CPU

I have some issues with Oracle Enterprise Manager for RAC 11gR2, I searched for help everywhere including Oracle Support without luck. I even asked a DB expert but he didn't solve it too.

The following is a link that I would like to advise anyone has problems with Database Enterprise Manager to take a look at

By the way, he error I faced is performance dashboards are not displayed and a java exception was there saying "Unhandled exception during generation of chart Host CPU"