#9134 NORM Not Tri: Refine Activity Update and Installation Mechanism

Zarro Boogs per Child bugtracker at laptop.org
Fri Dec 19 02:37:26 EST 2008


#9134: Refine Activity Update and Installation Mechanism
-----------------------------+----------------------------------------------
 Reporter:  mamoul           |                 Owner:  cscott       
     Type:  defect           |                Status:  new          
 Priority:  normal           |             Milestone:  Not Triaged  
Component:  upgrade utility  |               Version:  not specified
 Keywords:                   |           Next_action:  design       
 Verified:  0                |   Deployment_affected:  Build 767    
Blockedby:                   |              Blocking:               
-----------------------------+----------------------------------------------
 In the current stable build 767, Sugar 8.2.0, Activities are updated by
 checking out an online repository of sorts.  This is fundamentally a good
 idea, but the mechanism should be overhauled and refined as follows:

 The current behavior offers to update/install all available Actvities
 regardless of whether they are present on the system or not.  It presents
 a list of Activities to "update" with all the items checked.  There is no
 function to uncheck all or check all.

 In the case that I want to install just one or two Activities and leave
 the rest, I'm forced to uncheck each one every time I do an "update",
 which is unacceptable.  Some of the Activities in the bundle use an
 enormous amount of disk space, which makes being selective a good idea.

 In a redesigned interface, I propose two separate mechanisms: one for
 installing new Activities and one for updating installed Activities.

 1. In the installation mechanism, the user can be presented with a list of
 possible Activities to download and install either by search query or by
 list browsing.

 2. In the update mechanism, the system will only check for newer versions
 of Activities presently installed and offer to the user a list of
 checked/suggested updated.  Importantly, if the user unchecks (denies) an
 update, this decision should be remembered so that the next update process
 will leave the same Activity unchecked until the user approves it later.

 It would be possible to combine the two separate mechanisms into a simpler
 one by using the current system but having all Activities be unchecked by
 default and automatically selecting only the updates that were previously
 checked/approved.  This is feasible for small bundle repositories but not
 for large ones, at which point a refining search would need to be bolted
 on top or updates/installs would have to be separated finally.

 To make the example more clear, imagine I'm running a new Sugar install
 with no Activites:

 Simple way:
 1. Open the updater
 2. Updater downloads the list of all "updates" and shows them unchecked in
 the form of a list (this includes Activities not presently installed)
 3. I select two packages I want and update/install them
 4. Next time I run the updater, the same two packages stay checked if they
 need updates and the rest of the "updates" stay unchecked until I toggle
 them.  If I uncheck an update, it becomes disabled along with the rest.

 Complicated (like PackageKit) way:
 a1. Open the installer
 a2. Query the repository for specific Activities or just browse the full
 list of Activities.  Installed Activities are checked and uninstalled
 activities are unchecked.  Unchecking an installed Activity will erase it
 and checking an uninstalled Activity will install it.

 b1. Open the updater
 b2. Be presented with a list of updates available for currently installed
 packages only with all the new updates checked by default.  Unchecking any
 of them will cause the update to be put on hold and stay unchecked in
 subsequent update suggestions.

-- 
Ticket URL: <http://dev.laptop.org/ticket/9134>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list