QPR Reporting Add-on

From QPR ProcessAnalyzer Wiki
Jump to: navigation, search

Introduction to QPR Reporting Add-on

QPR Reporting Add-on contains the following parts:

Installation

Follow these steps to install QPR Reporting Add-on. Installation package is available in the downloads page.

Note that there are different folder paths for each QPR Suite version. These instructions use X in the folder names, that should be replaced by the version of the used QPR Suite.

1. Check whether the QPR environment uses Windows authentication (IWA) and/or HTTPS connection. Windows authentication is used when QPR system is connected to LDAP/AD and Windows user accounts are used to login to QPR. When QPR UI is in use, Windows authentication cannot be used for QPR Web Service. HTTPS connection is in use when QPR Portal url starts with https.

2. Open Programs and Features (in Windows Control Panel) and click Turn Windows features on or off. Check that components listed in the following table are installed. The installation procedure depends on Windows version. QPR Reporting Add-on needs .Net Framework 4.6.1 or later version.

Windows Version Required Components
Windows 10

(already includes .NET Framework 4.6)

  • All components in Internet Information Services (except FTP Server)
  • Following Windows features: (see the image below)
    • .Net Framework 4.6 Advanced Services > ASP.NET 4.6
    • .Net Framework 4.6 Advanced Services > WCF Services > HTTP Activation

Windows features 1.jpg

Windows 8

(already includes .NET Framework 4.5.1)

  • All components in Internet Information Services (except FTP Server)
  • Following Windows features: (see the image below)
    • .Net Framework 4.5 Advanced Services > ASP.NET 4.5
    • .Net Framework 4.5 Advanced Services > WCF Services > HTTP Activation

Windows 8 features.jpg

Windows Server 2012 R2

(already includes .NET Framework 4.5.1)

  • All components in Internet Information Services (except FTP Server)
  • Following Windows features: (see image below)
    • .Net Framework 4.5 Features > .Net Framework 4.5
    • .Net Framework 4.5 Features > ASP.NET 4.5 .Net Framework 4.5 Features > WCF Services > HTTP Activation

Windows server 2012.jpg

Windows Server 2012

(needed .Net Framework is not installed by default)

  • All components in Internet Information Services (except FTP Server)
  • Following Windows features:
    • .Net Framework 4.5 Advanced Services > .Net Framework 4.5
    • .Net Framework 4.5 Advanced Services > ASP.NET 4.5
    • .Net Framework 4.5 Advanced Services> WCF Services > HTTP Activation
  • Install .Net Framework 4.6.1: https://www.microsoft.com/en-us/download/details.aspx?id=49981

3. This step is for checking the QPR Suite has been configured properly. Check that QPR Web Services web.config file is a proper one (located in C:\Program Files\QPR Software Plc\QPR 201X.1 Servers\WebServices). In the default QPR installation there are files web.config and web.config.IWA. If QPR environment uses Windows authentication (refer to step 1), the latter file must be taken into use by renaming a. web.config to web.config.noIWA, and b. web.config.IWA to web.config.

4. This step is for checking the QPR Suite has been configured properly. If using Windows authentication (refer to step 1), make sure C:\ProgramData\QPR Software\QPR 201X\201X.1\Servers\Settings\QPR_Servers.ini has settings IWACGIBinaryHost=127.0.0.1 and CGIBinaryHost=127.0.0.1. under WAS Settings section.

5. If using QPR Suite 2019.1, common QPR authentication needs to be configured (to establish common authentication between QPR Suite WAS and WS). Follow these instructions: Configuring Common Authentication for QPR Suite Portal and QPR Suite Web Service.

5. Copy QPRWebServicesExtensions folder from installation package to IIS published files in C:\inetpub\wwwroot\.

6. Installation package contains the following preconfigured files to be used as QPR Reporting Add-on web.config file:

  • a) web.config: for HTTP connection and Anonymous authentication to the Reporting Add-on
  • b) IWA.web.config: for HTTP connection and Windows authentication to the Reporting Add-on
  • c) HTTPS.web.config: for HTTPS connection and Anonymous authentication to the Reporting Add-on
  • d) HTTPS+IWA.web.config: for HTTPS connection and Windows authentication to the Reporting Add-on

Copy a suitable configuration file to C:\inetpub\wwwroot\QPRWebServicesExtensions\ folder and rename it as web.config.

Do not mix up QPR Reporting Add-on's web.config file (in C:\inetpub\wwwroot\QPRWebServicesExtensions\) with QPR Web Services' web.config file (in C:\Program Files\QPR Software Plc\QPR 201X.1 Servers\WebServices\web.config).

7. Configure QPR Reporting Add-on settings listed in the Settings section. The settings are located in the C:\inetpub\wwwroot\QPRWebServicesExtensions\web.config file in the appSettings section. Quick guide for usual configurations (file C:\inetpub\wwwroot\QPRWebServicesExtensions\web.config):

  • a. When Windows authentication is not in use and Common QPR Authentication is used: wcfsecuritymode=none and qprauthenticationmode=commonqprauthentication
  • b. When Windows authentication is not in use without Common QPR Authentication: wcfsecuritymode=none and qprauthenticationmode=passedsession
  • c. When Windows authentication is in use: wcfsecuritymode=message and qprauthenticationmode=windows

8. Make a backup copy of the C:\Program Files\QPR Software Plc\QPR 201X.1 Servers\WebServices\servicetester.aspx file. Replace the file with the servicetester.aspx. file from the installation package.

9. Make sure QPR Web Services Server is running. The installation cannot be continued until QPR Web Services Server is running properly.

10. In IIS Management Console, go to Application Pools (in left side hierarchy). Create a new application pool by clicking Add Application Pool…. Use the settings in the image below (settings v.4.0.x and Integrated). Please do not change settings for existing application pools, if they are used by other web applications because then the other applications may stop working. Especially QPR Suite has an application pool that is v.2.0.x and Integrated.

Add application pool.jpg

11. Click the previously created application pool, click Advanced settings… and select Identity setting. In the opening Application Pool Identity window, click Built-in account and select LocalSystem (see the image below). Click OK for the both open windows.

Application pool.jpg

12. Find the QPRWebServicesExtensions folder in IIS Management Console and click Convert to Application (secondary mouse button). Select the previously created application pool QPR Web Services Extensions.

13. Check the IIS authentication settings by clicking QPRWebServicesExtensions web application is IIS Management Console (on the left side hierarchy). Check that Features View is opened (in bottom), and doubleclick Authentication. The authentication settings must match with the web.config file, which was set in step 3: a. For Windows authentication: Anonymous Authentication must be Disabled and Windows Authentication must be Enabled. (see the image below) b. For Anonymous authentication: Anonymous Authentication must be Enabled and Windows Authentication must be Disabled. ASP.NET Impersonation must be Enabled in both cases.

Authentication.jpg

14. Check that QPR Reporting Add-on is working by making the tests listed in chapter Installation tests. If you encounter any issues, check if any of the error situations described in Troubleshooting were encountered.

15. These rest steps are only needed when using the Reporting Add-on in the QPR Suite portal. Copy DWV templates folder from installation package as a DWV templates root folder (setting dwvtemplatesphysicalpath in QPR Reporting Add-on’ web.config file). Also copy Word report templates folder as the templates root folder (setting dwrtemplatesphysicalpath in QPR Reporting Add-on’ web.config file) and trend_down.png and trend_up.png files from DWV templates\Dashboard folder to C:\inetpub\wwwroot\qpr201X-1\qprsoftware\portal\images.

16. Deploy Reports Menu UI element to the Portal by replacing mainview.tpl and headerview.tpl files from the installation package Reports Menu folder to C:\ProgramData\QPR Software\QPR 201X\201X.1\Servers\Templates\WAS\Portal. (Alternatively, use the externalreportsmenu.patch file.)

17. Copy icon_reports.png from Reports Menu folder to C:\inetpub\wwwroot\qpr201X-1\qprsoftware\portal\images.

18. Copy jquery.filedownload.js from Reports Menu folder to C:\inetpub\wwwroot\qpr201X-1\qprsoftware\Common\scripts.

19. Add the following CSS to C:\inetpub\wwwroot\qpr201X-1\qprsoftware\stylesheets\custom.css:

#ReportsToolbarMenu {
  cursor: pointer;
}

#ReportsToolbarMenu .activetarget {
  background-color: inherit;
}

.visiblereportmenulink, .reportmenumain > a {
  background: url(../portal/images/icon_reports.png) no-repeat left -1px;
}

.disabledreportmenulink {
  background: url(../portal/images/icon_reports.png) no-repeat left -1px;
  color: #BBBBBB !important;
  cursor: default;
}

#InformationViewFrame {
  background-color: white;
}

20. Restart Windows service for QPR Suite, or clear QPR Portal templates cache (http://SERVERNAME/QPR201X-1/Portal/QPR.Isapi.dll?QPRWAS&*cleartemplatecache). In addition, clear web browser’s cache.

21. Check the following: https://devnet.onqpr.com/pawiki/index.php/Enable_Detailed_Error_Messages_in_IIS

Web.config File Settings

QPR Reporting Add-on is configured using the C:\inetpub\wwwroot\QPRWebServicesExtensions\web.config file. The file has following settings in the configuration > appSettings section.

Attribute Description
qprwebserviceaddress QPR Web Service url address. This should point directly to QPR Web Service server’s port. The default port is 9002, but the actual port in use can be seen in QPR Configuration Manager (Common > Server locations > Web services server). Example: http://localhost:9002/QPR201X-1/Portal/QPR.Isapi.dll/wsforward/mainservice.svc/wshttp

Notes:

  • It's recommended to use localhost as a hostname if the QPR Web Service Server is in the same computer.
  • The address starts with http even if QPR environment uses https.
  • Check the proper url path from QPR Portal address (QPR201X-1 in the example). The path is QPR version specific by default.
  • Validity of the address can be checked by opening the address in the server computer using browser without the ending /wshttp, e.g. http://localhost:9002/QPR201X-1/Portal/QPR.Isapi.dll/wsforward/mainservice.svc. A page displaying You have created a service should open. Note that this address doesn't work in client computers (this is because localhost always references to that computer where the browser is running).
qprauthenticationmode Determines how the Reporting Add-on authenticates users to QPR Web Service. When using QPR Suite 2019.1, options are as follows:
  • windows: Windows user making the request is used to authenticate to QPR Web Service. It’s advisable to use this authentication method if available. If the session id is provided (in the xsession parameter) while the windows authentication mode is used, the provided session id is not used. When this option is used, wcfsecuritymode must be message. Note that when using QPR Reporting Add-on with QPR UI, the setting cannot be used, because QPR UI connects to the Reporting Add-on using the user account which runs the Payara web server (not the person's user account).
  • commonqprauthentication: Common QPR authentication is a mechanism where QPR products have been configured to trust each other in a way that when a user is authenticated to one of the products, the user is also authenticated to other QPR products as well. When common QPR authentication is in use, session id of the source QPR system is passed as a parameter to the Reporting Add-on. Note that the session id doesn't need to be the QPR Web Service session id, but the session id of any QPR product may be used. The xsession parameter is used to pass the common authentication session id. This options can be used when wcfsecuritymode is either none or message. Also the token authentication introduced in QPR Suite 2019.1 works with the commonqprauthentication setting. Note also that the isn't any more the passedsession setting, but the commonqprauthentication settings also covers that usecase.
  • fixedcredentials: The defined user account is used for all access to QPR Web Service. The account's username and password are defined in the configuration (see settings username and password). Note that from the data security point of view this is not the best option, because users running the reports may see data that they don't see in their own account. If the session id is provided (in the xsession parameter), when the fixedcredentials authentication mode is used, the provided session id is used instead of authenticating using the fixed credentials. This options can be used when wcfsecuritymode is either none or message.

When using QPR Suite 2017.1 or an older version, the options are as follows:

  • windows: Windows user making the request is used to authenticate to QPR Web Service. It’s advisable to use this authentication method if available. If the session id is provided (in the xsession parameter) while the windows authentication mode is used, the provided session id is not used. When this option is used, wcfsecuritymode must be message. Note that when using QPR Reporting Add-on with QPR UI, the setting cannot be used, because QPR UI connects to the Reporting Add-on using the user account which runs the Glassfish web server (not the person's user account).
  • passedsession: QPR Web Service session id must be passed as a parameter to the Reporting Add-on. This means that the authentication to QPR Web Service must have been done beforehand by some other system than the Reporting Add-on. The parameter name is xsession. Note that the session id must be the QPR Web Service session id. This options can be used when wcfsecuritymode is either none or message.
  • commonqprauthentication: Common QPR authentication is a mechanism where QPR products have been configured to trust each other in a way that when a user is authenticated to one of the products, the user is also authenticated to other QPR products as well. When common QPR authentication is in use, session id of the source QPR system is passed as a parameter to the Reporting Add-on. Note that the session id doesn't need to be the QPR Web Service session id, but the session id of any QPR product may be used. The xsession parameter is used to pass the common authentication session id. This options can be used when wcfsecuritymode is either none or message.
  • fixedcredentials: The defined user account is used for all access to QPR Web Service. The account's username and password are defined in the configuration (see settings username and password). Note that from the data security point of view this is not the best option, because users running the reports may see data that they don't see in their own account. If the session id is provided (in the xsession parameter), when the fixedcredentials authentication mode is used, the provided session id is used instead of authenticating using the fixed credentials. This options can be used when wcfsecuritymode is either none or message.
wcfsecuritymode

This setting defines which security settings are used by the QPR Web Service (i.e. whether the Windows authentication is in use). This setting must correspond to QPR Web Service settings (in C:\Program Files\QPR Software Plc\QPR 201X.1 Servers\WebServices\web.config). Options:

  • none: Use this when Windows authentication in the QPR Web Service is not in use.
  • message: Use this when Windows authentication in the QPR Web Service is in use.
dprtemplatesphysicalpath Folder in the file system where QPR PowerPoint Reports template files are located.
dwrtemplatesphysicalpath Folder in the file system where QPR Word Reports template files are located.
dwvtemplatesphysicalpath Folder in the file system where QPR Web Views template files are located.
installpath Path for QPR Web Services Extensions binaries installation folder, which is by default C:\inetpub\wwwroot\QPRWebServicesExtensions. This information is needed by Expression language WebpageAsImage function.
templatecaching Determines whether template files caching is enabled (true) or disabled (false). Template caching means that templates are read from file system to server memory when the IIS web application starts. When template caching is enabled, pages are processed faster and disk load as reduces. Template caching should be enabled for production environments.

Template caching is usually be disabled for development work, so that changes in templates can be seen immediately in result pages. When template caching is disabled, all templates are read into memory every time, when a page is requested.

disallowedfunctions Comma separated list of functions that are not allowed to be executed by the Reporting Add-On. There are some functions which are able to manipulate files in the server computer, and enabling those files may cause security issues. Function names must be written in lowercase.
loglevel Possible values: None, Error, Information and Verbose.
qprwebapplicationname Setting for Dynamic Web Views: Name of the QPR web application in IIS. This parameter is not mandatory, but it should be defined, as it can be used by html content to reference QPR resources published in IIS (such as images and css files).
reporttemplateparameter Setting for Word reports: Defines the name of the parameter which passes the report template path. See chapter Working with Report Templates.
qprtemplateidparameter Setting for Word reports: Parameter name which passes QPR’s Word report template object id. This can be used when the report templates are stored in QPR Portal (i.e. QPR system objects) (see chapter Working with Report Templates)
username Password for QPR Suite when authenticationmode is fixedcredentials.
password Password for QPR Suite when authenticationmode is fixedcredentials.
executionTimeout (in the httpRuntime tag) Timeout for request processing in seconds. Usually there is no need to change this setting. The value should be increased if there are heavy requests which take time to run. Note that the timeout limit works as a protection when the processing never ends as a results of an error (this may be possible in e.g. recursive reports).

Installation Test

Do the following tests to confirm that QPR Reporting Add-on is working:

  1. Open http://SERVERNAME/QPRWebServicesExtensions/ExpressionEngine.svc. The address starts with https instead of http, when also QPR Portal address starts with https. There should open a page stating You have created a service. If an internal server error (error code 500) with no error details is returned, test the url in the server, because in the server the error message has more details.
    • If this works, the .Net application is running properly in IIS.
    • If this doesn’t work, there is a problem with IIS settings or .Net installation.
  2. Open QPR Web Services Tester, which is usually in http://SERVERNAME/QPR201X-1/Portal/QPR.Isapi.dll/wsforward/servicetester.aspx. The SERVERNAME can be found in QPR Portal url address. The address starts with https instead of http, when also QPR Portal address starts with https.
  3. Set valid credentials in the Authentication tab. Confirm that QPR Web Services is working by making a query using QPR Web Services Tester in the QueryObjects tab.
  4. Check that the page contains RunExpression tab.
  5. Query for example [UM].users like in the image below. When clicking QueryObjectsAsXml, the test is successful, if a text starting with <ResultsetHierarchy … appears. Note that your query results may be different than the results in the image. If this test doesn’t work, there is a problem with QPR Web Services.


Installation test.jpg

6. Go to RunExpression tab, click Run using the expression it contains by default. It should return Ok (below the Run button). This confirms that the .Net application is running in IIS and the QPR Web Services connection works.

Running Multiple QPR Reporting Add-ons

It may be needed to run multiple QPR Reporting Add-on instances in the same server machine, e.g. when different versions or different QPR Reporting Add-on settings are needed. Running multiple QPR Reporting Add-on instances simultaneously is possible: Copy the QPRWebServicesExtensions folder with a different name to IIS root folder, and make all the settings made to the default folder to that folder. The other instance is referenced using the other folder name in URLs.

Troubleshooting Installation Issues

Issue Resolution
Web browser returns Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. See the resolution here: https://support.microsoft.com/en-us/kb/2015129
Web browser returns: Memory gates checking failed because the free memory (nnn bytes) is less than x% of total memory. As a result, the service will not be available for incoming requests. To resolve this, either reduce the load on the machine or adjust the value of minFreeMemoryPercentageToActivateService on the serviceHostingEnvironment config element. The reason for this error is that there is little free memory in the system, and thus the primary solution is to get more free memory in the system. It’s still possible to set the free memory limit to a lower level, but this may cause instability. To do that, find the setting minFreeMemoryPercentageToActivateService from the QPR Web Services Extensions’ web.config and set the limit lower (e.g. to 2). More information:

https://msdn.microsoft.com/en-us/library/dn458357(v=vs.110).aspx

Web Server returns Request URL Too Long and HTTP Error 414. The request URL is too long. Open IIS Management Console, open QPR Web Services Extensions, click Request Filtering, click Edit Feature Settings... and increase Maximum URL length (Bytes) setting (e.g. add two or three zeroes at the end).
Following errors are returned by Expression Engine tester: The message with Action 'http:// schemas.xmlsoap.org/ws/2005/02/trust/RST/ Issue' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding\security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None). Secure channel cannot be opened because security negotiation with the remote endpoint has failed. This may be due to absent or incorrectly specified EndpointIdentity in the EndpointAddress used to create the channel. Please verify the EndpointIdentity specified or implied by the EndpointAddress correctly identifies the remote endpoint. The reason is the QPR Web Services and QPR Web Services Extensions WCF settings don’t match. Please check installation steps 3, 4 and 6.

When running a report, the following error appears:

Requested registry access is not allowed.
The type initializer for 'MS.Utility.EventTrace' threw an exception.
Error in opening document - the document is not valid Office Open XML format

This is a user rights issue. Check that the Application Pool Identity is LocalSystem.

When opening QPR Web Services Tester, the following message appears: ... Redirecting to mainservice page .... There may be a problem with IIS handler mappings. Tests with following settings:
  • Remove C:\inetpub\wwwroot\web.config if it exists. Make a backup before deleting.
  • Contents of C:\inetpub\wwwroot\qpr201X-1\web.config should be
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <directoryBrowse enabled="false" />
        <httpErrors>
            <clear />
        </httpErrors>
        <handlers accessPolicy="Read, Execute, Script">
            <remove name="AssemblyResourceLoader-Integrated-4.0" />
            <remove name="AssemblyResourceLoader-Integrated" />
            <remove name="AXD-ISAPI-4.0_64bit" />
            <remove name="AXD-ISAPI-4.0_32bit" />
            <remove name="AXD-ISAPI-2.0" />
            <remove name="AXD-ISAPI-2.0-64" />
            <remove name="PageHandlerFactory-ISAPI-4.0_64bit" />             
       <remove name="PageHandlerFactory-Integrated-4.0" />
            <remove name="PageHandlerFactory-ISAPI-4.0_32bit" />
            <remove name="PageHandlerFactory-Integrated" />
            <remove name="PageHandlerFactory-ISAPI-2.0" />
            <remove name="PageHandlerFactory-ISAPI-2.0-64" />
            <remove name="svc-ISAPI-4.0_64bit" />
            <remove name="svc-ISAPI-4.0_32bit" />
            <remove name="svc-Integrated-4.0" />
            <remove name="svc-ISAPI-2.0-64" />
            <remove name="svc-ISAPI-2.0" />
            <remove name="svc-Integrated" />
        </handlers>
    </system.webServer>
</configuration>
  • Contents of C:\inetpub\wwwroot\qpr201X-1\Portal\web.config should be
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers accessPolicy="Read, Execute, Script" />
        <directoryBrowse enabled="false" />
        <defaultDocument>
            <files>
                <clear />
                <add value="Default.htm" />
                <add value="Default.asp" />
                <add value="index.htm" />
                <add value="index.html" />
                <add value="iisstart.htm" />
                <add value="default.aspx" />
                <add value="QPR.Isapi.Dll" />
            </files>
        </defaultDocument>
    </system.webServer>
</configuration>

Uninstallation

Follow these steps to uninstall QPR Reporting Add-on:

  1. In IIS Management Console click Remove for the QPRWebServicesExtensions web application (mouse secondary button).
  2. Delete the web application’s folder C:\inetpub\wwwroot\QPRWebServicesExtensions in the disk.
  3. Revert the original C:\Program Files\QPR Software Plc\QPR 201X.1 Servers\WebServices\servicetester.aspx from release package.

QPR Reports Menu

QPR Reports Menu is a dropdown menu for QPR Suite Portal to open reports and web pages that can be referenced using urls. The menu is able to add context related information automatically to the url as parameters, such as model, diagram and object id. Report items in the menu are configured in the file C:\DWV templates\ReportsMenu\ReportsMenuConfiguration.xml (the location may vary).

Reports Configuration

Report items in the menu are configured in the file C:\DWV templates\ReportsMenu\ReportsMenuConfiguration.xml (note that your location may be different). The configuration is an xml file having a root tag reportsmenu and subtags menuitem for individual report items. The menuitem tag has menu item settings as subtags which are described in the following table.

Settings can be defined using static string values or expressions. If the value is defined using an expression following attribute is added to the settings tag: expression="true". Note that the setting tags must be in the order that they are defined in the following table. Settings that are not mandatory, can be left out.

Parameter Description
reportname (string) Visible name of the report in the dropdown menu.
reporturl (string) Url to the report. Characters ? and & are automatically added to the end of the url if needed for appending url parameters. To build SSRS report urls, see http://msdn.microsoft.com/en-us/library/ms153586(v=sql.110).aspx.
availabletabs (string) List of QPR Portal tabs where the report is available. Available tab names can be found in http://kb.qpr.com/qpr2017-1/index.html?getportalurl.htm (see "Also Portal internal view names..."). The tabs need to be defined in lower case. If this parameter is empty, the report is visible in all tabs.

Following default tabs name are available: pgplugin_processmaps, pgplugin_navigator, pgplugin_actions, pgplugin_organizations, scplugin_scorecards, scplugin_strategymaps, scplugin_analysis, scplugin_navigator, scplugin_reports, scplugin_actions, discussion, byuser, bytime, actionanalysis

passparameters (string) List of parameters that are passed to the external report (see available parameters in chapter Portal Context Parameters). Passed parameters may be restricted, because e.g. SSRS gives an error when parameters are passed that are not defined in the report.
order (integer) An integer which determines order of reports in the menu. The reports are shown in the ascending order. If there are multiple reports with a same order number, the alphabetical order of the reportName parameter determines the ordering (secondary sorting).
waitanimation (boolean) Determines whether to use animation while waiting report loading. This only works in the Word reports. Options true and false.

The animation may only be used if the report access url has same DNS name and port than QPR Portal. This is because the disappearance of the animation is based on a cookie that is set by report providing server when the report is ready. When the cookie is received from the response of the report providing server, the loading animation is removed. If the loading animation doesn’t work correctly for any compatibility issue, disable it (set to false).

visibility (string) Determines the visibility status of the report item in the menu. Available statuses are:
  • visible: The report is visible and can be opened.
  • disabled: The report is visible in the menu in a grey color, and it’s not openable. This status can be used to imply, that there is some condition preventing from running the report, such as the required type of element is not selected.
  • hidden: The report item is not visible in the menu at all.
visiblemessage (string) Tooltip text shows for visible report items when cursor is moved over the report item. The text may contain html code.
disabledmessage (string) Tooltip text shown for disabled report items when cursor is moved over the report item. The text may contain html code.
accessrights (boolean) Determines if user has access to see the report item as boolean value (“true” if there are rights to see the report item).
[OpenWindow parameters] QPR Portal’s OpenWindow function parameters. These parameters determine e.g. size and position of the window. Available parameters:
  • target (string)
  • width (integer)
  • height (integer)
  • scroll (boolean)
  • preventcaching (boolean)
  • x (integer)
  • y (integer)

Portal Context Parameters

The following table lists information that can be passed to reports as url parameters.

Parameter Description
modelid PD/EA or Metrics model id
diagramid Diagram id (i.e. process level). Note that for the top diagram level, the id is "PG.<modelid>.0" which represents the model object.
objectid Object in details pane.
tab Name of the tab where the report is run.
zoom Zoom percentage. Only available in PD/EA tabs.
viewid View id
xsession QPR Web Service session id. External report can use this to login to QPR Web Service.
portalsessionid QPR Portal session id. Note that this is different than QPR Web Service session id. Portal session id is needed, when the url refers to the QPR Portal itself and no Windows authentication is used. QPR Portal session id is added to the url as a parameter named SES.
currentuserid Current user id.
scorecardid Scorecard id. Only available in Metrics.
seriesid Series id. Only available in Metrics.
periodid Period id. Only available in Metrics.

Acknowledgements

Open XML Power Tools. Copyright (c) Microsoft Corporation

This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. 1. Definitions The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. A "contribution" is the original software, or any additions or changes to the software. A "contributor" is any person that distributes its contribution under this license. "Licensed patents" are a contributor's patent claims that read directly on its contribution.

2. Grant of Rights (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.

3. Conditions and Limitations

(A) No Trademark License- This license does not grant you rights to use any contributors'name, logo, or trademarks.

(B) If you bring a patent claim against any contributor over patents that you claim areinfringed by the software, your patent license from such contributor to the software ends automatically.

(C) If you distribute any portion of the software, you must retain all copyright, patent,trademark, and attribution notices that are present in the software.

(D) If you distribute any portion of the software in source code form, you may do so onlyunder this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.

(E) The software is licensed "as-is." You bear the risk of using it. The contributors giveno express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.


3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.


END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright 2014 Microsoft Open Technologies, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


NCalc. Copyright (c) 2011 Sebastien Ros

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.