Did you spot something wrong or missing on this page? If you have an account on this TWiki, you can fix it yourself by editing the page. If you don't have an account, you can leave a message at the bottom of the page to tell us about it. Thank you in advance!
Contributing to HIPE
HIPE stands for Herschel Interactive Processing Environment. It is an open source, multi-platform graphical environment to reduce and analyse your Herschel data.
These pages give you a quick overview of HIPE as well as an introduction on how to contribute to it.
HIPE is an extensible environment, continually improved by dozens of contributors. You too can contribute to HIPE by developing tools that manipulate data, a new perspective, a new view, a new data visualisation component and so forth. You can make your contributions available as plug-ins that users can easily find, install and update.
For beginners
Getting started with HIPE development
This chapter from the Scripting Guide teaches you the basics of Jython, the scripting language used by HIPE. Learn how to write scripts, how to share them, and compare Jython and IDL syntax.
Read more...
Contributing to HIPE
These tutorials on the HIPE community wiki focus on writing and modifying HIPE tasks. Tasks are the building blocks of data processing in HIPE: every step of a data reduction pipeline is a task.
Read more...
For advanced developers
Overview of HIPE
This section explains the philosophy behind the framework and provides a brief overview of its fundamental elements. The aim is to enable you to make contributions to HIPE.
Read more...
Advanced Java HIPE development
This tutorial will teach you the following:
How to obtain the source code of HIPE.
How to use the Eclipse development environment to modify a component of HIPE.
How to put back the modified component into HIPE to see the result of your changes.
The contents of certain views can be extended by developers, such as the Outline View and the Editor Area. Both are examples of the system reacting on a data selection made by the user.
Here we explain how you can contribute to the outline view and the editor area.
Read more...
Adding views
You can develop new views and add them to the work-bench of HIPE. This section briefly explains how to do this.
Read more...
Adding perspectives
If you think that a set of (new) views should be presented in standard layout, you can do so by creating a new perspective. Such a perspective defines
how these views are laid out in tabs and split panes. This section briefly explains how to contribute a new perspective.
Read more...
Menus, toolbars, drag & drop
Menus, toolbars, pop-ups and drag & drop are supported in the HIPE interface and in the View components via the same set of interfaces.
Read more...
Adding preferences
This section explains the relationship between preferences and properties in HIPE, and how you can contribute to:
Introduce preferences and develop a GUI panel for them in your module.
Make a bridge between preferences and existing properties.
Use preferences in client code.
Listen to changes in preferences to adapt your functionality dynamically.
You must register your contribution (whether it is a tool, perspective, view, component to views or component to the editor area) to HIPE to make it part of the application. Registering means that you have to write add an entry to the jython package module (aka __init__.py) within the sub-system that is under your control.
This section explains the workings of the registry works and how it can automatically find your contribution.
Read more...
Common utilities
This section explains additional useful information for HIPE developers, both for contributors with views, editors, etc. and for maintainers of the HIPE framework.
Read more...