Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Nebula/restructure"

(Objective)
(I think you mean "plug-ins", not "projects")
 
(46 intermediate revisions by 4 users not shown)
Line 8: Line 8:
 
[[media:Nebula-Restructure.pdf]]
 
[[media:Nebula-Restructure.pdf]]
  
==Move to Git==
+
==Move to Git ==
 +
Done!
 
[[image:egit.png|right]]
 
[[image:egit.png|right]]
 
We will be moving to git. We are currently investigating the steps that are needed to get there. Please expect the cvs repository to become read only before the end of the year and probably sooner.  
 
We will be moving to git. We are currently investigating the steps that are needed to get there. Please expect the cvs repository to become read only before the end of the year and probably sooner.  
Line 26: Line 27:
  
 
==Rename Projects==
 
==Rename Projects==
All projects will be renamed to the nebula widget standard project renaming as [[Nebula/Standards|outlined in this page]]. The concrete in which these standards are poured is still wet so we can still make changes. Also, Nebula should move out of the swt namespace.
+
Done!
 +
All projects will be renamed to the nebula widget standard project renaming as [[Nebula/New_Contributions#Organize_your_Code|outlined in this page]]. The concrete in which these standards are poured is still wet so we can still make changes. Also, Nebula should move out of the swt namespace.
  
 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=364914
 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=364914
Line 34: Line 36:
  
 
==VCS Restructure==
 
==VCS Restructure==
 +
Done1
 
We will be restructuring the repository. Every widget will get its own little place in the repository like this:
 
We will be restructuring the repository. Every widget will get its own little place in the repository like this:
  
Line 52: Line 55:
 
   
 
   
 
  attics
 
  attics
 
==Creating Example Projects==
 
Every widget that is contributed is required to contribute to the examples plugin. The examples plugin contains an extension point that can be used for contribution.
 
 
Currently the examples plugin contains many internal references. If we want to include the examples plugin to the build we need to create an example plugin for every widget and remove the references to this plugin from the examples plugin. See the oscilloscope.examples plugin for a reference.
 
 
Actions:
 
 
* Create an examples plugin for the widget
 
** Move the widget related code to that new plugin
 
** Add dependencies on o.e.ui and o.e.core.runtime
 
** Add a dependency to o.e.nebula.examples
 
** Create an extension to examples that points to the copied class
 
* In the examples plugin
 
** Remove the reference to the widget
 
** Remove the example java code
 
** Remove the extension
 
* Commit the new plugin and the changed example to CVS
 
 
Use bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=364900 364900 for commit comment]
 
 
This has been finished. However, some projects miss the examples view.
 
  
 
==Build==
 
==Build==
 
+
Done!
 
* move to download
 
* move to download
 
* http://wiki.eclipse.org/JAR_Signing
 
* http://wiki.eclipse.org/JAR_Signing
Line 82: Line 63:
  
 
==Clean Committer list==
 
==Clean Committer list==
 +
In Progress [[Nebula/restructure/committers]]
 
There are currenly 24 committers to Nebula. This sounds good but most committers are inactive. We need to find out who is currently committing for Nebula and move all inactive committers from active committer state to the [http://eclipse.org/projects/committers-alumni.php|honorable honourable list of committers alumni.]  
 
There are currenly 24 committers to Nebula. This sounds good but most committers are inactive. We need to find out who is currently committing for Nebula and move all inactive committers from active committer state to the [http://eclipse.org/projects/committers-alumni.php|honorable honourable list of committers alumni.]  
  
 
The current [http://www.eclipse.org/projects/project.php?id=technology.nebula  list of committers]:
 
The current [http://www.eclipse.org/projects/project.php?id=technology.nebula  list of committers]:
 
*Andrew Finkbeiner
 
*Ahmed Mahran
 
*Chris Gross
 
*Donald Dunne
 
*Dave Orme
 
*Emil Crumhorn
 
*Elias Volanakis
 
*Eric Wuillai
 
*Felipe Heidrich
 
*Grant Gayed
 
*Ira Fishbein
 
*Jeremy Dowdall
 
*Jeff Phillips
 
*Lukasz Milewski
 
*Matthew Hall
 
*Mickaël Istria
 
*Marty Jones
 
*Peter Centgraf
 
*Pavel Petrochenko
 
*Nicolas RICHETON
 
*Steve Northover
 
*Thomas Schindl
 
*Veronika Irvine
 
*Wim Jongman
 
  
 
==Assign/Deprecate Widgets==
 
==Assign/Deprecate Widgets==
Line 121: Line 78:
 
===Background===
 
===Background===
  
Since its initials conception in 2006, Nebula has welcomed many new supplementary widgets. Many of these widgets are used in production environments around the globe.
+
Since its initial inception in 2006, Nebula has welcomed many new supplementary widgets. Many of these widgets are used in production environments around the globe.
 
+
 
+
Nebula is a place where different Eclipse-Projects and Independent developers collaborate on building Custom SWT widgets and reuseable UI-Components useable in UI-Applications built using SWT and JFace
+
  
 +
Nebula is a place where different Eclipse-Projects and Independent developers collaborate on building Custom SWT widgets and reuseable UI-Components useable in UI-Applications built using SWT and JFace.
  
 
The Nebula project was created to provide an incubator for the development of
 
The Nebula project was created to provide an incubator for the development of
 
current and future rich widgets with the intent to move them to SWT after
 
current and future rich widgets with the intent to move them to SWT after
having been matured. None of the widgets produced by the Nebula Project - though stable and production
+
having been matured. None of the widgets produced by the Nebula Project--though stable and production
ready - have ever been moved to SWT.
+
ready--have ever been moved to SWT.
+
 
 +
===Actions===
 +
The following actions have been executed:
 +
 
 +
===Creating Example Plug-ins===
 +
Every widget that is contributed is required to contribute to the examples plugin. The examples plugin contains an extension point that can be used for contribution.
 +
 
 +
Currently the examples plugin contains many internal references. If we want to include the examples plugin to the build we need to create an example plugin for every widget and remove the references to this plugin from the examples plugin. See the oscilloscope.examples plugin for a reference.
 +
 
 +
Actions:
 +
 
 +
* Create an examples plugin for the widget
 +
** Move the widget related code to that new plugin
 +
** Add dependencies on o.e.ui and o.e.core.runtime
 +
** Add a dependency to o.e.nebula.examples
 +
** Create an extension to examples that points to the copied class
 +
* In the examples plugin
 +
** Remove the reference to the widget
 +
** Remove the example java code
 +
** Remove the extension
 +
* Commit the new plugin and the changed example to CVS
 +
 
 +
Use bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=364900 364900 for commit comment]
 +
 
 +
This has been finished. However, some projects miss the examples view.
 +
 
 
===Objective===
 
===Objective===
 
The objective of the restructuring is that Nebula releases those supplementary
 
The objective of the restructuring is that Nebula releases those supplementary
Line 159: Line 139:
 
Perpetum Incubator with
 
Perpetum Incubator with
 
widgets not ready for
 
widgets not ready for
prime tim
+
prime time
 
| Eclipse Incubator Project
 
| Eclipse Incubator Project
 
|}
 
|}
  
===Nebula===
+
==Nebula==
 
Mature widgets found in Nebula are production ready, IP clean and have
 
Mature widgets found in Nebula are production ready, IP clean and have
 
at least one active committer. The main target of
 
at least one active committer. The main target of
Line 172: Line 152:
 
using widget composition or drawing them using the SWT-GC. Being none
 
using widget composition or drawing them using the SWT-GC. Being none
 
native Nebula controls are not suffering the same Problem SWT-Widgets are
 
native Nebula controls are not suffering the same Problem SWT-Widgets are
facing and can so provide special features not available in native widgets.Proposed widgets
+
facing and can so provide special features not available in native widgets.
 +
 
 +
====Proposed widgets====
  
 
{|{{BMTableStyle}}
 
{|{{BMTableStyle}}
 
|-{{BMTHStyle}}
 
|-{{BMTHStyle}}
 
! Widget
 
! Widget
 +
! Wdiget Committer
 
! Description
 
! Description
! Committer
+
|-
 +
|[http://www.eclipse.org/nebula/widgets/paperclips/paperclips.php PaperClips]
 +
|Matt Hall
 +
|Printing Library
 
|-
 
|-
 
|[http://www.eclipse.org/nebula/widgets/grid/grid.php Grid]  
 
|[http://www.eclipse.org/nebula/widgets/grid/grid.php Grid]  
|An custom table/tree widget which provides Excel like features and a JFaceViewer integration
 
 
|Tom Schindl
 
|Tom Schindl
 +
|An custom table/tree widget which provides Excel like features and a JFaceViewer integration
 
|-
 
|-
|[http://www.eclipse.org/nebula/widgets/pshelf/pshelf.php Pshelf]
+
|[http://www.eclipse.org/nebula/widgets/pshelf/pshelf.php PShelf]
|The PShelf widget is a composite widget that is similar to a tab folder. It contains items which can be selected to show their client areas.
+
 
|Tom Schindl
 
|Tom Schindl
 +
|The PShelf widget is a composite widget that is similar to a tab folder. It contains items which can be selected to show their client areas.
 
|-
 
|-
|[http://www.eclipse.org/nebula/widgets/pgroup/pgroup.php Pgroup]
+
|[http://www.eclipse.org/nebula/widgets/pgroup/pgroup.php PGroup]
|The PGroup widget is a expandable/collapsible composite widget with attractive styling and an extensible design.
+
 
|Tom Schindl
 
|Tom Schindl
 +
|The PGroup widget is a expandable/collapsible composite widget with attractive styling and an extensible design.
 
|-
 
|-
 
|[http://www.eclipse.org/nebula/widgets/gallery/gallery.php Gallery]
 
|[http://www.eclipse.org/nebula/widgets/gallery/gallery.php Gallery]
|This SWT widget displays images or items in a grid-like presentation. Gallery is very useful to display images in a photo viewer or files in an explorer-like view.
 
 
|Nicolas Richeton
 
|Nicolas Richeton
 +
|This SWT widget displays images or items in a grid-like presentation. Gallery is very useful to display images in a photo viewer or files in an explorer-like view.
 
|-
 
|-
 
|[http://www.eclipse.org/nebula/widgets/compositetable/compositetable.php CompositeTable]  
 
|[http://www.eclipse.org/nebula/widgets/compositetable/compositetable.php CompositeTable]  
|CompositeTable is a custom SWT grid control using native widgets
 
 
|Elias Volanakis
 
|Elias Volanakis
 +
|CompositeTable is a custom SWT grid control using native widgets
 
|-
 
|-
 
|[http://www.eclipse.org/nebula/widgets/xviewer/xviewer.php XViewer]
 
|[http://www.eclipse.org/nebula/widgets/xviewer/xviewer.php XViewer]
|The purpose of the XViewer is to give the application developer a more advanced and dynamic TreeViewer that has the filtering and sorting
 
 
|Donald Dunne
 
|Donald Dunne
 +
|The purpose of the XViewer is to give the application developer a more advanced and dynamic TreeViewer that has the filtering and sorting
 
|-
 
|-
 
|[http://www.eclipse.org/nebula/widgets/calendarcombo/calendarcombo.php CalendarCombo]  
 
|[http://www.eclipse.org/nebula/widgets/calendarcombo/calendarcombo.php CalendarCombo]  
 +
|Emil Crumhorm / Donald Dunne
 
|The Calendar Combo Widget is a combo box widget that opens a calendar when dropped down.
 
|The Calendar Combo Widget is a combo box widget that opens a calendar when dropped down.
|Donald Dunne
 
 
|-
 
|-
 
|[http://www.eclipse.org/nebula/widgets/oscilloscope/oscilloscope.php Oscilloscope]  
 
|[http://www.eclipse.org/nebula/widgets/oscilloscope/oscilloscope.php Oscilloscope]  
 +
|Wim Jongman
 
|A widget showing an Oscilloscope
 
|A widget showing an Oscilloscope
 +
|-
 +
|[http://www.eclipse.org/nebula/widgets/cdatetime/cdatetime.php CDateTime]
 
|Wim Jongman
 
|Wim Jongman
 +
|A Date and Time selector widget.
 +
|-
 +
|CWT
 +
|Wim Jongman/Nicolas Richeton
 +
|Common Widget Toolkit, aka V (including Nebula animation)
 
|-
 
|-
 
|[http://www.eclipse.org/nebula/widgets/tablecombo/tablecombo.php TableCombo]  
 
|[http://www.eclipse.org/nebula/widgets/tablecombo/tablecombo.php TableCombo]  
|A DropDown-Widget which uses a Table to display the items
 
 
|Marty Jones
 
|Marty Jones
 +
|A DropDown-Widget which uses a Table to display the items
 
|-
 
|-
 
|[http://www.eclipse.org/nebula/widgets/stw/stw.php STW]
 
|[http://www.eclipse.org/nebula/widgets/stw/stw.php STW]
|A component which allows to implement transitions
 
 
|Ahmed Mahran
 
|Ahmed Mahran
 +
|A component which allows to implement transitions
 
|-
 
|-
 
|[http://www.eclipse.org/nebula/widgets/ganttchart/ganttchart.php Gantt]  
 
|[http://www.eclipse.org/nebula/widgets/ganttchart/ganttchart.php Gantt]  
|A comprehensive implementation of a Gantt chart.
 
 
|Emil Crumhorn
 
|Emil Crumhorn
 +
|A comprehensive implementation of a Gantt chart.
 
|}
 
|}
  
 +
====Committers====
  
<b>Existing committers</b>
+
{|{{BMTableStyle}}
* Tom Schindl
+
|-{{BMTHStyle}}
** Grid
+
! Committer
** Pgroup
+
|-
** Pshelf
+
| Ahmed Mahran
* Nicolas Richeton
+
|-
** Gallery
+
| Angelo ZERR
* Donald Dunne
+
|-
** Xviewer
+
| Donald Dunne
** CalendarCombo
+
|-
* Elias Volanakis
+
| Emil Crumhorn
** CompositeTable
+
|-
* Wim Jongman
+
| Elias Volanakis
** Oscilloscope
+
|-
* Marty Jones
+
| Matthew Hall
** TableCombo
+
|-
* Ahmed Mahran
+
| Mickaël Istria
** STW
+
|-
* Emil Crumhorn
+
| Marty Jones
** Gantt
+
|-
N
+
| Peter Centgraf
 +
|-
 +
| Nicolas Richeton
 +
|-
 +
| Thomas Schindl (Lead)
 +
|-
 +
| Wim Jongman (Lead)
 +
|}
  
* Nebula  
+
==Nebula-Incubator==
This project contains a selected list of stable widgets. All widgets in this project are maintained by at least one active committer. We want to The objective of the restructuring of the Nebula project into 2 seperate
+
The purpose of the perpetum incubator is to stage component contributions
projects gives the mature components the the possibility to work towards a
+
until they are ready to move to Nebula.
1.0.0 release whereas new contributions can profit from parallel IP
+
A broad ecosystem of Agile and ALM integrations
+
+
The revolutionary task-focused interface
+
Due to the growing adoption of Mylyn’s frameworks, we are planning to restructure the project around its API boundaries for key components such as Tasks and Context.  The goal of the proposed sub-projects is to address the growth of Mylyn by creating sub-projects for the components, and to solicit additional participation from ISVs and other stakeholders in the new sub-projects.
+
  
Overview
+
====Scope====
  
We expect the following structure and participation to evolve while the restructuring is in the proposal phase.  "Reference Tools" are open source ALM tools used for reference implementations of the corresponding Mylyn sub-project APIs.  The "Reference Standard" implementation is for the Open Services for Lifecycle Collaboration (OSLC) REST APIs for ALM.
+
The incubator is used as staging area for Nebula because it is an incubator it
 +
will be easy for the community to join and develop widgets until stable enough
 +
so that they can be moved to the Nebula-Project to get released with it.
  
Project
+
====Proposed widgets (moved from current Nebula-Project)====
Summary
+
{|{{BMTableStyle}}
Reference Tools
+
|-{{BMTHStyle}}
Reference Standards
+
! Widget
Tasks
+
! Wdiget Committer
Change, issue, defect and user story management
+
! Description
Bugzilla, Trac
+
|-
OSLC-CM
+
|BidiLayout
Context
+
|Tom Schindl
Context management and task focus
+
|The PGroup widget is a expandable/collapsible composite widget with attractive styling and an extensible design.
 +
|-
 +
|Radio Group
 +
|Matt Hall
 +
|Group of Radio Buttons
 +
|-
 +
|Collapsible Buttons
 +
|Emil Crumhorn
 +
|Widget modeled after the bottom left buttons widget in Microsoft Outlook
 +
|-
 +
|Date Chooser
 +
|none
 +
|Presents the monthly view of a calendar for date picking.
 +
|-
 +
|Formatted Text
 +
|none
 +
|A decorator component adding input and display mask capabilities on a Text widget.
 +
|-
 +
|Nebula Toolbar
 +
|none
 +
|Windows Toolbar
 +
|-
 +
|TreeMapper
 +
|Mickael Istria
 +
|Mapping between Tree's
 +
|-
 +
|GeoMap
 +
|Stepan Rutz/Hallvard Traetteberg
 +
|A SWT Tile Map browser for openstreetview and other servers
 +
|-
 +
|Picture Control
 +
|Angelo Zerr
 +
|A control managing (download and display) a picture. See [http://angelozerr.wordpress.com/2012/01/06/nebula_picture/ Picture Control] for more information.
 +
|-
 +
|Pagination Control
 +
|Angelo Zerr
 +
|A control managing paginated list and display pagination navigation bar. See [http://angelozerr.wordpress.com/2012/01/06/nebula_pagination/ Pagination Control] for more information.
 +
|-
 +
|CTree
 +
|none
 +
|??
 +
|}
  
JDT, CDT
+
====Committers====
 
+
{|{{BMTableStyle}}
+
|-{{BMTHStyle}}
 
+
! Committer
SCM
+
|-
Source code and configuration management
+
| Ahmed Mahran
 
+
|-
CVS, EGit
+
| Angelo ZERR
 
+
|-
OSLC-SCM
+
| Donald Dunne
 
+
|-
Build
+
| Dave Orme
Build, release and continuous integration
+
|-
 
+
| Emil Crumhorn
Hudson
+
|-
 
+
| Elias Volanakis
OSLC-Automation
+
|-
 
+
| Matthew Hall
Review
+
|-
Collaborative code review
+
| Mickaël Istria
 
+
|-
n/a
+
| Marty Jones
 
+
|-
+
| Peter Centgraf
 
+
|-
Docs
+
| Nicolas Richeton
Documentation and requirements
+
|-
 
+
| Stepan Rutz
WikiText
+
|-
 
+
| Hallvard Traetteberg
+
|-
 
+
| Thomas Schindl (Lead)
Commons
+
|-
Rich client, REST and WS utilities
+
| Wim Jongman (Lead)
 
+
|}
n/a
+
 
+
+
 
+
Compatibility
+
 
+
Binary compatibility with existing Mylyn 3.x releases will be retained under the restructuring.
+
 
+
Projects
+
 
+
Mylyn
+
 
+
Mylyn project and committers remain unchanged (see Mylyn Contributors), with Mik Kersten as the project lead. This project will no longer contain source code, all of which will move into sub-projects.  The proposed sub-projects and their committers are listed below.  Committers not currently on the Eclipse Mylyn project are described.  The sub-projects will actively support interested parties earning commit rights.
+
 
+
Mylyn/Tasks
+
 
+
The scope of this project is integration with Agile, issue, bug and defect tracking servers.  The project provides rich task editing, task list management and offline synchronization for ALM servers.  The Tasks project is the central portion of the ALM integration framework used by Mylyn.  Individuals listed as "New Contributors" have stated their intersted in contributing to the project.
+
 
+
Existing Committers
+
 
+
Steffen Pingel, Lead (Tasktop)
+
Shawn Minto (Tasktop)
+
Robert Elves (Tasktop)
+
Mik Kersten (Tasktop)
+
Frank Becker (individual)
+
New Contributors
+
 
+
Mark Ringer (Rally Software, goal is to help drive support for Agile in Mylyn and server side interoperability)
+
Mylyn/Context
+
 
+
The scope of this project is the implementation of usage monitoring, degree-of-interested modeling and the task-focused interface implementation for Eclipse, which re-aligns the IDE user interface around tasks and provides features such as workspace focusing and one-click multitasking.
+
 
+
Existing Committers
+
 
+
Shawn Minto, Lead (Tasktop)
+
Steffen Pingel (Tasktop)
+
Robert Elves (Tasktop)
+
Mik Kersten (Tasktop)
+
Mylyn/SCM
+
 
+
The scope of this project is Eclipse integration for source code and configuration management tools and bi-directional linking to change management tools. This project and APIs it provides builds on the existing Eclipse "Team" APIs.
+
 
+
Existing Committers
+
 
+
Robert Elves (Tasktop)
+
Steffen Pingel (Tasktop)
+
Mik Kersten (Tasktop)
+
New Contributors
+
 
+
Kevin Sawicki (Perforce, goal is to help drive Mylyn framework changes for support of advanced SCM features)
+
Mylyn/Build
+
 
+
The scope of this project is Eclipse integration of continuous integration and build systems.  This is a new project that includes existing Eclipse.org committers who will collaborate on extending Mylyn’s build system APIs.
+
 
+
Existing Committers
+
 
+
Steffen Pingel (Tasktop)
+
David Green, Lead (individual)
+
New Contributors
+
 
+
Henrik Lindberg (Cloudsmith, Eclipse B3 committer)
+
Thomas Hallgren (Cloudsmith, Eclipse B3 committer)
+
Michal Ruzicka (Cloudsmith, Eclipse B3 committer)
+
David Shepherd (Tasktop, created Tasktop’s existing build and CI system APIs)
+
Mylyn/Review (Incubation)
+
 
+
The scope of this project is to provide Eclipse-based code review functionality that’s seamlessly integrated with the Tasks and SCM systems supported by Mylyn.
+
 
+
Committers
+
 
+
Mario Bernhart, Lead (INSO)
+
Christoph Mayerhofer (INSO)
+
Kilian Matt (INSO)
+
Stefan Strobl (INSO)
+
Mylyn/Docs
+
 
+
The scope of this project is Eclipse-based access to documentation systems such as Wikis and other portals.  This builds on the Mylyn WikiText framework.
+
 
+
Committers
+
 
+
David Green, Lead (individual)
+
Robert Elves (Tasktop)
+
Mylyn/Commons
+
 
+
The scope of this project is to provide a framework of common UI, web service, REST and test utilities to be used by the rest of Mylyn and by other Eclipse-based tools.
+
 
+
Committers
+
 
+
Steffen Pingel, Lead (Tasktop)
+
Shawn Minto (Tasktop)
+
Mik Kersten (Tasktop)
+
Robert Elves (Tasktop)
+
Mylyn/Incubator (Incubation)
+
 
+
The scope of this project is to provide an place for experimentation.  This will subsume the existing Mylyn Sandbox.  All committers granted commit rights.
+
  
Interested Parties
+
===NatTable===
 +
NatTable is a powerful and flexible SWT table/grid widget that is built to handle very large data sets, real-time updates, dynamic styling, and more.
  
AccuRev
+
[http://www.eclipse.org/proposals/technology.nebula.nattable/ Project Proposal]
Atlassian
+
Cloudsmith
+
CollabNet
+
HP
+
IBM
+
Microsoft
+
Perforce
+
Polarion
+
Rally Software
+
SpringSource, a division of VMware
+
Tasktop
+
ThoughtWorks Studios
+
VersionOne
+
Zend
+

Latest revision as of 16:44, 19 July 2012

Nebula Restructure Plan

This page is to track the Nebula Restructure. Please add yourself to the Watch list if you want to stay in sync with the changes made to this page.

Please discuss this page on the nebula-dev mailing list.

Restructure based on initial docuware by Tom Schindl.

media:Nebula-Restructure.pdf

Move to Git

Done!
Egit.png

We will be moving to git. We are currently investigating the steps that are needed to get there. Please expect the cvs repository to become read only before the end of the year and probably sooner.

All activities in the transition will be communicated to the mailing list.

  • Create repositories
    • Nebula Release
    • Nebula Incubation
    • Nebula NatTable
  • Update References
    • Website
    • Wiki
    • Documentation

The current plan is to ask the webmaster to checkin the current CVS into the Release and Incubation repository, including the history, and then remove the projects that do not belong there.

Rename Projects

Done!

All projects will be renamed to the nebula widget standard project renaming as outlined in this page. The concrete in which these standards are poured is still wet so we can still make changes. Also, Nebula should move out of the swt namespace.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=364914

Release Schedule

Nebula Proper must follow a release schedule.

VCS Restructure

Done1

We will be restructuring the repository. Every widget will get its own little place in the repository like this:

bundles
  widget
     o.e.n.widgets.widget
     o.e.n.widgets.widget.feature
     o.e.n.widgets.widget.tests
     o.e.n.widgets.widget.tests.feature  <-- really needed?
     o.e.n.widgets.widget.example
     o.e.n.widgets.widget.snippets

In addition there will be some other structures:

releng

examples

attics

Build

Done!

Clean Committer list

In Progress Nebula/restructure/committers

There are currenly 24 committers to Nebula. This sounds good but most committers are inactive. We need to find out who is currently committing for Nebula and move all inactive committers from active committer state to the honourable list of committers alumni.

The current list of committers:

Assign/Deprecate Widgets

We need to find out which widgets are no longer supported and assign new owners. If no new owner can be found for the widget have to deprecate it or keep it in incubation.


Nebula Project Restructuring Proposal

This document describes a proposed restructuring of the Eclipse Nebula project. We solicit additional participation and input from the Eclipse community. Please send all feedback and requests for participation, by April 1st, to the nebula-dev mailing list or indicate interest in participation by submitting a Bugzilla report.

Background

Since its initial inception in 2006, Nebula has welcomed many new supplementary widgets. Many of these widgets are used in production environments around the globe.

Nebula is a place where different Eclipse-Projects and Independent developers collaborate on building Custom SWT widgets and reuseable UI-Components useable in UI-Applications built using SWT and JFace.

The Nebula project was created to provide an incubator for the development of current and future rich widgets with the intent to move them to SWT after having been matured. None of the widgets produced by the Nebula Project--though stable and production ready--have ever been moved to SWT.

Actions

The following actions have been executed:

Creating Example Plug-ins

Every widget that is contributed is required to contribute to the examples plugin. The examples plugin contains an extension point that can be used for contribution.

Currently the examples plugin contains many internal references. If we want to include the examples plugin to the build we need to create an example plugin for every widget and remove the references to this plugin from the examples plugin. See the oscilloscope.examples plugin for a reference.

Actions:

  • Create an examples plugin for the widget
    • Move the widget related code to that new plugin
    • Add dependencies on o.e.ui and o.e.core.runtime
    • Add a dependency to o.e.nebula.examples
    • Create an extension to examples that points to the copied class
  • In the examples plugin
    • Remove the reference to the widget
    • Remove the example java code
    • Remove the extension
  • Commit the new plugin and the changed example to CVS

Use bug 364900 for commit comment

This has been finished. However, some projects miss the examples view.

Objective

The objective of the restructuring is that Nebula releases those supplementary components in a 1.0 release to foster adoption in commercial and opensource projects.

In the last few month many external parties asked for a stable release of Nebula-Components so that they can be used for downstream adoption but because of the different maturity level of the widgets found in Nebula and because of the permanent incubation status of the project we are not able to provide such a release.

The project as it is now will be split into two separate projects:

Project Description Type
Nebula Project with mature

widgets working towards a 1.0 release

Eclipse Project
Nebula Incubator

Perpetum Incubator with widgets not ready for prime time

Eclipse Incubator Project

Nebula

Mature widgets found in Nebula are production ready, IP clean and have at least one active committer. The main target of this project is to maintain and release 1.0 and maintenance releases.

Scope

The main focus of the Nebula project is to provide none native UI-Controls using widget composition or drawing them using the SWT-GC. Being none native Nebula controls are not suffering the same Problem SWT-Widgets are facing and can so provide special features not available in native widgets.

Proposed widgets

Widget Wdiget Committer Description
PaperClips Matt Hall Printing Library
Grid Tom Schindl An custom table/tree widget which provides Excel like features and a JFaceViewer integration
PShelf Tom Schindl The PShelf widget is a composite widget that is similar to a tab folder. It contains items which can be selected to show their client areas.
PGroup Tom Schindl The PGroup widget is a expandable/collapsible composite widget with attractive styling and an extensible design.
Gallery Nicolas Richeton This SWT widget displays images or items in a grid-like presentation. Gallery is very useful to display images in a photo viewer or files in an explorer-like view.
CompositeTable Elias Volanakis CompositeTable is a custom SWT grid control using native widgets
XViewer Donald Dunne The purpose of the XViewer is to give the application developer a more advanced and dynamic TreeViewer that has the filtering and sorting
CalendarCombo Emil Crumhorm / Donald Dunne The Calendar Combo Widget is a combo box widget that opens a calendar when dropped down.
Oscilloscope Wim Jongman A widget showing an Oscilloscope
CDateTime Wim Jongman A Date and Time selector widget.
CWT Wim Jongman/Nicolas Richeton Common Widget Toolkit, aka V (including Nebula animation)
TableCombo Marty Jones A DropDown-Widget which uses a Table to display the items
STW Ahmed Mahran A component which allows to implement transitions
Gantt Emil Crumhorn A comprehensive implementation of a Gantt chart.

Committers

Committer
Ahmed Mahran
Angelo ZERR
Donald Dunne
Emil Crumhorn
Elias Volanakis
Matthew Hall
Mickaël Istria
Marty Jones
Peter Centgraf
Nicolas Richeton
Thomas Schindl (Lead)
Wim Jongman (Lead)

Nebula-Incubator

The purpose of the perpetum incubator is to stage component contributions until they are ready to move to Nebula.

Scope

The incubator is used as staging area for Nebula because it is an incubator it will be easy for the community to join and develop widgets until stable enough so that they can be moved to the Nebula-Project to get released with it.

Proposed widgets (moved from current Nebula-Project)

Widget Wdiget Committer Description
BidiLayout Tom Schindl The PGroup widget is a expandable/collapsible composite widget with attractive styling and an extensible design.
Radio Group Matt Hall Group of Radio Buttons
Collapsible Buttons Emil Crumhorn Widget modeled after the bottom left buttons widget in Microsoft Outlook
Date Chooser none Presents the monthly view of a calendar for date picking.
Formatted Text none A decorator component adding input and display mask capabilities on a Text widget.
Nebula Toolbar none Windows Toolbar
TreeMapper Mickael Istria Mapping between Tree's
GeoMap Stepan Rutz/Hallvard Traetteberg A SWT Tile Map browser for openstreetview and other servers
Picture Control Angelo Zerr A control managing (download and display) a picture. See Picture Control for more information.
Pagination Control Angelo Zerr A control managing paginated list and display pagination navigation bar. See Pagination Control for more information.
CTree none ??

Committers

Committer
Ahmed Mahran
Angelo ZERR
Donald Dunne
Dave Orme
Emil Crumhorn
Elias Volanakis
Matthew Hall
Mickaël Istria
Marty Jones
Peter Centgraf
Nicolas Richeton
Stepan Rutz
Hallvard Traetteberg
Thomas Schindl (Lead)
Wim Jongman (Lead)

NatTable

NatTable is a powerful and flexible SWT table/grid widget that is built to handle very large data sets, real-time updates, dynamic styling, and more.

Project Proposal

Back to the top