There are three main activities in developing a Haplo application.

1) Choose a starting point

Several customisable Haplo applications are available as starting points. If one is appropriate, it will provide a large amount of functionality that can accelerate your development.

Alternatively, you can quickly build a system for storing and finding information just by configuring the base system. Haplo can be configured to model just about any organisation or data set.

2) Write plugins

To add extra functionality, you can write a plugin. These are written in JavaScript, and run on the server in an isolated sandbox. They allow you to change core parts of the Haplo user interface, use the object store, and implement any functionality which can be developed as a web application.

A comprehensive and easy to use JavaScript API enables you to build great applications extremely quickly.

The standard plugins, which form part of the Platform, provide core features that will be useful for your application. In addition, there are open source plugins which provide components, particularly the haplo-plugins repository.

3) Connect to external systems

If you’d like other systems running on other servers or client applications to use the objects in the Haplo object store, you can use the generic or data import REST APIs. In addition, you can use message queues to send application specific messages, or use the generic global observer.

Of course, you can also write your own custom APIs with a JavaScript plugin, either to make queries which are inefficient with the APIs, or perform custom processing with the data stored by your plugin.