Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Nebula/restructure"
(→Proposed widgets) |
(→I think you mean "plug-ins", not "projects") |
||
(42 intermediate revisions by the same user 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/ | + | 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 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==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]: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Assign/Deprecate Widgets== | ==Assign/Deprecate Widgets== | ||
Line 121: | Line 78: | ||
===Background=== | ===Background=== | ||
− | Since its | + | 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 | 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 163: | Line 143: | ||
|} | |} | ||
− | + | ==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 181: | Line 161: | ||
! Wdiget Committer | ! Wdiget Committer | ||
! Description | ! Description | ||
+ | |- | ||
+ | |[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] | ||
Line 186: | Line 170: | ||
|An custom table/tree widget which provides Excel like features and a JFaceViewer integration | |An custom table/tree widget which provides Excel like features and a JFaceViewer integration | ||
|- | |- | ||
− | |[http://www.eclipse.org/nebula/widgets/pshelf/pshelf.php | + | |[http://www.eclipse.org/nebula/widgets/pshelf/pshelf.php PShelf] |
|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. | |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 | + | |[http://www.eclipse.org/nebula/widgets/pgroup/pgroup.php PGroup] |
|Tom Schindl | |Tom Schindl | ||
|The PGroup widget is a expandable/collapsible composite widget with attractive styling and an extensible design. | |The PGroup widget is a expandable/collapsible composite widget with attractive styling and an extensible design. | ||
Line 207: | Line 191: | ||
|- | |- | ||
|[http://www.eclipse.org/nebula/widgets/calendarcombo/calendarcombo.php CalendarCombo] | |[http://www.eclipse.org/nebula/widgets/calendarcombo/calendarcombo.php CalendarCombo] | ||
− | |Donald Dunne | + | |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. | ||
|- | |- | ||
Line 213: | Line 197: | ||
|Wim Jongman | |Wim Jongman | ||
|A widget showing an Oscilloscope | |A widget showing an Oscilloscope | ||
+ | |- | ||
+ | |[http://www.eclipse.org/nebula/widgets/cdatetime/cdatetime.php CDateTime] | ||
+ | |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] | ||
Line 227: | Line 219: | ||
|} | |} | ||
− | ===Nebula-Incubator | + | ====Committers==== |
+ | |||
+ | {|{{BMTableStyle}} | ||
+ | |-{{BMTHStyle}} | ||
+ | ! 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 | The purpose of the perpetum incubator is to stage component contributions | ||
until they are ready to move to Nebula. | until they are ready to move to Nebula. | ||
Line 243: | Line 266: | ||
! Wdiget Committer | ! Wdiget Committer | ||
! Description | ! Description | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|BidiLayout | |BidiLayout | ||
Line 256: | Line 271: | ||
|The PGroup widget is a expandable/collapsible composite widget with attractive styling and an extensible design. | |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 | |Collapsible Buttons | ||
− | | | + | |Emil Crumhorn |
− | | | + | |Widget modeled after the bottom left buttons widget in Microsoft Outlook |
|- | |- | ||
|Date Chooser | |Date Chooser | ||
− | | | + | |none |
− | | | + | |Presents the monthly view of a calendar for date picking. |
|- | |- | ||
|Formatted Text | |Formatted Text | ||
− | | | + | |none |
− | | | + | |A decorator component adding input and display mask capabilities on a Text widget. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
|Nebula Toolbar | |Nebula Toolbar | ||
− | | | + | |none |
− | | | + | |Windows Toolbar |
|- | |- | ||
− | | | + | |TreeMapper |
− | | | + | |Mickael Istria |
− | |A | + | |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 | ||
+ | |?? | ||
+ | |} | ||
+ | |||
+ | ====Committers==== | ||
+ | {|{{BMTableStyle}} | ||
+ | |-{{BMTHStyle}} | ||
+ | ! 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. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | [http://www.eclipse.org/proposals/technology.nebula.nattable/ Project Proposal] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Latest revision as of 16:44, 19 July 2012
Contents
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.
Move to Git
Done!
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!
- move to download
- http://wiki.eclipse.org/JAR_Signing
- Rename build jobs to remove the "maven" and "nightly" terms
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.