Difference between revisions of "Features/Multi selection"

From Sugar Labs
Jump to navigation Jump to search
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<noinclude>
+
<noinclude>[[Category:FeatureLanded|Multi selection]]
[[Category:Feature|Multi selection]]
+
</noinclude>{{TOCleft}}<br style="clear: both" />
</noinclude>
 
  
 
== Summary ==  
 
== Summary ==  
  
 
Implements the ability to select multiple journal entries in the journal entry view and perform group operations (like copy, delete) on them.
 
Implements the ability to select multiple journal entries in the journal entry view and perform group operations (like copy, delete) on them.
 +
 +
 +
  
 
== Owner ==
 
== Owner ==
 
* Name:  [[User:Ajay| Ajay Garg]]
 
* Name:  [[User:Ajay| Ajay Garg]]
 
* Email: ajay@activitycentral.com
 
* Email: ajay@activitycentral.com
 +
 +
 +
  
 
== Credits ==
 
== Credits ==
  
 +
* [[User:garycmartin| Gary Martin]]  (Major contributor in helping this feature reach the level of robustness today)
 
* [[User:Walter| Walter Bender]], [[User:Gonzalo| Gonzalo Odiard]], [[User:erikos| Simon Schampijer]]  (Design)
 
* [[User:Walter| Walter Bender]], [[User:Gonzalo| Gonzalo Odiard]], [[User:erikos| Simon Schampijer]]  (Design)
 
* [[tch| Martin Abente]]  (Initial code patches)
 
* [[tch| Martin Abente]]  (Initial code patches)
* [[User:M_anish| Anish Mangal]] (Reviving the feature)
+
* [[User:M_anish| Anish Mangal]] (Reviving the feature; Icons; Solutions to some UI issues)
  
== Current status ==
 
  
* Targeted release: 0.98
 
* Development status: This feature is tested to be working quite well in sugar-0.94 based dextrose-3 images.
 
  The mainline-ported rpms/patches can be found at
 
  
**
 
Sugar ::
 
  
http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-0.96.3-1.fc17.noarch.rpm
+
== Current status ==
http://patchwork.sugarlabs.org/patch/1662/
 
  
 +
* Targeted release: 0.99
 +
* Development status: The feature has been gtk3-ported; the ready-to-be-applied patch will be generated, once the go-ahead is received.
  
 +
== Benefit to Sugar ==
 +
A recurrent request from teachers and kids is to be able to operate on a group of entries.
  
**
+
This feature allows the users to perform operations on multiple journal entries at once, making it very efficient if the user has to perform repetitive tasks like copying/deleting journal entries for many entries. The users can also filter journal entries by using the already existing search facilities and perform operations on those.
Sugar-Toolkit ::
 
 
 
http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-toolkit-0.96.3-2.fc17.i386.rpm
 
http://patchwork.sugarlabs.org/patch/1663/
 
 
 
 
 
 
 
**
 
Sugar-Artwork ::
 
 
 
http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-artwork-0.96.5-1.fc17.i386.rpm
 
http://patchwork.sugarlabs.org/patch/1664/
 
  
 +
Two ways of selecting multiple journal entries have been provided. The user can either click the checkbox next to individual journal entries or use the select/deselect all buttons provided on the toolbar (which only shows up if the feature is being used). This UI takes some ideas from the standard gmail interface in how it allows users to select multiple entries and perform operations on them.
  
 +
Another interesting and useful side-effect of this feature is that a user can insert a pen-drive with many activity bundles, select 'all' and copy them to journal. The resulting operation will install all bundles on the XO laptop!
  
== Detailed Description ==
 
  
A recurrent request from teachers and kids is to be able to operate on a group of entries.
 
  
  
== Benefit to Sugar ==
 
This feature allows the users to perform operations on multiple journal entries at once, making it very efficient if the user has to perform repetitive tasks like copying/deleting journal entries for many entries. The users can also filter journal entries by using the already existing search facilities and perform operations on those.
 
  
Two ways of selecting multiple journal entries have been provided. The user can either click the checkbox next to individual journal entries or use the select/deselect all buttons provided on the toolbar (which only shows up if the feature is being used). This UI takes some ideas from the standard gmail interface in how it allows users to select multiple entries and perform operations on them.
+
== History / Initial-Implementation ==
 
 
Another interesting and useful side-effect of this feature is that a user can insert a pen-drive with many activity bundles, select 'all' and copy them to journal. The resulting operation will install all bundles on the XO laptop!
 
 
 
== Implementation ==
 
  
 
Martin Abente created a initial implementation [http://lists.sugarlabs.org/archive/sugar-devel/2011-May/031575.html]
 
Martin Abente created a initial implementation [http://lists.sugarlabs.org/archive/sugar-devel/2011-May/031575.html]
Line 80: Line 65:
  
  
== History ==
+
 
 +
 
 +
 
 +
 
 +
== Implementation ==
  
 
The implementation is almost identical to the one done by Martin; details available at :
 
The implementation is almost identical to the one done by Martin; details available at :
Line 88: Line 77:
  
 
* More copy-to options :: Clipboard, Documents (in addition to mounted drives).
 
* More copy-to options :: Clipboard, Documents (in addition to mounted drives).
* When entries are copied to another location, both - the sources and the destinations - are de-selected automatically, without the user explicitly have to de-select them all manually.
 
 
* There has been a progress bar added for batch-operations.
 
* There has been a progress bar added for batch-operations.
 +
 +
 +
  
  
Line 100: Line 91:
 
* Some particular use-cases ::
 
* Some particular use-cases ::
 
** Batch-operations <del>speeds up</del> makes XO-bundle installations more convenient, when multiple bundles are copied together from a USB drive to the journal. Thanks a ton to Sridhar Dhanapalan for the attention generated towards this (otherwise obscure) use-case.
 
** Batch-operations <del>speeds up</del> makes XO-bundle installations more convenient, when multiple bundles are copied together from a USB drive to the journal. Thanks a ton to Sridhar Dhanapalan for the attention generated towards this (otherwise obscure) use-case.
 +
 +
 +
 +
  
  
Line 106: Line 101:
 
=== Typical copy-to workflow ===
 
=== Typical copy-to workflow ===
  
=[Step 01] Initial "Journal" view=
+
==[Step 01] Initial "Journal" view==
**[[File:ms001.png]]
+
:[[File:ms001.png|800px]]
**[[File:ms099.png]]
+
 
**[[File:ms002.png]]
+
 
**[[File:ms003.png]]
+
 
**[[File:ms004.png]]
+
 
**[[File:ms005.png]]
+
 
**[[File:ms006.png]]
+
 
**[[File:ms007.png]]
+
 
**[[File:ms008.png]]
+
 
**[[File:ms009.png]]
+
==[Step 02] Initial "Documents" view==
**[[File:ms010.png]]
+
:[[File:ms099.png|800px]]
**[[File:ms011.png]]
+
 
**[[File:ms012.png]]
+
 
**[[File:ms013.png]]
+
 
**[[File:ms014.png]]
+
 
**[[File:ms015.png]]
+
 
**[[File:ms016.png]]
+
 
**[[File:ms017.png]]
+
 
**[[File:ms018.png]]
+
 
**[[File:ms019.png]]
+
==[Step 03] Select an entry by clicking on the Checkbox. The view changes to Multi-Select mode.==
**[[File:ms020.png]]
+
:[[File:ms002.png|800px]]
**[[File:ms021.png]]
+
 
**[[File:ms022.png]]
+
 
**[[File:ms023.png]]
+
 
**[[File:ms024.png]]
+
 
 +
 
 +
 
 +
 
 +
 
 +
==[Step 04] More entries can be selected/deselected one by one, or Select-All/Deselect-All may be used==
 +
:[[File:ms003.png|800px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
==[Step 05] Select Copy-to-Documents Option==
 +
:[[File:ms005.png|800px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
==[Step 06] An alert pops up, asking for confirmation (Continue/Stop)==
 +
:[[File:ms006.png|800px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
==[Step 07] If Stop is chosen, nothing happens, and the entries remain selected.==
 +
:[[File:ms007.png|800px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
==[Step 08] Again choose Copy-to-Documents Option==
 +
:[[File:ms008.png|800px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
==[Step 09] An alert pops up, asking for confirmation (Continue/Stop). This time choose Continue.==
 +
:[[File:ms009.png|800px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
==[Step 10] Running progress of first entry ==
 +
:[[File:ms021.png|800px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
==[Step 11] Running progress of second entry. The message pops up, same as expected as in single mode==
 +
:[[File:ms023.png|800px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
==[Step 12] Running progress of third entry.==
 +
:[[File:ms024.png|800px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
==[Step 13] Batch-Operation complete. Now all entries may be deselected via Deselect-All==
 +
:[[File:ms025.png|800px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
==[Step 14] Final "Documents" View==
 +
:[[File:ms026.png|800px]]

Latest revision as of 15:34, 5 November 2013



Summary

Implements the ability to select multiple journal entries in the journal entry view and perform group operations (like copy, delete) on them.



Owner



Credits



Current status

  • Targeted release: 0.99
  • Development status: The feature has been gtk3-ported; the ready-to-be-applied patch will be generated, once the go-ahead is received.

Benefit to Sugar

A recurrent request from teachers and kids is to be able to operate on a group of entries.

This feature allows the users to perform operations on multiple journal entries at once, making it very efficient if the user has to perform repetitive tasks like copying/deleting journal entries for many entries. The users can also filter journal entries by using the already existing search facilities and perform operations on those.

Two ways of selecting multiple journal entries have been provided. The user can either click the checkbox next to individual journal entries or use the select/deselect all buttons provided on the toolbar (which only shows up if the feature is being used). This UI takes some ideas from the standard gmail interface in how it allows users to select multiple entries and perform operations on them.

Another interesting and useful side-effect of this feature is that a user can insert a pen-drive with many activity bundles, select 'all' and copy them to journal. The resulting operation will install all bundles on the XO laptop!



History / Initial-Implementation

Martin Abente created a initial implementation [1]

Patches: http://dev.laptop.org/~gonzalo/martin_abente_prop.tgz

We need to review it and check if it is up to date.

References:

1. Dextrose/3/Todo

2. EduJAM/2011/Brainstorm

3. http://www.sugarlabs.org/~tch/journal2.mpeg

4. Design Team/Designs/Journal#06

5. Journal NewUI




Implementation

The implementation is almost identical to the one done by Martin; details available at : http://www.sugarlabs.org/~tch/journal2.mpeg

The only differences are ::

  • More copy-to options :: Clipboard, Documents (in addition to mounted drives).
  • There has been a progress bar added for batch-operations.



Basic utility of this feature

  • This feature, merely does a loop-over for multiple entries. That is, the workflow and the end-result in the following two scenarios should be exactly the same ::
    • Entries, E1, E2, E3 .... En, are operated upon one after the another, individually.
    • Entries, E1, E2, E3 .... En, are selected together, and operated upon one after the another, as a single macro batch-operaton.
  • Some particular use-cases ::
    • Batch-operations speeds up makes XO-bundle installations more convenient, when multiple bundles are copied together from a USB drive to the journal. Thanks a ton to Sridhar Dhanapalan for the attention generated towards this (otherwise obscure) use-case.




UI Design

Typical copy-to workflow

[Step 01] Initial "Journal" view

Ms001.png





[Step 02] Initial "Documents" view

Ms099.png





[Step 03] Select an entry by clicking on the Checkbox. The view changes to Multi-Select mode.

Ms002.png





[Step 04] More entries can be selected/deselected one by one, or Select-All/Deselect-All may be used

Ms003.png





[Step 05] Select Copy-to-Documents Option

Ms005.png





[Step 06] An alert pops up, asking for confirmation (Continue/Stop)

Ms006.png





[Step 07] If Stop is chosen, nothing happens, and the entries remain selected.

Ms007.png





[Step 08] Again choose Copy-to-Documents Option

Ms008.png





[Step 09] An alert pops up, asking for confirmation (Continue/Stop). This time choose Continue.

Ms009.png





[Step 10] Running progress of first entry

Ms021.png





[Step 11] Running progress of second entry. The message pops up, same as expected as in single mode

Ms023.png





[Step 12] Running progress of third entry.

Ms024.png





[Step 13] Batch-Operation complete. Now all entries may be deselected via Deselect-All

Ms025.png





[Step 14] Final "Documents" View

Ms026.png