Difference between revisions of "Features/Multi selection"

From Sugar Labs
Jump to navigation Jump to search
Line 1: Line 1:
<noinclude>
+
<noinclude>[[Category:Feature|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 ==
Line 25: Line 16:
 
* [[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)
 
 
 
 
 
  
 
== Current status ==
 
== Current status ==
Line 35: Line 21:
 
* Targeted release: 0.98
 
* 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  
 
* 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:
** Sugar ::
 
 
***http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-0.96.3-1.fc17.noarch.rpm
 
***http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-0.96.3-1.fc17.noarch.rpm
 
***http://patchwork.sugarlabs.org/patch/1662/
 
***http://patchwork.sugarlabs.org/patch/1662/
 
+
** Sugar-Toolkit:
 
 
 
 
** Sugar-Toolkit ::
 
 
***http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-toolkit-0.96.3-2.fc17.i386.rpm
 
***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/
 
***http://patchwork.sugarlabs.org/patch/1663/
 
+
** Sugar-Artwork:
 
 
 
 
** Sugar-Artwork ::
 
 
***http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-artwork-0.96.5-1.fc17.i386.rpm
 
***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/
 
***http://patchwork.sugarlabs.org/patch/1664/
 
 
 
 
  
 
== Benefit to Sugar ==
 
== Benefit to Sugar ==
Line 126: 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]]
  
  
Line 136: Line 111:
  
  
=[Step 02] Initial "Documents" view=
+
==[Step 02] Initial "Documents" view==
**[[File:ms099.png]]
+
:[[File:ms099.png|800px]]
  
  
Line 146: Line 121:
  
  
=[Step 03] Select an entry by clicking on the Checkbox. The view changes to Multi-Select mode.=
+
==[Step 03] Select an entry by clicking on the Checkbox. The view changes to Multi-Select mode.==
**[[File:ms002.png]]
+
:[[File:ms002.png|800px]]
  
  
Line 156: Line 131:
  
  
=[Step 04] More entries can be selected/deselected one by one, or Select-All/Deselect-All may be used=
+
==[Step 04] More entries can be selected/deselected one by one, or Select-All/Deselect-All may be used==
**[[File:ms003.png]]
+
:[[File:ms003.png|800px]]
  
  
Line 166: Line 141:
  
  
=[Step 05] Select Copy-to-Documents Option=
+
==[Step 05] Select Copy-to-Documents Option==
**[[File:ms005.png]]
+
:[[File:ms005.png|800px]]
  
  
Line 176: Line 151:
  
  
=[Step 06] An alert pops up, asking for confirmation (Continue/Stop)=
+
==[Step 06] An alert pops up, asking for confirmation (Continue/Stop)==
**[[File:ms006.png]]
+
:[[File:ms006.png|800px]]
  
  
Line 186: Line 161:
  
  
=[Step 07] If Stop is chosen, nothing happens, and the entries remain selected.=
+
==[Step 07] If Stop is chosen, nothing happens, and the entries remain selected.==
**[[File:ms007.png]]
+
:[[File:ms007.png|800px]]
  
  
Line 196: Line 171:
  
  
=[Step 08] Again choose Copy-to-Documents Option=
+
==[Step 08] Again choose Copy-to-Documents Option==
**[[File:ms008.png]]
+
:[[File:ms008.png|800px]]
  
  
Line 206: Line 181:
  
  
=[Step 09] An alert pops up, asking for confirmation (Continue/Stop). This time choose Continue.=
+
==[Step 09] An alert pops up, asking for confirmation (Continue/Stop). This time choose Continue.==
**[[File:ms009.png]]
+
:[[File:ms009.png|800px]]
  
  
Line 216: Line 191:
  
  
=[Step 10] Running progress of first entry =
+
==[Step 10] Running progress of first entry ==
**[[File:ms021.png]]
+
:[[File:ms021.png|800px]]
  
  
Line 226: Line 201:
  
  
=[Step 11] Running progress of second entry. The message pops up, same as expected as in single mode=
+
==[Step 11] Running progress of second entry. The message pops up, same as expected as in single mode==
**[[File:ms023.png]]
+
:[[File:ms023.png|800px]]
  
  
Line 236: Line 211:
  
  
=[Step 12] Running progress of third entry.=
+
==[Step 12] Running progress of third entry.==
**[[File:ms024.png]]
+
:[[File:ms024.png|800px]]
  
  
Line 246: Line 221:
  
  
=[Step 13] Batch-Operation complete. Now all entries may be deselected via Deselect-All=
+
==[Step 13] Batch-Operation complete. Now all entries may be deselected via Deselect-All==
**[[File:ms025.png]]
+
:[[File:ms025.png|800px]]
  
  
Line 256: Line 231:
  
  
=[Step 14] Final "Documents" View=
+
==[Step 14] Final "Documents" View==
**[[File:ms026.png]]
+
:[[File:ms026.png|800px]]

Revision as of 12:40, 24 August 2012



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

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