Abiquo 5.0

Skip to end of metadata
Go to start of metadata

Abiquo Reporting Upgrade Guide

A full guide to upgrading to Abiquo reports from versions prior to Abiquo 3.0 to any version of Abiquo 3.x.

Changes to Reports in Abiquo 3.0

Enhancements to reporting in Abiquo 3.0 are:
  • Support for Abiquo 3.0 database schema
  • Replacement of the deprecated abiquo API-based JasperServer Authentication scheme with a new DBMS-based authentication scheme
  • Role mappings, which are used to control visibility and access to reports depending upon Abiquo Roles and privileges
  • Support for the configuration of Basic HTTP Authentication
  • Stored procedure to delete temporary tables

See Upgrade Abiquo Reports to 3.0

Support for Abiquo 3.0 database schema

The main Abiquo kinton schema was changed for version 3.0. However, Abiquo reports use an intermediate reporting schema based on a set of views. This means that we were able to modify the view definitions to work with the new schema and the reports supplied with previous versions of Abiquo should work as before. These reports make no distinctions between public and private datacenter types.

User authentication scheme changes

Abiquo 3.0 Reports use the new Spring-based user authentication scheme which was introduced in JasperServer 5.1. This ensures compatibility with future versions of JasperServer and also makes it easier to install and configure the authentication component.

Abiquo Reports Upgrade Steps

These steps are designed for upgrading from Abiquo Reports version 2.6.0 or earlier.

Log in to Abiquo

Log in to Abiquo to activate Abiquo password improvements before you install reports.

Backup Custom Reports

If you have custom reports, create a backup of these reports before starting the upgrade.

Remove Reports folder from JasperServer Repository

Login to JasperServer as jasperadmin. Navigate to the 'abiquo Reports' folder.  Right click it and select 'Delete'

Stop the JasperReports Server

Stop the JasperReports Server. For a default Linux install, use the following command:

# /opt/jasperreports-server-cp-5.5.0/ctlscript.sh stop 

Remove previous authentication

To upgrade to 3.0.x Reports, remove the previous authentication configuration from JasperServer. 

To do this, edit the file applicationContext-security.xml. For example, in a Linux default install, to edit the file with the vi editor:

# vi /opt/jasperreports-server-cp-5.5.0/apache-tomcat/webapps/jasperserver/WEB-INF/applicationContext-security.xml

The previous Abiquo authentication configuration will look as follows:

    <!-- ======================== AUTHENTICATION ======================= -->
    <bean id="authenticationManager" class="org.springframework.security.providers.ProviderManager">
        <property name="providers">
            <list>
                <ref bean="abiquo_authenticator"/>
                <ref bean="${bean.daoAuthenticationProvider}"/>
                <!-- anonymousAuthenticationProvider only needed if filterInvocationInterceptor.alwaysReauthenticate is set to true
                    <ref bean="anonymousAuthenticationProvider"/> -->
                <!--ref local="jaasAuthenticationProvider"/-->
            </list>
        </property>
    </bean>
 
    <bean id="abiquo_authenticator" class="com.abiquo.jasperserver.auth.AuthenticateAbiquoUser">
        <property name="abiquoURL"><value>http://abiquo-server.example.com:8009</value></property>
        <property name="userRole"><value>ROLE_USER</value></property>
        <property name="adminRole"><value>ROLE_ADMIN</value></property>
    </bean>

<!-- anonymousAuthenticationProvider only needed if filterInvocationInterceptor.alwaysReauthenticate is set to true
    <bean id="anonymousAuthenticationProvider" class="org.springframework.security.providers.anonymous.AnonymousAuthenticationProvider">
        <property name="key"><value>foobar</value></property>
    </bean>
-->
Remove the authenticationManager reference

Find the authenticationManager bean. In the providers list, find and remove the abiquo_authenticator bean, which is a reference at the top of the list.

So, remove this text:

<ref bean="abiquo_authenticator"/>

And it should look as follows:

    <!-- ======================== AUTHENTICATION ======================= -->
    <bean id="authenticationManager" class="org.springframework.security.providers.ProviderManager">
        <property name="providers">
            <list>
                <ref bean="${bean.daoAuthenticationProvider}"/>
                <!-- anonymousAuthenticationProvider only needed if filterInvocationInterceptor.alwaysReauthenticate is set to true
                    <ref bean="anonymousAuthenticationProvider"/> -->
                <!--ref local="jaasAuthenticationProvider"/-->
            </list>
        </property>
    </bean>
Remove the abiquo_authenticator bean

Under the above section, find and remove the abiquo_authenticator bean with its properties as shown below. .

   <bean id="abiquo_authenticator" class="com.abiquo.jasperserver.auth.AuthenticateAbiquoUser">
       <property name="abiquoURL"><value>http://hostname_or_ip:port</value></property>
       <property name="userRole"><value>ROLE_USER</value></property>
       <property name="adminRole"><value>ROLE_ADMIN</value></property>
   </bean>

Your file should now look similar to the following example:

    <!-- ======================== AUTHENTICATION ======================= -->
    <bean id="authenticationManager" class="org.springframework.security.providers.ProviderManager">
        <property name="providers">
            <list>
                <ref bean="${bean.daoAuthenticationProvider}"/>
                <!-- anonymousAuthenticationProvider only needed if filterInvocationInterceptor.alwaysReauthenticate is set to true
                    <ref bean="anonymousAuthenticationProvider"/> -->
                <!--ref local="jaasAuthenticationProvider"/-->
            </list>
        </property>
    </bean>

<!-- anonymousAuthenticationProvider only needed if filterInvocationInterceptor.alwaysReauthenticate is set to true
    <bean id="anonymousAuthenticationProvider" class="org.springframework.security.providers.anonymous.AnonymousAuthenticationProvider">
        <property name="key"><value>foobar</value></property>
    </bean>
-->

 

Download and Unzip Abiquo Reports Folder

Obtain the Abiquo Reports module from Abiquo Support. Create a reports directory, for example, abiquo_reports_300. Unzip the module (e.g. 'unzip abiquo-reporting-core-3.0.0.zip') into the new reporting folder on the reports server. The folder structure should look as follows:

Reports folder and file structure
/<report_parent_folder>
	install.sh
	install_auth.sh
	auth/
		abiquo-jasperserver-auth.jar
		applicationContext-externalAuth-abiquo-db.xml
	reports/
		…
FileNew inDescription
install.sh2.6BASH script to install the reports into JasperServer and/or the DBMS
install_auth.sh3.0BASH script to install and configure the JasperServer authentication components
auth/3.0Folder containing the authentication JAR file and template authentication XML file used by install_auth.sh to configure and install the authentication components
reports/ Contains the JasperServer and DBMS report objects

Install the Abiquo JasperServer authentication components

From the reporting folder, run the Abiquo JasperServer authentication install scripts.

./install_auth.sh -sh=<dbms_ip> -su=<sql_admin_user> -sp=<sql_admin_user_password>

For example, for a default install on Linux, the command may look as follows:

 

./install_auth.sh -sh=192.168.56.45 -su=root -sp=mypassword

 

Start the JasperReports Server

Start the JasperReports Server. For a default Linux install, use the following command:

# /opt/jasperreports-server-cp-5.5.0/ctlscript.sh start 

Install Reports again

Install all of the reports and theme into the Abiquo database replica and JasperServer using the install.sh utility script.

./install.sh -su=<sql_admin_user> [-sp=<sql_admin_user_pwd>] [-sh=<replicaDBhost>]

For example

# ./install.sh -su=root -sp=mypassword -sh=192.168.56.101

 

Log in to Jasper Server

In your browser, log in to the Jasper Server. For example, if you have the default Tomcat setup (http port 8080) go to the following URL.

http://<hostname>:8080/jasperserver

Username: jasperadmin Password: jasperadmin

Reconfigure the Abiquo Data Source to point to the DB

  1. Open the abiquo Reports folder. Select the Common/Data Sources folder
  2. Right-click on Abiquo Database and select Edit
  3. In the URL field, enter the Abiquo replica database hostname or IP address
  4. Update the User Name and Password values with database user credentials for the reports, from step 12 above.
  5. Click Test Connection to verify the Data Source configuration. If successful, click SUBMIT to save the changes. Otherwise review your settings for 13.3 and 13.4 above, and ensure that MySQL was configured correctly.

 

  • No labels