User:Alsroot/trash/Frame Panels: Difference between revisions
| Line 21: | Line 21: | ||
== Detailed Description == | == Detailed Description == | ||
This code follows [[Design Team/Proposals/Journal]] mockups. | |||
==== UI modes ==== | |||
Unified Browser supports plugins for different UI modes: | |||
* Journal objects-centric plugin | |||
* Books plugin, Calibre-like(or so) for browsing books | |||
* Audio plugin for browsing audio files | |||
* Video plugin for browsing video files | |||
* .. | |||
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. | |||
'''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 == | ||