Bioclipse2
From BioclipseWiki
Contents |
Progress
Bioclipse2 is now close to the release of 2.2.0. The preliminary schedule is as follows:
- 2009-10-01: Feature Freeze
- 2009-10-15: Release Candidate 1
- 2009-10-29: Release 2.2.0
A full agenda is available in this Google Agenda.
The Bioclipse2 release plan contains more detailed information, and a list of available Bioclipse2 Features is available too.
We also advertise interesting features on Planet Bioclipse.
There is a list of Intractable_Bugs for bugs that are known but hard to solve.
Motivation
Bioclipse has outgrown its original design. We have therefore decided to start the design of Bioclipse2, which will be a complete rewrite of the core API and extension points to overcome the many deficiencies of the current design/implementation.
This document is to be considered as work in progress and will be frequently updated.
Design members
Ola Spjuth
Jonathan Alvarsson
Carl Mäsak
Egon Willighagen
Arvid Berg
Christoph Steinbeck
Martin Eklund
Johannes Wagener
Stefan Kuhn
Eskil Andersen
Miguel Rojas Cherto
Main goals with Bioclipse2
- JUnit testing of all functionality - requires better adherence to MVC architecture
- Redesign extension point design
- Construction of A Meta Language for Bioclipse (possible named Bioclipse Meta Language) as an and make all functionality available in this Application-specific language, and then construct GUI on top of that. Plugins contribute both commands in the scripting language as well as GUI components for them.
- Utilize native Eclipse resources to allow for utilization of plugins like SVN (e.g. Subclipse, Subversive)
- Use a Navigator with synchronized model like Eclipse to allow for storage of last used editor, linked resources etc
- Construct resources with semantic operability to tighlty integrate support for frameworks like BioMoby, Taverna, as well as available ontologies, controlled vocabularies, and other Semantic Web (Web 2.0) technologies and services
- Build on an Eclipse Modeling Framework (EMF) model with generated Java code
- Consider having interfaces for "Molecule", "Sequence" etc that can be implemented by plugins.
- Investigate how scripts in other languages can be hooked into bioclipse2 and used in the scripting language
- Maybe have a simple version of Bioclipse for novice users hiding ALL complexities, and an advanced version for power users who want to see the source of files.
- Investigate potential use of DTP, BIRT, and other Eclipse frameworks
- Use Jfeature to build requirements based on Junit tests. Great for project management.
The overall goal is to achieve stability in order to offer a production-stable system that can be routinely used in many areas of life science.
We will try to follow Eclipse User Interface Guidelines as much as possible.
Please see and update the page for Bioclipse2 development conventions.
There is now a page for Creating a Bioclipse2 plugin.
Use cases for Bioclipse2
- Use Cases for Bioclipse 2.0 General use cases
- Speclipse#Use_Cases Spectrum use cases
- Use case for amino acid alignment
- Use case for Recorder
- Some Bioinformatics use cases with EBC: yn00 invocation and dN/dS calculations
- Review of Instant Jchem with chemoinformatics use cases
- Jmol archives
- BioJava Cookbook contains several use cases in bioinformatics that's easily implemented
- Use cases for recording
- Download from public repositories
- Phylogeny
- Use case for downloads and services
- Tanimoto Use Cases Calculation of tanimoto distances
Features and Plug-Ins
Currently, the following features exist for Bioclipse 2. The pages for the featues list the plugins contained in them:
Design process
- Investigate different solutions to be used in Bioclipse2
- General design model for Bioclipse2 describes the MVC for Bioclipse2
- Eclipse resources investigation
- Eclipse resources and Managers
- A Meta Language for Bioclipse
- Bioclipse2 core object model
- Service infrastructure describe how local and remote services are used in Bioclipse2.
- Long-running jobs describe how external jobs can be initialized in bioclipse and display results
Development tutorials
- Getting started with Eclipse
- Instruction for how to check out and compile Bioclipse 2
- Long running operations describe how to run background and foreground jobs in Bioclipse2
- How to write a Wizard
- Contenttypes and describers
- How to add menus and actions to e.g. top menu, context menu, popup menus etc
- How to add expandable content to a File
- How to work with preferences
- How to implement an outline
- How to create/add resources
- How to add help to a plugin
- How to write JUnit tests
- How to write JUnit plugin-tests that require the platform/workspace to be initialized.
- How to implement properties for items
- How to write an editor
- How to write a Multi Page Editor
- Guide to Building a recordable plugin
- How to make a manager
- How to use BioclipseUIJob
- How to create a Project with builders
- How to understand View and editor selections in Bioclipse2
- Understanding some General Issues with Logging in Bioclipse2
- How to create a Perspective and how to contribute views to another perspective
- How to build plugins headless
- How to contribute to welcome/intro page
- How to contribute a CheatSheet to Bioclipse
- Writing documentation and help for Bioclipse plugins
- Contributing a data plugin to Bioclipse
- How to report errors
Development Tidbits and Whiteboard
- Plugins that belong in the Target Platform
- Developing Automated and Continuous Build Processes
- List of Needed Icons
- Intractable Bugs
Backwards compatibility
As this will be a complete rewrite of the core API and extension points, Bioclipse2 will NOT be backwards compatible. However, we anticipate that it will be easy to convert old plugins to the new architecture.
Checking Out and Compiling Bioclipse 2
The Bioclipse 2 branch is in the early stages of development. If you want to try it out for yourself, there is an instruction for Checking out Bioclipse 2.
Links
Blogs on RCP/Eclipse:
- http://richclientplatform.blogspot.com/
- http://rcpquickstart.wordpress.com
- http://wordpress.com/tag/eclipse-rcp/
Blogs on interesting frameworks:
- http://biojava.org/wiki/BioJava3_Proposal BioJava3 is in design phase. We should keep an eye on them!
Other articles:
How does eclipse do it? Look at Eclipse source: http://rcpquickstart.wordpress.com/2007/05/04/an-rcp-code-encyclopedia/
