Difference between revisions of "0.86/Roadmap"
Line 145: | Line 145: | ||
* export for offline viewing (Web page - HTML only, Web page - Complete) | * export for offline viewing (Web page - HTML only, Web page - Complete) | ||
* creating of web pages (highlighting support in Write, Activity with special HTML based features(can happen outside of the official cycle)) | * creating of web pages (highlighting support in Write, Activity with special HTML based features(can happen outside of the official cycle)) | ||
− | + | * bookmarks (global bookmarks, at the moment we only have session bookmarks and the autocompletion functionality) | |
==== Tags in the Journal ==== | ==== Tags in the Journal ==== | ||
Line 171: | Line 171: | ||
==== List views ==== | ==== List views ==== | ||
− | + | *in the mesh view a list view of the access points | |
− | + | * switching to use gtk-tree-view for the lists (journal, activity) - this has accessibility support already | |
− | |||
− | |||
==== Mesh View ==== | ==== Mesh View ==== | ||
− | + | * use buddy color to seed the position to get a more stable positioning in the mesh view | |
− | |||
− | |||
==== Ad-hoc networking ==== | ==== Ad-hoc networking ==== | ||
− | + | * as an alternative to the mesh | |
− | |||
− | |||
==== Bindings ==== | ==== Bindings ==== | ||
− | + | * Moving Sugar to [http://live.gnome.org/PyBank PyBank] to save memory and improve startup speed. Pybank builds the bindings as you need them, so you don't import all the bindings for gtk at startup of every process. | |
− | + | * [http://live.gnome.org/Vala/Bindings Vala bindings] for the toolkit | |
− | so you don't import all the bindings for gtk at startup of every process. | ||
− | |||
− | |||
==== Keyboard control panel extension ==== | ==== Keyboard control panel extension ==== | ||
Line 244: | Line 235: | ||
<strong>Get collapsed find()'s resultset</strong> | <strong>Get collapsed find()'s resultset</strong> | ||
− | |||
Let user call datastore.find() to get list of collapsed objects(all versions by one item). | Let user call datastore.find() to get list of collapsed objects(all versions by one item). | ||
Line 253: | Line 243: | ||
<strong>History of collapsed object</strong> | <strong>History of collapsed object</strong> | ||
− | |||
Let datastore clients browse history of collapsed objects: | Let datastore clients browse history of collapsed objects: | ||
* for ''activity_id'' objects - sort by timestamp (already impelemented) | * for ''activity_id'' objects - sort by timestamp (already impelemented) | ||
Line 259: | Line 248: | ||
<strong>Sort find()'s resultset</strong> | <strong>Sort find()'s resultset</strong> | ||
− | |||
Let datastore clients sort objects by any field(not only predefined like uid, activity_id etc). | Let datastore clients sort objects by any field(not only predefined like uid, activity_id etc). | ||
<strong>Sort by buddies count</strong> | <strong>Sort by buddies count</strong> | ||
− | |||
==== Security ==== | ==== Security ==== | ||
− | |||
[http://dev.sugarlabs.org/ticket/593 Add support] for the current version of [http://wiki.laptop.org/go/Rainbow Rainbow] so | [http://dev.sugarlabs.org/ticket/593 Add support] for the current version of [http://wiki.laptop.org/go/Rainbow Rainbow] so | ||
# security flaws in Browse (which are the norm rather than the exception) don't allow an attacker to take over the machine and | # security flaws in Browse (which are the norm rather than the exception) don't allow an attacker to take over the machine and | ||
# programming mistakes cannot affect other activities (like deleting all Journal contents). | # programming mistakes cannot affect other activities (like deleting all Journal contents). | ||
− | |||
==== Testing ==== | ==== Testing ==== | ||
− | |||
Add some automated testing to catch bugs earlier and ease integration work: | Add some automated testing to catch bugs earlier and ease integration work: | ||
* [http://dev.sugarlabs.org/ticket/594 SugarBot] (activity-level testing) | * [http://dev.sugarlabs.org/ticket/594 SugarBot] (activity-level testing) | ||
* some system-level tests (e.g. verify datastore works correctly) | * some system-level tests (e.g. verify datastore works correctly) | ||
* [http://dev.sugarlabs.org/ticket/595 regression tests] | * [http://dev.sugarlabs.org/ticket/595 regression tests] | ||
− | |||
==== Old items ==== | ==== Old items ==== | ||
− | |||
* Accessibility in Sugar [http://lists.sugarlabs.org/archive/sugar-devel/2009-April/013665.html] | * Accessibility in Sugar [http://lists.sugarlabs.org/archive/sugar-devel/2009-April/013665.html] | ||
* [[Unified Bundles]] merge .xol bundles to .xo | * [[Unified Bundles]] merge .xol bundles to .xo |
Revision as of 06:25, 22 May 2009
Sucrose Development
Sucrose 0.85.x is an unstable development series intended for testing and development purposes. Sucrose uses odd minor version numbers to indicate development status, so this unstable 0.85.x series will eventually become the 0.86 stable release.
Schedule
Schedule
Date | Task | Notes |
---|---|---|
2009 Jun 05 | Release goals proposal | |
Jun 12 | New modules proposal | |
Jun 25 | Sucrose 0.85.1 Tarballs Due | |
Jun 26 | Sucrose 0.85.1 Development Release | |
Jul 23 | Sucrose 0.85.2 Tarballs Due | |
Jul 24 | Sucrose 0.85.2 Development Release | |
Aug 20 | Sucrose 0.85.3 Tarballs Due | |
Aug 21 | Sucrose 0.85 Alpha (0.85.3) | Feature and API Freeze, String Cooling* |
Aug 27 | Sucrose 0.85.4 Tarballs Due | |
Aug 28 | Sucrose 0.85.4 | |
Sep 03 | Sucrose 0.85.5 Tarballs Due | |
Sep 04 | Sucrose 0.85.5 Beta (0.85.5) | String Freeze** |
Sep 10 | Sucrose 0.85.6 Tarballs Due | |
Sep 11 | Sucrose 0.85.6 | |
Sep 17 | Sucrose 0.86 Tarballs Due | Hard code freeze |
Sep 18 | Sucrose 0.86 Final Release! |
* String changes have to be announced, but no exceptions have to be requested.
** Every string change has to be requested and to be approved.
Glucose Development Team/Release/Modules
Fructose Development Team/Release/Modules
- chat-activity
- web-activity
- read-activity
- log-activity
- write-activity
- calculate-activity
- terminal-activity
- pippy-activity
- etoys-activity
- jukebox-activity
- turtleart-activity
- imageviewer-activity
Glucose Dependencies
Fructose Dependencies
- pyabiword
- hulahop
Proposal Goals
Switch to a standard WM
Switch to a standard compliant window manager (possibly Metacity)
- better non-sugarized activity support
- our current version of matchbox is unmaintained
- http://dev.sugarlabs.org/ticket/602
- goal: test patch in a custom Soas image
New toolbar widget
- add new widget and switch basic activities to it
- keep the old widget if some of the activities do not change in this cycle
- http://wiki.sugarlabs.org/go/Design_Team/Designs/Toolbars
Browse
- tabs support (open popup windows in tabs, saving of tabs history, standard behavior of Browse should not change -> no open tab by default)
- better naming of files to be uploaded (change temp name to something based on the title)
- export for offline viewing (Web page - HTML only, Web page - Complete)
- creating of web pages (highlighting support in Write, Activity with special HTML based features(can happen outside of the official cycle))
- bookmarks (global bookmarks, at the moment we only have session bookmarks and the autocompletion functionality)
Tags in the Journal
- auto completion for already existing tags, tag clouds
- its implemented in Library activity as well
More Accelerators (short cuts)
- make sure we use the accelerators where possible, get discussion about which modifiers to use for which settings as early as possible going
Printing support
- http://wiki.sugarlabs.org/go/Print_Support">google summer of code project
Search in home view
- the search is recently builds disabled
Collaboration
- Scalable presence service - Integrate gadget in the Sugar UI http://dev.laptop.org/ticket/7711
- Make collaboration more stable
Flash activities
- using the http://git.sugarlabs.org/projects/sugar-gnash widget - a blog post from Tomeu has some more info: http://blog.tomeuvizoso.net/2009/04/embed-flash-movies-with-gnash-in-your.html
Groups
- tagging buddies to build up relations, tagging can happen by a teacher tagging a class or the learner can tag himself
List views
- in the mesh view a list view of the access points
- switching to use gtk-tree-view for the lists (journal, activity) - this has accessibility support already
Mesh View
- use buddy color to seed the position to get a more stable positioning in the mesh view
Ad-hoc networking
- as an alternative to the mesh
Bindings
- Moving Sugar to PyBank to save memory and improve startup speed. Pybank builds the bindings as you need them, so you don't import all the bindings for gtk at startup of every process.
- Vala bindings for the toolkit
Keyboard control panel extension
- (Sayamindu would prefer to keep it as a seperate module, since everyone may not choose to go with XKB)
Dictionary support in the shell
- link to email here
CP - Language in native language
- link to ticket here
TA
- de-couple the portfolio from the base TA
Library activity
- http://wiki.sugarlabs.org/go/Activities/Library
- in honey
- maybe we want a pluggable Views(Home/Journal) to ease the use of such kinds of activities(activities that can browse sugar objects)
Alsroot 16:16, 21 May 2009 (UTC)
API work
- backwards compability
- (http://wiki.sugarlabs.org/go/Development_Team/sugar-port will take care for the activities needs for a working activity on 0.82 for example) see "Decoupling of Sucrose" section Alsroot 16:16, 21 May 2009 (UTC)
- (?) start moving to pure dbus interface for glucose
- dbus method to resume/open activities(instead of sugar-toolkit API)
- something simple like dbus_object.activate(uid) or
- etc.
- dbus method to resume/open activities(instead of sugar-toolkit API)
Decoupling of Sucrose
The major idea is to have tough core(with stable release cycle) <=> dbus-API/sugar-toolkit-API <=> unlimited count of activities that uses core functionality and do not follow 6 months release cycle(which could be overmuch for activity).
It could looks like:
- core - glucose, six months(or so) release cycle, w/o any activities only API
- bridge - sugar-port for example, between all(in ideal) already deployed sugars and activities i.e. it provides backwards compatibility(so the same activity code will work on all sugars) and at the same time provides features from newest sugar(so the same activity code will use last sugar's features)
- world - the rest of sugar world i.e. fructose/honey (but now there is no differences between them) that use core directly, if all deployed sugars have the same API for desired functionality(for example in case of preselected mime type, ObjectsChooser has different API for 0.82-0.86), or use bridge otherwise.
imho another point to have activities outside of core release cycle - activities have more shorter release cycle then core has
And of course deployers can form any sets from these components
Alsroot 16:14, 21 May 2009 (UTC)
Version support for datastore
See Version_support_for_datastore/Proposal.
Datastore features that could benefit Library
These features can benefit Activities/Library activity. At present(for 0.82/0.84) Library uses "rich" datastore client which fetches all Journal objects to make short list of objects(by collapsing all versions to one item), moreover it has to unzip .xo bundles to get bundle_id value. So its not good.
With all these features implemented Library can use "thin" datastore client and not fetch all objects, just make proper request for datasotre.find() to get sorted and collapsed objects by portions (by using offset/limit find() arguments).
Get collapsed find()'s resultset Let user call datastore.find() to get list of collapsed objects(all versions by one item).
That should mean that any datastore object should have "object id":
- activity_id for objects that were generated by activities (already implemented)
- bundle_id for .xo bundles in the Journal
- uid for other objecets (already implemented)
History of collapsed object Let datastore clients browse history of collapsed objects:
- for activity_id objects - sort by timestamp (already impelemented)
- for bundle_id objects - sort by activity_version(or so) field
Sort find()'s resultset Let datastore clients sort objects by any field(not only predefined like uid, activity_id etc).
Sort by buddies count
Security
Add support for the current version of Rainbow so
- security flaws in Browse (which are the norm rather than the exception) don't allow an attacker to take over the machine and
- programming mistakes cannot affect other activities (like deleting all Journal contents).
Testing
Add some automated testing to catch bugs earlier and ease integration work:
- SugarBot (activity-level testing)
- some system-level tests (e.g. verify datastore works correctly)
- regression tests
Old items
- Accessibility in Sugar [1]
- Unified Bundles merge .xol bundles to .xo
Proposed modules
nothing proposed yet