This developer’s guide describes how to extend the capabilities of the FlowJo application using the FlowJo plugin framework. Using this mechanism, FlowJo can invoke your own custom code to analyze populations with new algorithms or visualizations, or to integrate your analysis with your laboratory information system. By implementing a Java interface and bundling your code into a jar file, the FlowJo application will invoke your code so it can perform calculations, or communicate with external systems, and then provide results back to FlowJo for further analysis with FlowJo’s tools.

This guide will describe the two types of plugins and the simple interfaces that you implement for them. For each type of plugin, we will show example code that illustrates the basic concepts, and also introduce FlowJo’s utility Java classes you can use in your plugin code. We also provide more comprehensive examples to show the entire range of capabilities. Finally this guide describes the steps to develop and deploy your plugin in the FlowJo installation on your local computer. We assume a beginner level of knowledge of the Java programming language and XML, and a basic understanding of the FlowJo application.