User:Alsroot/trash/Frame Panels


Summary

Let other activities to be integrated to shell e.g. notification area etc.

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

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(books, media etc.)
  • 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
  • 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

  • affects Journal code in sugar package

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.

Necessary 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

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