Home Server

Hardcoded Reports over webTier

edited February 2004 in Server
I've tried to create the same demo as the RBServer\Demoes\Clients\03. Client
Report Catalog\01. Hard Coded Reports over a webtier.
What would be the url to build to do so, now i've created a small form with
just one 'submit' button and all other values as hidden.
My problem is that i can't get a session filled in by a tag, because at the
moment that the html page is build the rsWebTier.SessionID is blank.

Any example somewhere or a hint ???


Harry Leboeuf

Comments

  • edited February 2004

    To get a session id, see my post a couple of threads up.

    To specify a URL for a report, see the following article.


    ---------------------------------------------
    Tech Tips: How can I request that the webtier
    execute a specified report?
    ---------------------------------------------


    Question:
    ---------

    Without using the Web ReportExplorer, how can I request that the webtier
    execute a specified report?


    Solution:
    ---------

    The webtier processes requests for web content. These requests consists of

    1. The URL for the webtier

    example: http://127.0.0.1/rbWebPub/report.dll


    2. A parameter specifying the content type.

    example: content=viewer

    {note: content=viewer, is used to request report viewer content.}


    3. Additional parameters that are specific to the content request.

    volume=Report Forms (the volume name)
    Name=Basic\Biolife Table (the full path name to the report)
    frameset=1 (show the framset with the toolbar etc., this is required)


    Use a web browser to access the webtier demo that displays the report
    explorer.

    Notice that when you place the mouse over a report in the report explorer
    that the status bar in IE shows the url plus some params. That is the string
    required to run the report on the web tier.

    Example:
    http://127.0.0.1/rbWebPub/report.dll?content=viewer&volume=Report
    Forms&name=Basic\Biolife Table&framset=1


    So the parameters here are

    content=viewer (type of content is report viewer)
    volume=Report Forms (the volume name)
    Name=Basic\Biolife Table (the full path name to the report)
    frameset=1 (show the framset with the toolbar etc., this is required)





    --
    Nard Moseley
    Digital Metaphors Corporation
    http://www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited February 2004
    Nard, Thx

    But ... small problem

    I'm getting a error 'Unable to create directory' on my Web Tier.

    This is my Code

    LogStart('rsWebT', 'wmMainwaCMMRepAction');
    lWebRequest := rsWebTier.CreateWebRequest(Request.QueryFields,
    Request.Content);
    if IsLibrary then
    lWebRequest.SessionParameters['AccountName'].Value :=
    Request.GetFieldByName('REMOTE_USER')
    else
    lWebRequest.SessionParameters['AccountName'].Value :=
    'D_KINEGROUP\HLEBOEUF';
    if not rsWebTier.SessionExists(lWebRequest) then
    gWebSessionManager.GetSessionForRequest(lWebRequest);
  • edited February 2004

    Try running the RBServer\Demos\WebTier\Custom Parameters example

    Next try creating your own custom parameters demo as a WebDebug app

    Once you get the above working then try converting to ISAPI.

    If only the ISAPI application has a directory problem, then the issue is
    likely related to IIS configuration and directory security.


    --
    Nard Moseley
    Digital Metaphors Corporation
    http://www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited February 2004
    Ok, i'm a bit stucked.



    What i am trying to do.....



    We have reports running with a webtier and autosearchparameters. Based on
    the custom parameters demo, with security based on the NT logon of the user.
    This part works fine.

    We also are running CMM of Cognos (Balanced Scorecard Product), and i would
    like to link some reports to that system.

    Here no autosearch parameters should be entered, as they are provided in the
    link.

    So i need to 'translate' the link parameters into the autosearch parameters.

    All these techniques are used in the normal formbased webtier.



    The way i try to process here is.



    Report-link is involved from CMM to a small form, why, our scorecard system
    is monthly based, and some reports (due to the nature of the business) are
    weekly's. So in that case the user gets a selection on what weeks he would
    like to see.



    When he calls the WebTier with /CMMRep there is a special action that does
    the following



    ------------------------------------------------------------

    LogStart('rsWebT', 'wmMainwaCMMRepAction');

    lWebRequest := rsWebTier.CreateWebRequest(Request.QueryFields,
    Request.Content);

    Try

    if IsLibrary then

    lWebRequest.SessionParameters['AccountName'].Value :=
    Request.GetFieldByName('REMOTE_USER')

    else

    lWebRequest.SessionParameters['AccountName'].Value :=
    'D_KINEGROUP\HLEBOEUF';

    lWebRequest.SessionParameters['AccountPassword'].Value :=
    lWebRequest.ContentParameters['AccountPassword'].Value;

    if rsWebTier.ValidateSessionParameters(lWebRequest) then

    begin

    if not rsWebTier.SessionExists(lWebRequest) then

    gWebSessionManager.GetSessionForRequest(lWebRequest);

    Result := ppSelect_CmmRunForWeeks.Content;

    ResolveTags(Result, lWebRequest);

    Response.Content := Result;

    end;

    Finally

    lWebRequest.Free;

    End;

    LogEnd('rsWebT', 'wmMainwaCMMRepAction');

    -------------------------------------------------------------



    At this moment no logic is in it, just for test reasons. This results in a
    html form that is send to the user with a valid SessionID.



    The generated html-code is



    ................



    ..........



















    ..............



    But, when the user click the button i'm getting a server error



    EReportVolumeError 'TrsReportVolumeDirectory.GetChildNodeForName :
    aParentNode is nil'





    Any suggestions on what i should do different in order to get this working
    ??
  • edited February 2004

    I cannot determine the cause of the error by looking at the code.

    If you are generated the html form manually, then I woudl try creating a
    test in which you let the webtier generate an autosearch form. Then view |
    source on the generated page.

    If you are already using the webtier generated search form, try removing
    your code and incrementally add it back in.

    If you can create an example using the demo report server or by modify the
    demo report server examples, you could zip it up and send it to
    support@digital-metaphors.com and I could try to run it here using the
    Delphi WebDebugger.


    --
    Nard Moseley
    Digital Metaphors
    http://www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited February 2004
    Nard,

    I'm having it running, but i splitted my servers, it was to hard to use them
    in 1. The first servers checks wich user want to run what report and
    manipulates the explorer tree. The reports have autosearch values and a form
    pop's up.
    In the direct version most of the parameters are prefilled, of can be
    calculated, i don't want the user to see a screen.

    Got it working, so :-)

    Thx
This discussion has been closed.