Difference between revisions of "Features/Dotted Activity Versions"

From Sugar Labs
Jump to navigation Jump to search
 
(31 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<noinclude>{{TOCright}}
+
<noinclude>
[[Category:Feature Page Incomplete]]
+
[[Category:FeatureLanded|Dotted Activity Versions]]
[[Category:Feature|Dotted Activity Versions]]
+
</noinclude>
  
 
== Summary ==
 
== Summary ==
 
+
Extend the activity version numbering scheme to allow major and minor releases.
Let activity developers release bugfix versions and do not mess them with already released new versions(e.g. bugfix for several-versions-ago release w/o breaking/confusing-users existed versioning scheme).
 
  
 
== Owner ==
 
== Owner ==
''This should link to your home wiki page so we know who you are''
+
* Name: [[Users:Erikos| Simon Schampijer]]
* Name: [[User:AcountName| Your Name]]
 
  
''Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved''
+
* Email: simon AT sugarlabs DOT org
* Email: <your email address so we can contact you, invite you to meetings, etc.>
 
  
 
== Current status ==
 
== Current status ==
* Targeted release: 0.88
+
* Targeted release: 0.92
* Last updated: Sun Dec  6 03:13:02 UTC 2009
+
* Last updated: Fri, 05 Nov 2010
* Percentage of completion: 0%
+
* Percentage of completion: 90%
  
 
== Detailed Description ==
 
== Detailed Description ==
''Expand on the summary, if appropriate. A couple of sentences suffices to explain the goal, but the more details you can provide the better.''
+
The new numbering scheme is more flexible and allows you to do major and minor releases. This is useful when you want to do for example a bug fix release. The new version number will consist of N integers separated by dots (e.g., 1, 1.2, 1.4.5, 2.5.7.4). You can still use an integer number only for your releases.
 +
 
 +
There is as well the ability to use a suffix for a local indicator (e.g., Peru wants to release a slightly modified version for their deployment 1.3-peru). The local indicator is a string, appended to the version. The local indicator does not apply alpha ordering, which means that 1.3-peru is equal to 1.3-argentina.
 +
 
 +
Valid:
 +
1
 +
1.2
 +
1.2.3
 +
2.4.6.7
 +
2.3-peru
 +
 
 +
Not valid:
 +
1.2peru        # must be separated with a '-'
 +
1.2.          # can't end with '.'
 +
1.02.5        # can't have a leading zero
 +
 
 +
Comparisons:
 +
12 == 12
 +
0.9.9 < 1
 +
1 == 1.0.0
 +
1.2 < 1.2.3
 +
1.2-arg == 1.2
 +
1.2-arg == 1.2-peru
  
 
== Benefit to Sugar ==
 
== Benefit to Sugar ==
 +
The new scheme gives activity developers more control on their releases. The separation between a major release and a minor (bugfix) release is more clearly visible. Since developers can still use just integer numbers the simplicity of the old scheme is kept.
  
Let activity developers release bugfix versions and do not mess them with already released new versions(e.g. bugfix for several-versions-ago release w/o breaking/confusing-users existed versioning scheme).
+
This scheme also enables developers who maintain older versions of Sugar, building activities with intermediate versions, in cases where it is not possible to use the latest changes because are not compatible.
  
 
== Scope ==
 
== Scope ==
''What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?''
+
This feature does add a new class to the toolkit that is used to verify the correctness of the numbering string. The bundlebuilder and the activitybundle are adjusted accordingly ([http://bugs.sugarlabs.org/attachment/ticket/2425/0001-Adopt-to-new-numbering-scheme-2425.patch current toolkit patch]). In the shell the activity list and the bundleregistry has to change accordingly ([http://bugs.sugarlabs.org/attachment/ticket/2425/0001-Adopt-to-new-numbering-scheme-2425.patch current shell patch]).
 +
 
 +
Furthermore the activity updater has to adopt to the new scheme.
  
 
==UI Design==
 
==UI Design==
''Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.''
+
 
 +
The new activity version is only visible in the activity list and the activity updater.  
  
 
== How To Test ==
 
== How To Test ==
{{:{{PAGENAME}}/Testing}}
+
 
 +
 
 
== User Experience ==
 
== User Experience ==
 
''If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.''
 
''If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.''
  
 
== Dependencies ==
 
== Dependencies ==
''What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?''
+
 
 +
Regular glucose dependencies.
  
 
== Contingency Plan ==
 
== Contingency Plan ==
''If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.''
+
 
 +
None necessary, revert to previous release behavior.
  
 
== Documentation ==
 
== Documentation ==
''Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.''
+
[[Development_Team/Almanac/Activity_Bundles#.info_file_format |The activity.info file documentation]] will be adjusted accordingly once this feature lands. The discussion about this feature has been taking place at this [http://www.mail-archive.com/sugar-devel@lists.sugarlabs.org/msg16943.html thread] on the sugar-devel mailing list.
  
 
== Release Notes ==
 
== Release Notes ==
''The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.''
 
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==
 
* See [[{{TALKPAGENAME}}|discussion tab for this feature]] <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page. -->
 
* See [[{{TALKPAGENAME}}|discussion tab for this feature]] <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page. -->

Latest revision as of 13:59, 5 November 2013


Summary

Extend the activity version numbering scheme to allow major and minor releases.

Owner

  • Email: simon AT sugarlabs DOT org

Current status

  • Targeted release: 0.92
  • Last updated: Fri, 05 Nov 2010
  • Percentage of completion: 90%

Detailed Description

The new numbering scheme is more flexible and allows you to do major and minor releases. This is useful when you want to do for example a bug fix release. The new version number will consist of N integers separated by dots (e.g., 1, 1.2, 1.4.5, 2.5.7.4). You can still use an integer number only for your releases.

There is as well the ability to use a suffix for a local indicator (e.g., Peru wants to release a slightly modified version for their deployment 1.3-peru). The local indicator is a string, appended to the version. The local indicator does not apply alpha ordering, which means that 1.3-peru is equal to 1.3-argentina.

Valid:

1
1.2
1.2.3
2.4.6.7
2.3-peru

Not valid:

1.2peru        # must be separated with a '-'
1.2.           # can't end with '.'
1.02.5         # can't have a leading zero

Comparisons:

12 == 12
0.9.9 < 1
1 == 1.0.0
1.2 < 1.2.3
1.2-arg == 1.2
1.2-arg == 1.2-peru

Benefit to Sugar

The new scheme gives activity developers more control on their releases. The separation between a major release and a minor (bugfix) release is more clearly visible. Since developers can still use just integer numbers the simplicity of the old scheme is kept.

This scheme also enables developers who maintain older versions of Sugar, building activities with intermediate versions, in cases where it is not possible to use the latest changes because are not compatible.

Scope

This feature does add a new class to the toolkit that is used to verify the correctness of the numbering string. The bundlebuilder and the activitybundle are adjusted accordingly (current toolkit patch). In the shell the activity list and the bundleregistry has to change accordingly (current shell patch).

Furthermore the activity updater has to adopt to the new scheme.

UI Design

The new activity version is only visible in the activity list and the activity updater.

How To Test

User Experience

If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice.

Dependencies

Regular glucose dependencies.

Contingency Plan

None necessary, revert to previous release behavior.

Documentation

The activity.info file documentation will be adjusted accordingly once this feature lands. The discussion about this feature has been taking place at this thread on the sugar-devel mailing list.

Release Notes

Comments and Discussion