Creating Integrated Reports

Top  Previous  Next

 

dbQwikSite features a plug-in architecture for project reports.

Reports can be designed using XML Style Sheets (XSL)  and XML Transformations (XLT) against the project XML.  dbQwikSite does not provide an facilities for development of XLS or XLT, for this report developers need 3rd party tools.

 

Designing Project Reports

 

Normally you will use XML design tools to create your XLS outside of dbQwikSite.  Once you are happy with your report design, you can integrate it into dbQwikSite so that it appears in the reports menus and can be run from inside dbQwikSite.

 

Integrating Project Reports

 

To integrate a report into dbQwikSite, you must complete 2 steps.  Firstly you must store your xsl report file in the Integration folder of dbQwikSite, and you must define an XML report descriptor for dbQwikSite.

 

1) Put your report xsl into the integration folder.

Reports are kept in:

[install directory]\Integration\Reports

most often this is C:\Program Files\dbQwikSite 4.2\Integration\Reports

 

Just add your xsl file into this folder

 

2) Define XML Description File.

 dbQwikSite loads reports using instructions found in an XML file.  This file must be named with a ".xrep" extension.  Normally you would name your file REPORT_NAME.xrep.  The easiest way to create this file is to copy an existing .xrep

and modify it to contain the details of your report.  Below is an explanation of the format and contents of the .xrep file.

 

.xrep file

 

Legend: <-- Green Instructions  = things you should change

                    <-- Blue Instructions    =  info, no need to change

            <-- Red Instructions    =  Warnings, don't change.

 

<?xml version="1.0" encoding="utf-8"?>

<plugin>

 <identification>

         <title>Group Pages</title>         <-- put your report name here 

         <name>QS_Groups_Page_Report</name> <-- put your report name here 

         <version>1.0</version>             <-- put your report version here

         <status>enabled</status>           <-- "enabled" will load in QS

         <description>Reports of all visible Pages in a all Groups"

         </description>                     <-- description as you please, no limit, not shown anywhere

 </identification>

 <categories>

         <category>

                 <name>Integration</name>    <-- Don't Change

         </category>

 </categories>

 <menus>

         <menu>

                 <anchormenuname>mnuReports</anchormenuname>             <-- Recommended

                 <anchorposition>child</anchorposition>                  <-- Recommended

                 <caption>Project Pages With Their Datasets...</caption> <-- Caption to show in menu item to run report

                 <path></path>                                           <-- optional submenu path eg submenu1|submenu2|...

                 <bitmap>imagefilename.bmp</bitmap>                      <--  menu item icon.  Future Use.

                 <hint>All visible Pages in your project</hint>          <--  Help hint, shown in QS Status bar

                 <helpcontext>0</helpcontext>                            <--   Future Use.

                 <contextenabled>PROJECT_OPENED</contextenabled>         <--   Future Use.

         </menu>

 </menus>

 <definition>

         <sourcedata>PROJECT</sourcedata>                               <-- Don't Change

         <xpathinit preprocess="TRUE" source='cdata'></xpathinit>       <-- Don't Change. Future Use.

         <xquery preprocess="TRUE" source='file'></xquery>              <-- Don't Change. Future Use.

         <xpath  preprocess="TRUE" source='cdata'></xpath>              <-- Don't Change. Future Use.

         <xsl source='file'>QS_Groups_Page_Report.xsl</xsl>             <--file name of xsl file that defines the report (no path allowed)

         <xsloutput>QS_Groups_Page_Report.htm</xsloutput>               <-- name of the output HTML file name (required)

         <runtime type="built-in" call-convention="DOM">                <-- Don't Change

                 <library>built-in</library>                             <-- Don't Change

                 <function>xslreport</function>                          <-- Don't Change

         </runtime>

 </definition>

</plugin>