From Helioviewer Wiki
This page contains information relating to the development of the Helioviewer Project.
Development for Helioviewer is divided up by project, the major ones being:
Revision control and bug & feature tracking are managed through Launchpad. There is also a developer mailing list hosted at Google Groups which is open for anyone to join. Interested individuals are encouraged to sign up for an account on Launchpad and grab the latest version of whichever project they are interested in. Once you have a good understanding of the software, and are ready to contribute, create a development branch (e.g. lp:~john/helioviewer.org/john-dev) the code section for your project at Launchpad and add your changes.
Helioviewer Project Development Guidelines
- Coding Standards:
- Java: We have adopted Sun's official Java Code Conventions. An Eclipse settings file for our coding standards can be found on Formatting.
- PHP: We have adopted the PEAR PHP coding standards. (line-width: 120)
- JHelioviewer Development Introduction
- JHelioviewer Code Documentation
- Web Application Developer Guidelines
A couple of the main resources available to developers are the Launchpad project pages which is where we track bugs and feature-requests, plan releases, and maintain source code. For discussion related to Helioviewer development there is a mailing list hosted on Google Groups.
We use the Bazaar distributed version control system, in connection with the code hosting and software collaboration platform Launchpad. There are a couple useful documents to help you get started with Bazaar:
- "Bazaar in five minutes"
- The Bazaar User Guide is a very helpful resource to get started. It is recommended to read the first six chapters, including "Team collaboration, distributed style".
The JPEG 2000 image format plays an important part in the Helioviewer project. Here are a few resources to learn more about the image format and how it is used in Helioviewer Project software.
- JPEG2000 file design for the Helioviewer Project - Explains some of the details and motivation regarding the specific parameters chosen for use in Helioviewer.
- Helioviewer JP2 XML Tags - List of XML tags in Helioviewer-formatted JP2 images.
- FITS2HV - Describes how the FITS keywords are used in the Helioviewer project.
- Some articles on JPEG 2000
There are three places where ideas for future features can be created and stored:
- Helioviewer Brainstorm - A place to list any ideas for the project for future reference. Eventually ideas which are decided to be worth acting on can then be transfered to either a Launchpad feature-request or blue-print.
- Launchpad Bugs/Wishlist - In Launchpad's bug-tracking system, feature-requests can be marked as having the priority "wishlist".
Launchpad Development Blueprints - Larger-scale projects can be described and assigned using Launchpad's "Blueprint" feature.
- SSW Cutout Service Integration
- Community Driven Feature Annotation
- Helioviewer Unified Installer
- Migrating to Cassandra
- Integrated Time & Movie Tool
- Movie Caching Scheme
- Helioviewer.org Performance Improvements
- Helioviewer.org User Settings Profiles
- Visual Glossary
- SOCIS 2011 Ideas Page
- Rethinking the image pipeline
Solar Physics Space Missions