Personal tools
You are here: Home Products AT Content Types Roadmap #3: auto ordering folder contents
Document Actions

#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 June 11, 2006 - 00:20
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


For any issues with the web site functionality, please file a ticket.

Please consult the policy on plone.org content if you want your content published on this site.

Servers and hosting by