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

From Sugar Labs
Jump to navigation Jump to search
m
Line 1: Line 1:
<noinclude>{{GoogleTrans-en}}{{TOCright}}</noinclude>
+
<noinclude>{{GoogleTrans-en}}{{TOCright}}
 +
[[Category:Feature Page Incomplete]]
 +
[[Category:Feature|Unified Browser for Objects]]</noinclude>
  
 
<!-- All fields on this form are required to be accepted.
 
<!-- All fields on this form are required to be accepted.
Line 32: Line 34:
 
* ..
 
* ..
  
So, we could have plugins for different purposes i.e. Journal plugin could be very common/simple but something like plugin for Books/Video/etc can have some special UI features(that look redundant in Journal plugin).
+
So, we could have plugins for different purposes i.e. Journal plugin could be very common/simple but something like plugin for Books/Video/etc can have some special UI features (that look redundant in Journal plugin).
  
 
For sugar-0.88+, Journal will load all installed plugins and provide possibility to switch between them, for <0.88 plugins will be formed in separated activities.
 
For sugar-0.88+, Journal will load all installed plugins and provide possibility to switch between them, for <0.88 plugins will be formed in separated activities.
  
For sugar-0.88+, Journal plugin will be packaged with sugar, other plugins could be packaged into activities and have separate code base. In 0.88+ environment, these activities will use plugins engine from current sugar, for <0.88 environments(and for 0.88+ glucose releases when plugin uses newer engine), plugins engine will be packaged into activity bundles.
+
For sugar-0.88+, Journal plugin will be packaged with sugar, other plugins could be packaged into activities and have separate code base. In 0.88+ environment, these activities will use plugins engine from current sugar, for <0.88 environments (and for 0.88+ glucose releases when plugin uses newer engine), plugins engine will be packaged into activity bundles.
  
 
'''NOTE''' Separate plugins/activities is not a task for this feature proposal.
 
'''NOTE''' Separate plugins/activities is not a task for this feature proposal.
Line 48: Line 50:
 
Engine provides all necessary functionality for plugins:
 
Engine provides all necessary functionality for plugins:
 
* TreeViewModel as a source of objects; so, all pulugins should use TreeViewModel for list widgets
 
* TreeViewModel as a source of objects; so, all pulugins should use TreeViewModel for list widgets
** for local objects(rich client for <0.88 and thin client for >=0.88)
+
** for local objects (rich client for <0.88 and thin client for >=0.88)
 
** for remote p2p objects
 
** for remote p2p objects
 
** for remote server objects
 
** for remote server objects
** aggregated sources(combine several sources)
+
** aggregated sources (combine several sources)
 
* UI widgets, like TreeView, TableView, tag clouds etc.
 
* UI widgets, like TreeView, TableView, tag clouds etc.
 
* shell related procedures(like activate objects)
 
* shell related procedures(like activate objects)
Line 57: Line 59:
 
== Benefit to Sugar ==
 
== 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.
+
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 ==
 
== Scope ==
Line 91: Line 93:
 
== Comments and Discussion ==
 
== Comments and Discussion ==
 
* See [[{{TALKPAGENAME}}|discussion tab for this feature]] <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
 
* See [[{{TALKPAGENAME}}|discussion tab for this feature]] <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
 
[[Category:Feature Page Incomplete]]
 
[[Category:Feature]]
 

Revision as of 23:43, 17 October 2009


Summary

Plugins for different view types in Journal.

Owner

Current status

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

Detailed Description

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
  • Plugin to browse .xol collections(instead of using sidebar in Browse)
  • ..

So, we could have plugins for different purposes i.e. Journal plugin could be very common/simple but something like plugin for Books/Video/etc can have some special UI features (that look redundant in Journal plugin).

For sugar-0.88+, Journal will load all installed plugins and provide possibility to switch between them, for <0.88 plugins will be formed in separated activities.

For sugar-0.88+, Journal plugin will be packaged with sugar, other plugins could be packaged into activities and have separate code base. In 0.88+ environment, these activities will use plugins engine from current sugar, for <0.88 environments (and for 0.88+ glucose releases when plugin uses newer engine), plugins engine will be packaged into activity bundles.

NOTE Separate plugins/activities is not a task for this feature proposal.

Plugins engine

Browser provides backwards compatible and versioned plugins engine API:

  • v0 engine for glucose-0.84/0.86
  • v1 engine for glucose-0.88(+)

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.88 and thin client for >=0.88)
    • 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.88 releases
  • Datastore API should provide tags functionality for 0.88+

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