Version Checker

This section may be outdated for version 2.0. It was copied from the version 1.7.0 documentation, and has not yet been updated. Once updated, please remove this note.

In order to increase the amount of positive feedback that we get from our communities we are introducing a version checker.

For information on the benefits to the community and to the software of a version checker please read The Case For Positive Feedback

The Pre-Configured Installation (PCI) will be the first package that will include the version checker. Our plan is to add the version checker to the design tools and ETL, OLAP and Reporting engines in upcoming releases.

Charter

This is our charter for our version checker:

Voluntary

The version checker can be disabled by editing the pentaho-solutions/system/systemListeners.xml file. See below for more details. The version checker can be removed entirely from the software without causing degradation of any kind.

No Discrimination

The data collected through the version checker will never be used to discriminate against any group, individual, or field of endeavor.

Transparency

Data Transmitted

The data sent by the version checker to our server is described below.

Purpose

The purpose of the version checker is to help focus the efforts of the community on the latest version of the software. This increases the number of contributions that are submitted and helps improve the functionality and stability of the software. 

The data from the version checker will provide us with more accurate data during the release cycle when estimating how many people are using the software and how hardened the new features are.

In addition data from the version checker will help us to plan and prioritize platform certifications, testing plans, and localization plans. 

Source Code

The source code for the version checker is available via an http interface into our subversion source code repository. Use these links to view the packages and code:

The source code that integrates the version checker into the Bi platform can be viewed using these links:

Privacy

The data collected through the version checker will not be used in a manner that violates Pentaho's privacy policy.

Configuration

The BI Platform Version Checker is a scheduled quartz job that determines if a new version of the platform is available, and if so, writes information to the BI Server log notifying the system administrator.  The Version Checker is configured in the pentaho-solutions/system/systemListeners.xml as a System Listener:

<bean id="versionCheckerSystemListener" class="org.pentaho.platform.scheduler.versionchecker.VersionCheckSystemListener">
  <property name="repeatIntervalSeconds">
    <value>86400</value>
  </property>
  <property name="requestedReleases" value="Minor, GA" />
  <property name="disableVersionCheck">
    <value>false</value>
  </property>
</bean>
  • repeatIntervalSeconds - defines the frequency in which the version checker quartz job executes to see if a new version is available.  The default value is every 24 hours, or 86400 seconds.
  • requestedReleases - comma separated list of release types that the platform receives notifications about. Valid values are: major, minor, RC, GA, and milestone. They are not case sensitive.
  • disableVersionCheck - allows the administrator to easily disable the version checker.

The version check system listener makes calls to the pentaho-commons jar file pentaho-versionchecker.jar.  This jar file makes an http request to a webservice at pentaho.com which returns a list of available updates based on the release-flags and your operating system, determined by the java system property "os.name".  To avoid repeated update notifications, a properties file is created in the user's home directory under .pentaho/.vercheck, which contains a unique identifier and a list of updates that have already been detected and logged.

WebService Call to Pentaho.com

 The webservice call to pentaho is simply an HTTP GET request with the following GET parameters:

  • protocolVer - specifies the Version Checker Protocol Version, currently 1.0
  • depth - a masked bit value consisting of the type of updates to receive. The mask list includes:
    • All OS Releases = 1
    • Verbose Output = 2
    • Major Releases = 4
    • Minor Releases = 8
    • RC Releases = 16
    • GA Releases = 32
    • Milestone Releases = 64
    • Windows Releases = 128
    • Mac Releases = 256
    • Linux Releases = 512
  • vi - a generated md5 checksum which is used to verify the authenticity of the request
  • guid - a randomly generated unique identifier
  • prodid -the product id to version check, POBS is the id for the BI Platform
  • version - The full version string of the current version of the product

Here is an example parameter string that is sent to the server:

?protocolVer=1.0&depth=152&vi=1142fca564f52589b9bc1b7be48c6321&guid=3b24b273-654d-11dc-9441-d1cf5202d758&prodID=POBS&version=1.6.0.RC3.831

Disabling the Version Checker

There are varying degrees of removing the version checker from the platform:

  • setting disableVersionCheck to true causes the version checker system listener to not schedule the quartz job and not execute any updates
  • deleting the versionCheckerSystemListener bean section from the systemListeners.xml file causes the system listener to never execute
  • deleting the pentaho-versionchecker.jar from the WEB-INF/lib directory, removes the code that actually executes the version check. The BI platform will continue to execute normally and no errors or warning will be displayed.