Difference between revisions of "0.86/Roadmap"

From Sugar Labs
Jump to navigation Jump to search
 
(72 intermediate revisions by 8 users not shown)
Line 1: Line 1:
<noinclude>{{ GoogleTrans-en | es =show | bg =show | zh-CN =show | zh-TW =show | hr =show | cs =show | da =show | nl =show | fi =show | fr =show | de =show | el =show | hi =show | it =show | ja =show | ko =show | no =show | pl =show | pt =show | ro =show | ru =show | sv =show }}
+
<noinclude>{{GoogleTrans-en}}{{TeamHeader|Development Team|roadmap_link={{Upcoming Stable Release}}/Roadmap}}</noinclude>
{{TeamHeader|Development Team|roadmap_link=Release/Roadmap/{{Upcoming Stable Release}}}}</noinclude>
 
 
{{TOCright}}
 
{{TOCright}}
 
== Sucrose Development ==
 
== Sucrose Development ==
Line 6: Line 5:
 
Sucrose 0.85.x is an unstable development series intended for testing and
 
Sucrose 0.85.x is an unstable development series intended for testing and
 
development purposes. Sucrose uses odd minor version numbers to indicate
 
development purposes. Sucrose uses odd minor version numbers to indicate
development status, so this unstable 0.85.x series will eventually become
+
development status, so this unstable 0.85.x series will finally become
 
the 0.86 stable release.
 
the 0.86 stable release.
  
Line 24: Line 23:
 
|
 
|
 
|-
 
|-
|Jun 25
+
|Jul 09
 
|Sucrose 0.85.1 Tarballs Due
 
|Sucrose 0.85.1 Tarballs Due
 
|
 
|
 
|-
 
|-
|Jun 26
+
|Jul 10
 
|Sucrose 0.85.1 Development Release
 
|Sucrose 0.85.1 Development Release
 
|
 
|
Line 34: Line 33:
 
|Jul 23
 
|Jul 23
 
|Sucrose 0.85.2 Tarballs Due
 
|Sucrose 0.85.2 Tarballs Due
|
+
| [[0.86/0.85.2_Notes | Release Notes]]
 
|-
 
|-
 
|Jul 24  
 
|Jul 24  
Line 46: Line 45:
 
|Aug 21
 
|Aug 21
 
|Sucrose 0.85 Alpha (0.85.3)
 
|Sucrose 0.85 Alpha (0.85.3)
|Feature and API Freeze, String Cooling*
+
|[[Development_Team/Release#Feature_freeze | Feature and API Freeze]], [[Development_Team/Release#String_cooling | String Cooling*]]
 
|-
 
|-
 
|Aug 27
 
|Aug 27
Line 62: Line 61:
 
|Sep 04
 
|Sep 04
 
|Sucrose 0.85.5 Beta (0.85.5)
 
|Sucrose 0.85.5 Beta (0.85.5)
|String Freeze**
+
|[[Development_Team/Release#String_Freeze |  String Freeze**]]
 
|-
 
|-
 
|Sep 10
 
|Sep 10
Line 70: Line 69:
 
|Sep 11
 
|Sep 11
 
|Sucrose 0.85.6
 
|Sucrose 0.85.6
|
+
|[[0.86/0.85.6 Notes|0.85.6 Notes]] [[0.86/Testing]]
 
|-
 
|-
 
|Sep 17
 
|Sep 17
|Sucrose 0.86 Tarballs Due
+
|Sucrose 0.85.7 Tarballs Due
|Hard code freeze
+
|
 
|-
 
|-
 
|Sep 18
 
|Sep 18
 +
|Sucrose 0.85.7
 +
|[[0.86/0.85.7 Notes|0.85.7 Notes]]
 +
|-
 +
|Sep 21
 +
|[[Development_Team/Release#Hard_code_freeze | Hard code freeze]]: no source code changes can be made without approval from the release-team. Translation and documentation can continue.
 +
|
 +
|-
 +
|Sep 24
 +
|Sucrose 0.86 Tarballs Due, end [[Development_Team/Release#Hard_code_freeze | Hard code freeze]], but other freezes remain in effect for the stable branch.
 +
|
 +
|-
 +
|Sep 25
 
|Sucrose 0.86 Final Release!
 
|Sucrose 0.86 Final Release!
 +
|[[0.86/Notes]]
 +
|-
 +
|Oct 01
 +
|Sucrose 0.86.1 Tarballs Due
 
|
 
|
 +
|-
 +
|Oct 02
 +
|Sucrose 0.86.1 Bugfix Release 1
 +
|[[0.86/0.86.1 Notes|0.86.1 Notes]]
 +
|-
 +
|Oct 08
 +
|Sucrose 0.86.2 Tarballs Due
 +
|
 +
|-
 +
|Oct 09
 +
|Sucrose 0.86.2 Bugfix Release 2
 +
|[[0.86/0.86.2 Notes|0.86.2 Notes]]
 
|}
 
|}
  
Line 123: Line 150:
 
* hulahop
 
* hulahop
  
== Proposal Goals ==
+
== Features ==
 
+
* [[Features/Feature Template]] provides a guideline for documenting a feature.
==== Switch to a standard WM ====
+
* [[0.86/Testing]] provides a compilation of feature testing pages.
 
+
* Please follow the instructions on [[Features/Policy]].
Switch to a standard compliant window manager (possibly Metacity)
+
* [[:Category:Feature Ready for Release Manager|Feature awaiting review]].
 
+
* [[:Category:Feature Accepted 0.86 | Features accepted for the 0.86 release]].
* better non-sugarized activity support
+
* A summary status for all the features targeted at the 0.86 release is found at [[0.86/Feature List]].
* our current version of matchbox is unmaintained
 
* [http://dev.sugarlabs.org/ticket/602 #602]
 
* goal: test patch in a custom Soas image
 
* Owner/Coordinator: Sayamindu
 
 
 
==== 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
 
* [[Design_Team/Designs/Toolbars | Eben's mockups]]
 
* Ticket [http://dev.sugarlabs.org/ticket/452 #452]
 
* Owner/Coordinator: Marco/Benzea?
 
 
 
==== 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 [http://dev.sugarlabs.org/ticket/901 #901](change temp name to something based on the title)
 
* uploading (above) is also dependant on filenames being preserved on download [http://dev.sugarlabs.org/ticket/899 #899]
 
* 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)
 
* fix theme (scroll-bars [http://dev.sugarlabs.org/ticket/805 #805], html form widgets - Gary)
 
* Owner/Coordinator: Simon
 
 
 
==== Tags in the Journal ====
 
* auto completion for already existing tags, tag clouds
 
** its implemented in Library activity as well
 
* Owner/Coordinator: ?, attach it to Library?
 
 
 
==== 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
 
* [[Design_Team/Proposals/Keyboard_Action]]
 
* Owner/Coordinator: Homunq?
 
 
 
==== Printing support ====
 
* [http://wiki.sugarlabs.org/go/Print_Support Google summer of code project]
 
* Owner/Coordinator: IwikiwI
 
 
 
==== Search in home view ====
 
* the search is recently builds disabled
 
* Owner/Coordinator: ?
 
 
 
==== Collaboration ====
 
* Scalable presence service - Integrate gadget in the Sugar UI [http://dev.laptop.org/ticket/7711 #7711]
 
* Make collaboration more stable
 
* Owner/Coordinator: ?
 
 
 
==== Flash activities ====
 
* using the [http://git.sugarlabs.org/projects/sugar-gnash sugar gnash widget] - a [http://blog.tomeuvizoso.net/2009/04/embed-flash-movies-with-gnash-in-your.html blog post] from Tomeu has some more info
 
* SWFEdit from Tomeu is in gitorious, I plan to make a couple of sample Flash based activities with it.
 
* Owner/Coordinator: Gary?
 
 
 
==== Groups ====
 
* tagging buddies to build up relations, tagging can happen by a teacher tagging a class or the learner can tag himself
 
* Owner/Coordinator: Kartik Rustagi
 
* [[Tagging_Proposal|Proposal]]
 
 
 
==== 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
 
** see [http://git.sugarlabs.org/projects/sugar-port/repos/mainline/trees/master/lazyview lazyview] in sugar-port which is used in Library
 
* Owner/Coordinator: ?
 
 
 
==== Mesh View ====
 
* use buddy color to seed the position to get a more stable positioning in the mesh view
 
* See ticket [http://dev.sugarlabs.org/ticket/381 #318]
 
* Owner/Coordinator: ?
 
 
 
==== Ad-hoc networking ====
 
* as an alternative to the mesh
 
* Owner/Coordinator: ?
 
 
 
==== 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
 
** (?) we could write [[#Decoupling of Sucrose]]/'''bridge''' level on vala i.e. use for '''core''' only dbus API and provide bride level in vala binding [[User:Alsroot|Alsroot]] 06:15, 25 May 2009 (UTC)
 
* Owner/Coordinator: Tomeu
 
 
 
==== Keyboard control panel extension ====
 
* (Sayamindu would prefer to keep it as a separate module, since everyone may not choose to go with XKB)
 
* Owner/Coordinator: Sayamindu
 
 
 
==== Dictionary support in the shell ====
 
* [http://lists.sugarlabs.org/archive/sugar-devel/2009-May/014217.html Dictionary Proposal]
 
* Owner/Coordinator: Sayamindu
 
 
 
==== CP - Language in native language ====
 
* link to ticket here
 
* Owner/Coordinator: Sayamindu
 
 
 
==== TA ====
 
* de-couple the portfolio from the base TA
 
* Owner/Coordinator: Walter
 
 
 
==== Library activity ====
 
* [[Activities/Library | Library Activity Proposal]]
 
* 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)
 
** another option - add autostart activities
 
* Owner/Coordinator: Alsroot
 
 
 
==== 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 [[User:Alsroot|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.
 
* Owner/Coordinator: ?
 
 
 
==== Decoupling of Sucrose ====
 
The major idea is to have tough core(with stable release cycle) <=> dbus-API/sugar-toolkit-API(in ideal only dbus) <=> 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
 
** in ideal, it should have only dbus API
 
* '''bridge''' - [[Development_Team/sugar-port|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)
 
** we could write this level in vala to provide core functionality for wide range of programming languages
 
* '''world''' - the rest of sugar world i.e. fructose/honey (but now there are 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.<br>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
 
 
 
    Core                      Bridge                        World       
 
+------------+                                            +------------+
 
| Sugar-0.82 |---+                                    +---| Activity A |
 
+------------+  |    +---------------------------+  |  +------------+
 
+------------+  |    | sugar-port                |  |  +------------+
 
|    ...    |--dbus--| do not fail on 0.82      |---+---|    ...    |
 
+------------+  |    | but uses all 777 features |  |  +------------+
 
+------------+  |    +---------------------------+  |  +------------+
 
| Sugar-777  |---+                                    +---| Activity Z |
 
+------------+                                            +------------+
 
 
 
* Owner/Coordinator: ?
 
 
 
==== Version support for datastore ====
 
See [[Version_support_for_datastore/Proposal]].
 
* Owner/Coordinator: Silbe
 
 
 
==== 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).
 
 
 
<strong>find() returns only last versions of journal objects</strong>
 
 
 
So, all objects should be grouped by "object_id" which could be:
 
* ''activity_id'' for objects that were generated by activities
 
* ''bundle_id'' for .xo bundles in the Journal
 
* ''uid'' for other objecets
 
 
 
<strong>Sort find()'s resultset</strong>
 
 
 
Let datastore clients sort objects by any field(not only predefined like uid, activity_id etc).
 
* Sort by buddies count</strong>
 
 
 
* Owner/Coordinator: ?
 
 
 
==== Security ====
 
[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
 
# programming mistakes cannot affect other activities (like deleting all Journal contents).
 
* Owner/Coordinator: ?
 
 
 
==== Testing ====
 
Add some automated testing to catch bugs earlier and ease integration work:
 
* [http://dev.sugarlabs.org/ticket/594 SugarBot] (activity-level testing)
 
* some system-level tests (e.g. verify datastore works correctly)
 
* [http://dev.sugarlabs.org/ticket/595 regression tests]
 
* Owner/Coordinator: ?
 
 
 
==== Activities updates ====
 
 
 
Let users update theirs activities.
 
 
 
There could be several options:
 
* Use XO's mechanism to have update item in control panel(pretty common choice)
 
** we will have specific option - update only activities
 
* Follow [[Unified Objects]] paradigm, one of implementation of this idea is [[Activities/Library]], so give user more freedom in upgrading procedure(i.e. w/o ceilings) - incorporate updating procedure into browsing tool(like Journal, Library), so users get one unified method to browse and update(sync) theirs objects(not only activities).
 
** in case of [[Activities/Library]] we could have 0.82+ upgrading tool
 
 
 
Owner/Coordinator: ?
 
 
 
==== Old items ====
 
* Accessibility in Sugar [http://lists.sugarlabs.org/archive/sugar-devel/2009-April/013665.html]
 
* [[Unified Bundles]] merge .xol bundles to .xo
 
  
 
== Proposed modules ==
 
== Proposed modules ==

Latest revision as of 09:03, 11 October 2009

Team Home   ·   Join   ·   Contacts   ·   Resources   ·   FAQ   ·   Roadmap   ·   To Do   ·   Meetings

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 finally become the 0.86 stable release.

Schedule

Date Task Notes
2009 Jun 05 Release goals proposal
Jun 12 New modules proposal
Jul 09 Sucrose 0.85.1 Tarballs Due
Jul 10 Sucrose 0.85.1 Development Release
Jul 23 Sucrose 0.85.2 Tarballs Due Release Notes
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 0.85.6 Notes 0.86/Testing
Sep 17 Sucrose 0.85.7 Tarballs Due
Sep 18 Sucrose 0.85.7 0.85.7 Notes
Sep 21 Hard code freeze: no source code changes can be made without approval from the release-team. Translation and documentation can continue.
Sep 24 Sucrose 0.86 Tarballs Due, end Hard code freeze, but other freezes remain in effect for the stable branch.
Sep 25 Sucrose 0.86 Final Release! 0.86/Notes
Oct 01 Sucrose 0.86.1 Tarballs Due
Oct 02 Sucrose 0.86.1 Bugfix Release 1 0.86.1 Notes
Oct 08 Sucrose 0.86.2 Tarballs Due
Oct 09 Sucrose 0.86.2 Bugfix Release 2 0.86.2 Notes

* 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

Glucose Dependencies

Fructose Dependencies

  • pyabiword
  • hulahop

Features

Proposed modules

nothing proposed yet