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

From Sugar Labs
Jump to navigation Jump to search
 
(55 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<noinclude>{{ GoogleTrans-en | es =show | bg =show | zh-CN =show | zh-TW =show | hr =show | cs =show | da =show | nl =show | fi =show | fr =show | de =show | el =show | hi =show | it =show | ja =show | ko =show | no =show | pl =show | pt =show | ro =show | ru =show | sv =show }}{{TOCright}}</noinclude>
+
<noinclude>{{GoogleTrans-en}}{{TOCright}}
 +
[[Category:FeatureObsoleted|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 8: Line 9:
 
== Summary ==
 
== Summary ==
  
One code base for all object browsing related functionality.
+
Treat frame as a containers(upper, left, right and bottom) for predefined or custom components i.e. having GNOME panels analog in sugar.
  
 
== Owner ==
 
== Owner ==
 +
 
* Name: [[User:alsroot| Aleksey Lim]]
 
* Name: [[User:alsroot| Aleksey Lim]]
 
* Email: [[Special:Emailuser/alsroot|send an email]]
 
* Email: [[Special:Emailuser/alsroot|send an email]]
  
 
== Current status ==
 
== Current status ==
* Targeted release: 0.86
+
* Targeted release: 0.88
 
* Last updated: Thu Jul  9 00:36:45 UTC 2009
 
* Last updated: Thu Jul  9 00:36:45 UTC 2009
 
* Percentage of completion: 0%
 
* Percentage of completion: 0%
Line 21: Line 23:
 
== Detailed Description ==
 
== Detailed Description ==
  
This code follows [[Design Team/Proposals/Journal]] mockups.
+
The major reason is to let activities like FileShare or Chat special UI representation in shell's interface. It could be also useful if user wants fast access to some activities like Journal replacements.
  
==== UI modes ====
+
Any of four panels could be stuck i.e. let user see its components all time.
  
Unified Browser supports plugins for different UI modes:
+
=== Predefined components ===
* 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(and for earlier glucose releases, if plugin author wants), plugins engine will be packaged into activity bundles.
+
* rings switch
 
+
* activities list
'''NOTE''' Separate activities is not a task for this feature proposal.
+
* clipboard
 
+
* users list
==== Plugins engine ====
+
* sources list
 
+
* network component
Browser provides backwards compatible and versioned plugins engine API:
+
* notification area
* ''v0'' engine for glucose-0.82/0.84
 
* ''v1'' engine for glucose-0.86(+)
 
 
 
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 ==
  
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.
+
* let users more freedom to organize sugar shell how they want
 +
* provide to activity developers a way to integrate theirs activities to shell UI(useful for activities that work in background and requires some kind all-time-present indicator in UI)
 +
* having stable API for panel components, activity developers have more freedom and aren't stuck to core releases e.g. Network activity/component(analog of NM widget in GNOME) could support several sugar releases and previous release sugar users will benefit from last Network component.
 +
* previous sugar release users will benefit from last updates of predefined components as well
  
 
== Scope ==
 
== Scope ==
  
 
* affects Journal code in sugar package
 
* affects Journal code in sugar package
* adds new activity for <0.86 releases
+
 
* Datastore API should provide tags functionality for 0.86+
+
== UI Design ==
 +
 
 +
* all of four frame panels could be stuck
 +
* manage components, way to add-new/remove/move components
 +
* components could have shell level key shortcuts
  
 
== How To Test ==
 
== How To Test ==
Line 67: Line 60:
 
== User Experience ==
 
== User Experience ==
  
All objects browsing features will look equally. It should mean that users will reuse theirs Journal  experience in browsing books for example.
+
* sugar frame as a regular GNOME panels
  
 
== Dependencies ==
 
== Dependencies ==
  
For >=0.86, all functionality will come from sugar package, for <0.86 it will be packaged in activity.
+
Existed glucose dependencies.
  
 
== Contingency Plan ==
 
== Contingency Plan ==
Line 87: Line 80:
 
== 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 -->
 
==[[Features]] Subpages==
 
{{Special:PrefixIndex/Features/}}
 
 
[[Category:FeaturePageIncomplete]]
 
[[Category:Feature]]
 
[[Category:Feature for 0.86 Journal]]
 

Latest revision as of 14:50, 5 November 2013


Summary

Treat frame as a containers(upper, left, right and bottom) for predefined or custom components i.e. having GNOME panels analog in sugar.

Owner

Current status

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

Detailed Description

The major reason is to let activities like FileShare or Chat special UI representation in shell's interface. It could be also useful if user wants fast access to some activities like Journal replacements.

Any of four panels could be stuck i.e. let user see its components all time.

Predefined components

  • rings switch
  • activities list
  • clipboard
  • users list
  • sources list
  • network component
  • notification area

Benefit to Sugar

  • let users more freedom to organize sugar shell how they want
  • provide to activity developers a way to integrate theirs activities to shell UI(useful for activities that work in background and requires some kind all-time-present indicator in UI)
  • having stable API for panel components, activity developers have more freedom and aren't stuck to core releases e.g. Network activity/component(analog of NM widget in GNOME) could support several sugar releases and previous release sugar users will benefit from last Network component.
  • previous sugar release users will benefit from last updates of predefined components as well

Scope

  • affects Journal code in sugar package

UI Design

  • all of four frame panels could be stuck
  • manage components, way to add-new/remove/move components
  • components could have shell level key shortcuts

How To Test

In progress..

User Experience

  • sugar frame as a regular GNOME panels

Dependencies

Existed glucose dependencies.

Contingency Plan

None necessary, revert to previous release behaviour.

Documentation

Release Notes

In progress..

Comments and Discussion