Customer Portal

Get Involved. Join the Conversation.

Comments

  • Steve Long

    I think I follow. We are currently calling the standard report model and just formatting the output when it returns from the getDataXml method. Our code looks like this (I've removed the XML formatting code as it isn't particularly relevant to the data):

     

    function getXmlData($reportid)
    {

    $arguments = $this->uri->uri_to_assoc(3);

    foreach($arguments as $key => $value){
    if($key == 'r_id'){
    $reportid = $value;
    }
    else {
    $filters[$key] = $value;
    }
    }

    $this->load->model('standard/Report_model');
    setFiltersFromUrl($reportid, $filters);
    $r_tok = create_token($reportid);
    $results = $this->Report_model->getDataXML($reportid, $r_tok, $filters, $format);

    }

     

    The report is called by: http://<company>.custhelp.com/ci/ajaxCustom/getXmlData/r_id/<reportid>/kw/<keyword>/page/<page>/per_page/<perpage>/p/<x.x.x>/search/1.

     

    It seems like I might need to specifically call out $key == 'p' in my foreach loop and treat that filter differently than the rest by adding specific attributes. Is that correct or is it something to do with the call to setFiltersFromUrl?

     

    Thanks, Steve

  • monique perkins

    The controller is passing the incorrect data for the filter.

     

    1 - Use the report model functions

    2 - The filters array is the search and sort filters for the report

    3 -Using the standard widgets the data is correctly passed to the model - so you can look at those if you need to

    4 - the filters for asearch with keyword and product looks like:

     

    Array (
        [searchType] => stdClass Object (
            [filters] => stdClass Object (
                [rnSearchType] => searchType
                [fltr_id] => 5
                [data] => 5
                [oper_id] => 1
                [report_id] => 166
            )
            [type] => searchType
        )
        [keyword] => stdClass Object (
            [data] => stdClass Object (
                [length] => 4
            )
            [filters] => stdClass Object (
                [data] => roam
                [report_def] => 
                [rnSearchType] => keyword 
                [report_id] => 166
            )
            [forms] => stdClass Object (
            )
            [name] => KeywordText 
            [type] => keyword 
            [w_id] => 1
        )
        [p] => stdClass Object (
            [data] => stdClass Object (
                [filter_name] => map_prod_hierarchy 
                [element_name] => MenuFilterDropdown_3 
                [linking_on] => 0 
                [level] => 4 
                [value] => 8 
                [reset] => 
                [hier_data] => Array ( 
                    [0] => Array ( 
                        [0] => 20 
                        [1] => Features 
                        [2] => 1
                    )
                    [1] => Array (
                        [0] => 32 
                        [1] => Help 
                        [2] => 2
                    )
                    [2] => Array ( 
                        [0] => 33 
                        [1] => Tips 
                        [2] => 3
                    ) 
                    [3] => Array ( 
                        [0] => 34 
                        [1] => Troubleshooting 
                        [2] => 4 
                    ) 
                )
            )
            [filters] => stdClass Object ( 
                [rnSearchType] => menufilter 
                [report_id] => 166 
                [report_def] => 
                [name] => 
                [fltr_id] => 2 
                [oper_id] => 10 
                [data] => Array ( 
                    [0] => Array ( 
                        [0] => 1 
                        [1] => 2 
                        [2] => 8 
                    ) 
                ) 
            ) 
            [forms] => stdClass Object ( 
            ) 
            [name] => MenuFilterDropdown 
            [type] => p 
            [w_id] => 3 
            [disabledElement] => lvl3MenuFilterDropdown_3 
        ) 
        [page] => 1 
        [search] => 1
    )
    
    [rnSearchType] => menufilter
    

    lets the model know that this is a hier chain filter and needs to be processed accordingly.

     

     

    The fltr_id is a little harder to  get.  There is a function in report model getRuntimeFilters() to get the report filters so you can see what this is for each filter on each report. This will also give you the oper_id you should use with each filter.

     

    You also want filters['search'] = 1 any time you are sending in filters -it lets clickstreams know that these are search terms.

     

  • penni kolpin

    Hi,

     

    In November '08, the standard folder for widgets is accessed from the path euf/rightnow/widgets/standard.

     

    Since you can't edit those files directly, they are now accessed from the rightnow folder instead of the development folder.  So, you can copy those widgets from there and then upload your revised files into the development/widgets/custom folder.

     

    Hope that helps.

     

    Penni Kolpin

    QA Engineer

    RightNow Technologies

  • Christopher Tarabochia

    The documentation currently available is the CP API documentation under the file exchange. At this point that is the deepest level of documentation we provide. Also, you will note that these functions are not backwards combatible. They may change at anytime.

     

    We always recommend to use our standard models.

     

    We have some sample code for using the PHP sql functions and that can be found under the file exchange under sample code "Model Sample". That particular one for Nov 08 is very detailed and covers many cases.

     

    Hope this helps.

     

    Chris

  • cjamerlan
    thank you monique...one more question.  on the upgrade site, the standard folder under widgets is missing.  however, it is still being sourced in the template pages.  do you know how this is posisble?  where can i access my standard widget files to make modifications?
  • monique perkins

    You already have them. All of the new widgets are in the rightnow/widgets/standard folder.  You can use them by referencing the path name.  All of the pages and templates are in the rightnow/views folder. 

     

    You can copy the pages and templates in the rightnow/views folder to the development/views folder (where your current pages are) to get the 8.11 release. Be sure to back up your current copy of pages and templates in the first.

  • cjamerlan
    yes the site is an upgrade from August 08.  Where can i obtain the updated widgets and templates?
  • monique perkins

    I'm not sure I understand what is going on - but this might help

     

    If your site is an upgrade from 8.8 then you are still running the 8.8 pages/templates and some widgets.  While some of the widgets did get fixed there were new dialog widgets added that will help with the iframes.  You will want to look at the reference implementation (in rightnow/views) and compare it to your pages. You may need to change your widgets to the newer versions.  

  • cjamerlan

    i have the upgrade site (november 08) available to me and i tested that URL in an iframe and it redirects me to page cannot be displayed error.  It does appear to be loading, and at some point will redirect to the cannot be display error.  Please advise.

  • monique perkins
    Customer Portal does work in iframes in the nov 08 release.  There are some warnings thrown by the browser but all functionality is there.
  • cjamerlan
    i would like to confirm that his issue has been fixed in the November 08 release.  I am currently developing with this idea in mind and have my company's RN be upgraded to Nov 08 to fix this issue.  Please advise.
  • monique perkins

    yes - just change the report_id of the widgets on your page to the report_id of the desired report.

     

    Some notes of caution:

    1 - If this is an answers report be sure to add the answers.special_settings filter.  It correctly identifies it for knowledge base searching

    2 - Be sure you have filters on your report to protect your data from users.  For instance an answers report should always have a fixed filter of status = public.

  • Bret Friedrich

    Here are a couple of other examples:

    http://www.in.gov/

    http://search.americanexpress.com/amex - you can also click on the contact us page

    http://sandisk.com - there are a few places on the SanDisk site.

  • DustinTuft

    Hi MTcoug,

     

    That is great, so it is possible to intercept our web calls and ensure that they get directed to the correct place. That is great news, almost like early christmas :smileyvery-happy:

     

    Thanks for the confirming that!!!!

  • anne

    Thanks htosun,

     

    Your information and help was very valuable. It's working now.

    (I removed the testversions.)

     

    anne_tkbc