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

From Sugar Labs
Jump to navigation Jump to search
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
<noinclude>{{GoogleTrans-en}}{{TOCright}}
 
<noinclude>{{GoogleTrans-en}}{{TOCright}}
[[Category:Feature Ready for Release Manager]]
+
[[Category:FeatureObsoleted|Unified Browser for Objects]]</noinclude>
[[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 10: Line 9:
 
== Summary ==
 
== Summary ==
  
Let other activities to be integrated to shell e.g. notification area etc.
+
Treat frame as a containers(upper, left, right and bottom) for predefined or custom components i.e. having GNOME panels analog in sugar.
In short terms this proposal about later extending/improving sugar-toolkit API/services.
 
  
 
== Owner ==
 
== Owner ==
Line 25: Line 23:
 
== Detailed Description ==
 
== Detailed Description ==
  
The reason for this feature is having Journal views for different purposes i.e. Journal plugin could be very common/simple but views for Books/Video/etc could have some special UI features. Another benefit of Journal plugins is that we can have non-core plugins and distribute them from ASLO.
+
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.
  
Purposes to have special Journal plugins API in addition to activities API:
+
Any of four panels could be stuck i.e. let user see its components all time.
* security reasons, browsing Journal entries and launch/remove/change objects could be denied for regular activities in next sugar releases
 
* Journal integration
 
** fast access to plugin views
 
** ObjectChooser integration
 
  
=== Data model ===
+
=== Predefined components ===
  
* the whole variety of Journal objects could be represented by sets(default set is all objects)
+
* rings switch
* any set has tag list of objects in set, every tag has count of objects in this set
+
* activities list
* any set could be reduced by query terms(tags or/and search string)
+
* clipboard
* every set could be bookmarked(by saving query terms)
+
* users list
* bookmarked sets could be shared for other sugar users
+
* sources list
 
+
* network component
=== View model ===
+
* notification area
 
 
* data sets could be browsed in various Journal plugins(default plugin is Journal)
 
* user can change view plugin any time to browse current set
 
* user can reduce current set by changing query terms(process of querying entirely depends on plugin)
 
* user can bookmark current set(current query terms)
 
* bookmarked sets have prefered plugin to browse
 
  
 
== 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
* for now, some activities have similar functionality(browsing Journal entries), so having plugins, we will use the same theme for browsing features in sugar
+
* 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)
* encourage developers create new view for different purposes(books, media etc.)
+
* 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.
* having plugins we don't stick to sugar releases, deployers could create/change plugins that support not only last sugar but version which is in deployment
+
* previous sugar release users will benefit from last updates of predefined components as well
* having bookmarks, users can have fast access to his books/media-files/etc in the Journal(and using proper view plugin to browse them)
 
* shared bookmarks is more powerful and useful method of network sharing(in comparing with "Send to" option)
 
  
 
== Scope ==
 
== Scope ==
Line 64: Line 50:
 
== UI Design ==
 
== UI Design ==
  
What we see in current Journal view, will be Journal plugin. Plugin could use the whole window(API will provide default components like Journal toolbar), so bookmarks related UI components should be placed to frame window.
+
* all of four frame panels could be stuck
 
+
* manage components, way to add-new/remove/move components
Necessary operations:
+
* components could have shell level key shortcuts
* create new bookmark, process could be initiated by plugin's UI component but we need common method to name newly created bookmark
 
* delete stored bookmark
 
* switch between bookmarks
 
* change view plugin for current set
 
* share bookmark
 
* let other users know that someone has shared bookmarks
 
  
 
== How To Test ==
 
== How To Test ==
Line 80: 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 ==

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