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

From Sugar Labs
Jump to navigation Jump to search
Line 32: Line 32:
 
** ObjectChooser integration
 
** ObjectChooser integration
  
Plugins API will provide necessary functionality:
+
=== Data model ===
* TreeViewModel as a source of objects; so, all pulugins should use TreeViewModel for list widgets
+
 
* UI widgets, like TreeView, TableView, tag clouds etc.
+
* the whole variety of Journal objects could be represented by sets(default set is all objects)
* shell related procedures(like activate objects)
+
* any set has tag list of objects in set, every tag has count of objects in this set
 +
* any set could be reduced by query terms(tags or/and search string)
 +
* every set could be bookmarked(by saving query terms)
 +
* bookmarked sets could be shared for other sugar users
 +
 
 +
=== View model ===
 +
 
 +
* 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
 +
 
 +
== UI changes ==
 +
 
 +
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.
 +
 
 +
Involved operations:
 +
* 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
 +
* mark opened external bookmarks in bookmarks list(to separate them from local ones)
  
 
== Benefit to Sugar ==
 
== Benefit to Sugar ==

Revision as of 02:08, 27 November 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

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.

Purposes to have special Journal plugins API in addition to activities API:

  • 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

  • the whole variety of Journal objects could be represented by sets(default set is all objects)
  • any set has tag list of objects in set, every tag has count of objects in this set
  • any set could be reduced by query terms(tags or/and search string)
  • every set could be bookmarked(by saving query terms)
  • bookmarked sets could be shared for other sugar users

View model

  • 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

UI changes

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.

Involved operations:

  • 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
  • mark opened external bookmarks in bookmarks list(to separate them from local ones)

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.
  • for now, some activities have similar functionality(browsing Journal entries), so having plugins, we will use the same theme for browsing features in sugar
  • encourage developers create new view for different purposes

Scope

  • affects Journal code in sugar package

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

Existed glucose dependencies.

Contingency Plan

None necessary, revert to previous release behaviour.

Documentation

Release Notes

In progress..

Comments and Discussion