Clarity

  • 1.  Xcelsius Dashboard in Project Object(Dashboard tab)

    Posted Feb 09, 2012 01:45 AM
    Xcelsius Dashboard in Project Object(Dashboard tab)
    Hello ,

    I have a query in Xcelsius. Our business wants the xcelsius portlet to be placed on the each project dashboard tab. So is there is any way we can pass the project id(instance) in the xcelsius?

    I mean if they select a project then the portlet must show the information corresponding to it. Right now I am just trying to print only the project name. The below is the query I am using.


    SELECT
    @select:dim:user_def:implied:project:inv.id:id@,
    @select:dim_prop:user_def:implied:project:inv.code:code@,
    @select:dim_prop:user_def:implied:project:inv.name:name@
    From inv_investments inv
    where inv.is_active <> 0
    and inv.ID = @where:param:xml:Integet:/data/id/@value@
    and @filter@

    I have created the flash variables in Clarity corresponding to project object and mapping to object internal id attribute and same flash variable is created in Xcelsius also. But I couldn't able to get the result. But with the same query I created a grid portlet and I attached to it in Project Dashboard tab and I can able to get the result. So how we can get it pass in Xcelsius?

    Thanks,

    Arun


  • 2.  RE: Xcelsius Dashboard in Project Object(Dashboard tab)

    Posted Feb 09, 2012 09:07 AM
    Hi Arun,

    This style of NSQL parameter is the style that was used in grid and graph portlets before mapped attribute parameters were available to use in Studio queries and objects (note: small typo on integer occurred too):
    @where:param:xml:Integer:/data/id/@value@

    For grid and graph portlets, you should consider using mapped attribute parameters where possible.

    With an Xcelsius portlet it is a bit different though; the data for the NSQL isn't being read and processed by the inner Clarity code for producing a HTML page directly on screen, instead the Xcelsius dashboard inside a Shockwave Flash (.swf) file on the client browser, makes a web service call to Clarity to fetch and parse the XML results of an NSQL query.

    As such, the passing of parameters works a little differently.

    In Xcelsius Designer, under the Data Manager you define your web services that you will be querying, and that will pull back any 'traditional' NSQL WHERE constructs of the form: @WHERE:PARAM:USER_DEF:INTEGER:CURRENT_INVESTMENT_ID@ (for example).

    This CURRENT_INVESTMENT_ID (possibly prefixed with param_ I forget offhand sorry) will exist in the web service definition as a possible filter field, usable in all web service requests to the query (via SOAP / XOG / etc.). Your portlet/dashboard's definition in Clarity can then have an Object parameter assigned to it, mapped to a flash variable, that will pass in the correct ID value, which in turn you then pass to the web service filter field through your data connections in the Xcelsius Designer.

    Look at the out of the box Portfolio Dashboard interactive portlet and design files to see how it is doing the same thing with the portfolio ID.

    The exact screens/terms/positions for the definitions of the data connection and parameter mapping inside Xcelsius Designer escape me, but hopefully you'll be able to use this and follow the portfolio example to see where I'm coming from.

    -Nick


  • 3.  RE: Xcelsius Dashboard in Project Object(Dashboard tab)

    Posted Feb 10, 2012 02:13 AM
    Hello Nick,

    Thanks for the reply. I have changed the nsql query as below

    SELECT
    @select:dim:user_def:implied:project:inv.id:id@,
    @select:dim_prop:user_def:implied:project:inv.code:code@,
    @select:dim_prop:user_def:implied:project:inv.name:name@
    From inv_investments inv
    where
    (inv.id = @WHERE:PARAM:USER_DEF:INTEGER:id@)
    and @filter@

    This is the dashboard url https://servername/niku/app?action=projmgr.projectDashboard&id=5735862.

    But when call the webservice I couldn't able to see the param_id in the filter. I have attached the screen shot. Can you kindly provide some more insight on this?


  • 4.  RE: Xcelsius Dashboard in Project Object(Dashboard tab)

    Posted Feb 10, 2012 02:18 AM
    Please find the attachment


  • 5.  RE: Xcelsius Dashboard in Project Object(Dashboard tab)

    Posted Feb 13, 2012 04:59 AM
    Hello Nick,

    It got fixed. I changed the query as below


    SELECT
    @select:dim:user_def:implied:project:inv.id:param_id@,
    @select:dim_prop:user_def:implied:project:inv.code:code@,
    @select:dim_prop:user_def:implied:project:inv.name:name@
    From inv_investments inv
    where inv.is_active <> 0
    and @filter@

    I just removed the @where:param condition and mapped the same param_id in Clarity and Xcelsius. The mistake I did the name param_id in query which earlier i was given as id. My question is why @where:param@ doesnot go as a parameter in xcelsius




    Thanks,

    Arun


  • 6.  RE: Xcelsius Dashboard in Project Object(Dashboard tab)

    Posted Feb 13, 2012 05:31 AM
    It would pick them up, I suspect you may have reused and re-edited the same Query definition in Clarity and an older version of the WSDL was still cached when you attempted to access it.

    Using your exact query:

    SELECT
    @select:dim:user_def:implied:project:inv.id:id@,
    @select:dim_prop:user_def:implied:project:inv.code:code@,
    @select:dim_prop:user_def:implied:project:inv.name:name@
    From inv_investments inv
    where
    (inv.id = @WHERE:PARAM:USER_DEF:INTEGER:id@)
    and @filter@

    I get the following in Xcelsius (attached).


  • 7.  RE: Xcelsius Dashboard in Project Object(Dashboard tab)

    Posted Feb 13, 2012 06:01 AM
    Hello Nick,

    I created a new nsql query and I flushed the caches. Still I couldnt able so see the param_id in my Xcelsius.


  • 8.  RE: Xcelsius Dashboard in Project Object(Dashboard tab)

    Posted Feb 13, 2012 08:48 AM
    I'm going to guess then that you're using an older version like Clarity 12.1.0 or 12.1.1. If you can apply a Service Pack (e.g. 12.1.3) or upgrade (e.g. 13.0) to your system to bring it up to a current version, it will work this way on those versions. Until then, the way you are working around it would be an appropriate way to do it.


  • 9.  RE: Xcelsius Dashboard in Project Object(Dashboard tab)

    Posted Feb 14, 2012 12:57 AM
    Hello Nick,

    We are using version 12.1.1.1208 3 002. We are on version 12.1.3 only.

    Thanks,

    Arun.


  • 10.  RE: Xcelsius Dashboard in Project Object(Dashboard tab)

    Posted Feb 16, 2012 04:35 AM
    Sorry, but just to clarify, 12.1.1.1208 3 002 isn't 12.1.3, so there have been 2 other Service Packs released since 12.1.1 containing improvements such as this one that you could consider or try.