Difference between revisions of "User:Alsroot/trash/Frame Panels"

From Sugar Labs
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 ==

Revision as of 13:09, 9 July 2009


Summary

One code base for all object browsing related functionality.

Owner

Current status

  • Targeted release: 0.86
  • Last updated: Thu Jul 9 00:36:45 UTC 2009
  • Percentage of completion: 0%

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.

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

Browsing different types of sugar object looks the same in many cases(search, tagging etc.). So, keep unified code base and do not split it could be useful idea.

Scope

  • affects Journal code in sugar package
  • adds new activity for <0.86 releases
  • Datastore API should provide tags functionality for 0.86+

How To Test

In progress..

User Experience

All objects browsing features will look equally. It should mean that users will reuse theirs Journal experience in browsing books for example.

Dependencies

For >=0.86, all functionality will come from sugar package, for <0.86 it will be packaged in activity.

Contingency Plan

None necessary, revert to previous release behaviour.

Documentation

Release Notes

In progress..

Comments and Discussion

Features Subpages