Premium Feature — Available in the Professional and Enterprise Editions of LabKey Server. Also available as an Add-on to the Starter Edition. Learn more or contact LabKey.

LabKey's JDBC driver allows Spotfire to query the server and use the results to build visualizations.

Set Up

To configure Spotfire to use the LabKey JDBC driver, do the following:

  • Copy the LabKey JDBC driver jar to the appropriate location on the Spotfire Server.
    • Starting with Spotfire Server 10.3, the driver should be placed in the following directory, to ensure that the files are handled properly by the Spotfire Server Upgrade Tool:
      <tibco-server-install>/tomcat/custom-ext/
    • On earlier versions of Spotfire, you may have placed the driver in the directory:
      <tibco-server-install>/tomcat/lib/
    • If files are placed in this "lib" (or another) directory, then one will have to manually move them during an upgrade.
    • For any version, if you encounter problems such as "The information link cannot be loaded from the server", trying the other folder location may resolve the problem.

<jdbc-type-settings>
<type-name>LabKey</type-name>
<driver>org.labkey.jdbc.LabKeyDriver</driver>
<connection-url-pattern>jdbc:labkey:https://HOST:PORT/CONTEXT</connection-url-pattern>
<ping-command></ping-command>
<use-ansi-join>true</use-ansi-join>
<connection-properties>
<connection-property>
<key>rootIsCatalog</key>
<value>true</value>
</connection-property>
</connection-properties>
</jdbc-type-settings>

For more details, see the Spotfire documentation:

connection-url-pattern

The connection URL pattern includes your HOST, PORT, and CONTEXT. The CONTEXT is either "labkey" or not necessary. The folder path on LabKey Server will be appended to this connection URL pattern.

For example, on a local development server, the connection URL line would look like:

<connection-url-pattern>jdbc:labkey:http://localhost:8080/labkey</connection-url-pattern>

On a production server, the connection URL line might look more like:

<connection-url-pattern>jdbc:labkey:https://labkey.org/</connection-url-pattern>

Applying Folder Filters

To control what folders and subfolders of data will be queried, limiting (or expanding) the scope of data included in spotfire visualizations, apply a container filter. Include a <connection-property> key-value pair in your XML configuration similar to this:

<connection-property>
<key>containerFilter</key>
<value>CurrentAndSubfolders</value>
</connection-property>

Possible values for the containerFilter parameter are:

  • Current (Default)
  • CurrentAndSubfolders
  • CurrentPlusProject
  • CurrentAndParents
  • CurrentPlusProjectAndShared
  • AllFolders
Learn more about using folder filters in this topic: filterbyfolder.

Using LabKey Data

  • In the Spotfire Information Designer add a data source of type 'labkey'. (Once you have successfully added the driver above, 'labkey' will be available in the Type dropdown.
  • You must also provide a Connection URL, Username, and Password. See an example screen shot below.
  • Now you will be able to see the LabKey Server folder heirarchy and exposed schemas.

Logging

In Spotfire Server, add the following to Spotfire’s tomcat/conf/logging.properties:

org.labkey.jdbc.level = FINE

In Spotfire’s tomcat’s default logging config, this will result in logging into the stderr log file appender.

Note that unimplemented JDBC methods get logged as SEVERE (java.util.logging) / ERROR (log4j/slf4j).

Logging options:

  • org.labkey.jdbc.level = FINE (Provides java.util.logging levels)
  • org.labkey.jdbc.level = DEBUG (Provides log4j or slf4j logging levels)

Related Topics


Premium Resource Available

Subscribers to premium editions of LabKey Server can learn more with the example code in this topic:


Learn more about premium editions

Was this content helpful?

Log in or register an account to provide feedback


previousnext
 
expand allcollapse all