3,440 bytes added
, 13:49, 5 November 2013
<noinclude>{{GoogleTrans-en}}{{TOCright}}
[[Category:Feature Page Incomplete]]
[[Category:Feature|AboutMe]]</noinclude>
<!-- All fields on this form are required to be accepted.
We also request that you maintain the same order of sections so that all of the feature pages are uniform. -->
<!-- The actual name of your feature page should look something like: Features/Your Feature Name. This keeps all features in the same namespace -->
== Summary ==
Provide limits to the number of open activities and number of open instances of an activity.
== Owner ==
* Name: [[User:Walter| Walter Bender]]
* Email: <walter AT sl.o>
== Current status ==
* Targeted release: (1.02)
* Last updated: (5 November 2013)
* Percentage of completion: 100%
See [https://github.com/walterbender/sugar/commit/3fea62baf20a30e11015a014aeb94a16fba58554] and [https://github.com/walterbender/sugar-toolkit-gtk3/commit/1d550b33e9c083140e453cc19389d7966e888a14]
== Detailed Description ==
Set limit to open activities and open instances
At the request of OLPC AU (in an effort to reduce OOM freezes) this
patch uses gconf to set a maximum number of open activities. An
alert is shown if the user tries to launch more activities than the
maximum asking them to close an activity before opening a new one. If
maximum_number_of_open_activites is not set or == 0, then there is no
maximum limit applied.
Further, Some activities don't behave well if more than one instance
is open (e.g., SL #4554). This patch sets a limit on the number open
instances of an activity based on a new field in activity.info:
maximum_instances.
If and only if the maximum_instances field is present in
activity.info, is it used to set the limit of open instances.
== Benefit to Sugar ==
This is a feature that is already used in one major deployment. It seems to reduce OOM freezes and confusion about why activities such as Record fail when multiple copies are open.
== Scope ==
In sugar: jarabe/desktop/homewindow.py jarabe/journal/journalactivity.py jarabe/journal/misc.py jarabe/view/launcher.py and jarabe/model/shell.py
In the toolkit: sugar3/bundle/activitybundle.py
Also impacts the activity.info file of any activity that wishes to set a limit to the number of open instances:
maximum_instances = 1
== How To Test ==
Maximum instances:
# Add a maximum_instances field to the activity.info file of an activity
# Launch repeatedly and see if a limit is set
Maximum launches:
# From terminal gconftool-2 -t int -s /desktop/sugar/maximum_number_of_open_activities 4
# See if more than 4 activities can be launched
# From terminal gconftool-2 -u /desktop/sugar/maximum_number_of_open_activities
# See if there is any limit to the number of activities that can be launched
== User Experience ==
The direct impact on the user who have the gconf limit set is to get feedback when too many activities are launched. Activity developers can set a limit to the number of instances that can be launched.
== Dependencies ==
No new dependencies
== Contingency Plan ==
None. The feature is complete pending code review.
== Documentation ==
The gconf setting used by this feature is:
/desktop/sugar/maximum_number_of_open_activities
The new (optional) field in the activity.info file is:
maximum_instances
== Release Notes ==
== Comments and Discussion ==
* See [[{{TALKPAGENAME}}|discussion tab for this feature]]
----
[[Category:Features requested by OLPC AU]]