Plugins API for different view types in Journal.
- Targeted release: 0.88
- Last updated: Thu Jul 9 00:36:45 UTC 2009
- Percentage of completion: 0%
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
- 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
- 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)
- affects Journal code in sugar package
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.
- 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
All objects browsing features will look equally. It should mean that users will reuse theirs Journal experience in browsing books for example.
Existed glucose dependencies.
None necessary, revert to previous release behaviour.