Features/Multi selection

< Features
Revision as of 05:33, 24 August 2012 by Ajay Garg (talk | contribs)


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.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 http://patchwork.sugarlabs.org/patch/1662/


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/


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.

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 [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


History

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).
  • 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.


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.