[wp-hackers] GSoC 2008 Proposals

Dan Larkin nitephire at gmail.com
Mon Mar 31 21:04:03 GMT 2008


Hey, guys, I have what are currently two separate proposals that I would
like some individual feedback on.  Additionally, the two proposals seem like
they would go very well together, at least the way I envision them, and I am
wondering what you guys think about combining them (with consideration to
desired functionality as well as the amount of time required to implement)
into one project.  Anyway, here they are in rough form, and thanks in
advance for the feedback.

== Mass Editing of Attributes ==

Abstract:

I propose adding functionality to edit the attributes of posts, pages, and
links in batches. These attributes will include categories, tags, and author
for posts, author and parent for pages, and categories for links. If deemed
practical, functionality will be added to edit other attributes as well. The
system should be intuitive and tightly integrated into the existing user
interface.

Problem Statement:

The current WordPress system for editing attributes of various items
requires one to edit each item individually. For small numbers of items,
this is quite alright; however, the system does not scale well. It would be
very useful to have a system for batch editing.

Solution:

The system should be tightly integrated into the existing UI, meaning that
the current pages to manage posts, pages, and links will be augmented,
rather than creating a separate location for editing. Much in the way the
mass deletion feature is implemented, the system of check-boxes would be
used to select which items to edit. Additional boxes would be placed at the
bottom of the screen, similar to the way they are placed in the singular
editing page, to control the attributes such as tags and categories. By
default, of course, these boxes would be set to have no effect, but changes
could be selectively activated and effected. This would allow users to edit
different attributes, such as tags and categories, at the same time, or
simply select one type of attribute to edit, or leave the attributes
unchanged altogether.

== In-Line Reordering of Pages ==

Abstract:

I propose a means to reorder pages within the native page management system.
It will use a simple arrow-based movement system, rather than drag-and-drop.
It will support AJAX as the primary means for updating the database, and
degrade to link calls if AJAX is unavailable.

Problem Statement:

Currently there is no easy means to reorder pages in the core WordPress
system. There are various plug-ins that make an attempt at implementing this
functionality, as well as the core patch that was generated during last
year's GSoC. Each of these solutions uses a separate page to do the
reordering. This involves more clutter in the UI. Additionally, the patch
from last year never made it into core.

Solution:

I believe that augmenting the existing page management screen with
reordering functionality is preferable to adding an extra page. It will
allow for a less cluttered UI (two small buttons per row vs. an entirely new
page). Using a simple button-based system, rather than drag-and-drop, will
allow the functionality to be integrated into the existing page. It will
also allow for more graceful degradation and most likely considerably less
Javascript overhead. If the client's system does not support AJAX, the
buttons will simply be links that send the same data to the server as the
AJAX call and the same action will occur. AJAX will simply be used to
prevent re-loading extraneous data, as is its main purpose. The button-based
system does have one limitation that could be viewed as a short-coming. This
is that pages can only be reordered relative to other pages with the same
parent, rather than being moved to a different parent group as with
drag-and-drop solutions. I feel that this is not a short-coming so much as
it is desired functionality. This would be especially desired if a batch
attribute-editing feature were implemented so that page parents could be
changed easily as well. The two systems would work hand-in-hand, really.


More information about the wp-hackers mailing list