#3: auto ordering folder contents

Contents
  1. Definitions
  2. Motivation
  3. Proposal
  4. Implementation
  5. Deliverables
  6. Risks
  7. Progress log
  8. Participants
by Christian 'Tiran' Heimes last modified Jan 22, 2010 06:26 AM

Adding an API and UI to auto order the contents of a folder

Proposed by
Christian Heimes
Seconded by
Alexander Limi
Proposal type
User interface, Architecture
Assigned to release
Repository branch
plip-003-auto-ordering
State
completed

Definitions

AutoSortSupport - helper methods for the catalog based sorting on the catalog based folder listing

AutoOrderSupport - subclass of AutoSortSupport which also orders the items using OrderedManager

Motivation

ATCT needs API methods to the new sorting in folder listing

Proposal

Add two new classes as mixin classes

Implementation

  • base classes

o AutoSortSupport to support sorting in the catalog based folder listing

o AutoOrderSupport to order the items inside the folder

  • new api methods
o autoOrderItems() to reorder the objects using the settings from the three fields.
  • used api method

    o OrderingSupport.setDefaultSorting() to set the default sort key and reverse option

    o OrderingSupport.orderObjects(key, reverse=None) to reorder objects

  • hooking into

o manage_afterAdd(item, container) to order objects when they are added

o OrderingSupport.moveObjectsByDelta(ids, delta, subset_ids=None) to disable auto ordering when ppl change the ordering manually. Add an optional arguemt: disable_autoordering = True

o OrderingSupport.manage_renameObject(key, reverse) to not disable auto ordering when renaming an object

Deliverables

  • unit tests
  • documentation
  • ui integration
  • new mixin class with ordering api

Risks

* Adding new items might be slow. Ordering on add is disabled right now

*

Progress log

ETA Plone 2.1 and ATCT 1.0.0-beta1

Participants

Christian Heimes - initial design and implementation

Comments (0)