This topic accompanies the Tech Talk: Developing File-based Custom Modules for LabKey Server given in May 2023.

Custom modules allow you to extend the functionality of the system by providing a method of developing new features to meet your data management and analysis requirements. In this Tech Talk, you will learn the basics of custom modules and how to develop your own.

Understand the use cases, types, and structure of custom modules Use the module editor in LabKey Server Develop views/web parts for your modules with custom scripting and styling Utilize R reports and SQL queries in modules Automatically initialize and load data into Data Structures using modules In this presentation, you will learn to create your own custom module, extending the functionality covered in the file-based module tutorial. The overarching theme of this module example is Food Science: Baking the Perfect Sourdough Loaf.


To get the most out of this presentation, you should have already set up your own local development machine as covered in this topic:

You may also want to first complete the basic tutorial here:

Module Overview

Modules are encapsulated functionality in a standardized structure. A module can contain many features and customizations that you could also define in the user interface. Using a module instead provides many benefits:

  • Version control integration
  • Ease in deploying between test & prod servers
  • Modularity and reusability
  • Leverage built-in capabilities and features

Anatomy of a File-Based Module

The image shows the basics of how a module is structured.

  • Lowercase names are literal values
  • Uppercase names are variable values
  • Ellipses indicate more possible file types
  • The module 'tree' is placed in /trunk/server/modules

Demo Outline

In the demo, you will see examples of these features:

  • Views and Webparts
  • Queries and Reports
  • Styling and Appearance
  • Module Editing

Developing and Deploying

Advanced Topics

Presentation Slides

To follow along with the presentation, you can download a PDF of the slidedeck here:

Link to Module and Source

The module reviewed in this presentation is part of the "LabKey/tutorialModules" repository on GitHub. You can download and extract the sourdough module content from this location:

Presentation Video

Watch the presentation here:

Related Topics

Was this content helpful?

Log in or register an account to provide feedback

expand allcollapse all