Changes

Jump to navigation Jump to search
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 ==

Navigation menu