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.
Selector Architecture Harmonization
{{#eclipseproject:technology.higgins}}
Since Selectors use most of the Higgins Components, work on harmonizing the Higgins selectors into a single architecture would be a huge step towards overall Higgins architecture harmonization/convergence.
A good first step in converging the selectors is start by harmonizing the GTK and Cocoa Selector and the Adobe AIR Selector.
Contents
Top Level Diagram
Notes:
- Introduce the notion of a "Component Set" -- a set of components
- This architecture would run on Windows, Mac OSX, Linux and (with further work) potentially smart phones
- The "Selector UI" component would be either GTK, Cocoa or AIR-based, but the underlying "Selector Client" would be common.
Phase 1
Phased approach to implementation.
First Steps
The first objective is to perfectly align the existing Components with the above diagram.
- Jeesmon: Split the shared tcpserver project into multiple projects to align with above. Suggestions for new names:
- org.eclipse.higgins.hss for http://wiki.eclipse.org/Components#Higgins_Selector_Selector_.28HSS.29
- org.eclipse.higgins.hss.manager for http://wiki.eclipse.org/Components#HSS_Manager
- org.eclipse.higgins.hss.launcher for http://wiki.eclipse.org/Components#Higgins_Launcher
- org.eclipse.higgins.hbx.ie (NOT hbxie! (taken)) for http://wiki.eclipse.org/Components#Higgins_Browser_Extension_.28HBX.29
- Jeesmon: Merge the currently separate HSS connectors into .higgins.hss
- Split GTK/Cocoa Selector component into smaller pieces. Here's the first split:
- Leave "org.eclipse.higgins.cbselector" project as-is (for Higgins 1.0 use)
- Split out just the GTK-based user interface portion of .cbselector (shown in a box here) into its own project (e.g. .higgins.selector.ui.gtk) as the first alternative implmentation project within the new Selector UI component shown above.
- Change GTK-based Selector to use standard Higgins HBX
Phase 2
Client/Server
- Need to define a remote card store sync protocol
- Design decision: SOAP or HTTP
Client Side
The client side of phase 2 involves replacing the current i-card store in .cbselector with an i-card cache
Server Side
- New component added to existing Higgins server: i-card store (that supports above sync-ing protocol)