Development

2024-03-28

Developer Resources

LabKey Server is broadly API-enabled, giving developers rich tools for building custom applications on the LabKey Server platform. Client libraries make it easy to read/write data to the server using familiar languages such as Java, JavaScript, SAS, Python, Perl, or R.

Stack diagram for the LabKey Server Platform:

Get Started

To use most of the features in these sections, you must have the "Platform Developer" or "Trusted Analyst" roles on your server. Learn more in Developer Roles.

Client API Applications

Create applications by adding API-enhanced content (such as JavaScript) to wiki or HTML pages in the file system. Application features can include custom reports, SQL query views, HTML views, R views, charts, folder types, assay definitions, and more.

  • LabKey Client APIs - Write simple customization scripts or sophisticated integrated applications for LabKey Server.
  • Tutorial: Create Applications with the JavaScript API - Create an application to manage reagent requests, including web-based request form, confirmation page, and summary report for managers. Reads and write to the database.
  • JavaScript API - Select data from the database and render as a chart using the JavaScript API.

Scripting and Reporting

LabKey Server also includes 'hooks' for using scripts to validate and manipulate data during import, and allows developers to build reports that show data within the web user interface

  • Transform Scripts for Assays (which operate on the full file) can be written in virtually any language.
  • Trigger Scripts which operate at the row-level, are written in JavaScript and supported for most data types.
  • Using R scripts, you can produce visualizations and other analysis on the fly, showing the result to the user in the web interface.
  • Pipeline support for script sequences: Script Pipeline: Running Scripts in Sequence.

Module Applications

Developers can create larger features by encapsulating them in modules

LabKey Server Open Source Project