Line 21: |
Line 21: |
| == Detailed Description == | | == Detailed Description == |
| | | |
− | * Follow [[Design Team/Proposals/Journal]] mockups
| + | This code follows [[Design Team/Proposals/Journal]] mockups. |
− | * Support plugins for different UI modes
| + | |
− | ** Journal objects-centric plugin(for 0.86+ its a part of sugar package, for <0.86 releases it could be a separate activity as well)
| + | ==== UI modes ==== |
− | ** Books plugin, Calibre-like(or so) for browsing books(separate activity)
| + | |
− | ** Audio plugin for browsing audio files(separate activity)
| + | Unified Browser supports plugins for different UI modes: |
− | ** Video plugin for browsing video files(separate activity)
| + | * Journal objects-centric plugin |
− | ** ..
| + | * Books plugin, Calibre-like(or so) for browsing books |
− | * Provide all necessary functionality for plugins
| + | * Audio plugin for browsing audio files |
− | ** TreeViewModel as a source of objects; so, all pulugins should use TreeViewModel for list widgets
| + | * Video plugin for browsing video files |
− | *** for local objects(rich client for <0.86 and thin client for >=0.86)
| + | * .. |
− | *** for remote p2p objects
| + | |
− | *** for remote server objects
| + | For sugar-0.86+, Journal plugin will be packaged with sugar, other plugins could be packaged into activities and have separate code base. In 0.86+ environment, these activities will use plugins engine from current sugar, for <0.86 environments, plugins engine will be packaged into activity bundles. |
− | *** aggregated sources(combine several sources)
| |
− | ** UI widgets, like TreeView, TableView
| |
− | ** shell related procedures(like activate objects)
| |
| | | |
| '''NOTE''' Separate activities is not a task for this feature proposal. | | '''NOTE''' Separate activities is not a task for this feature proposal. |
| + | |
| + | ==== Plugins API ==== |
| + | |
| + | Browser provides backwards compatible and versioned plugins engine API: |
| + | * ''v0'' engine for glucose-0.82/0.84 |
| + | * ''v1'' engine for glucose-0.86(+) |
| + | |
| + | Plugins engine provides all necessary functionality for plugins: |
| + | * TreeViewModel as a source of objects; so, all pulugins should use TreeViewModel for list widgets |
| + | ** for local objects(rich client for <0.86 and thin client for >=0.86) |
| + | ** for remote p2p objects |
| + | ** for remote server objects |
| + | ** aggregated sources(combine several sources) |
| + | * UI widgets, like TreeView, TableView, tag clouds etc. |
| + | * shell related procedures(like activate objects) |
| | | |
| == Benefit to Sugar == | | == Benefit to Sugar == |