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/pentaho.xml as a System Listener:
<version-checker>org.pentaho.plugin.versionchecker.VersionCheckSystemListener</version-checker>
Also in the pentaho.xml file are version checker configuration items:
<version-check-config> <!-- defines how often --> <repeat-interval-seconds>86400</repeat-interval-seconds> <!-- valid release flags include: Major, Minor, RC, GA, Milestone --> <release-flags>Minor, GA</release-flags> <!-- set to "true" to disable the version checker --> <disable>false</disable> </version-check-config>
- repeat-interval-seconds - 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.
- release-flags - defines the set of releases that the platform receives notifications about.
- disable - 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 disable to true causes the version checker system listener to not schedule the quartz job and not execute any updates
- deleting the VersionCheckSystemListener from the pentaho.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.