Title Hierarchical Page (list) Management using jQuery
Student Bernardo de Pádua dos Santos
Mentor Michael D Adams
Abstract
Wordpress has a feature that allows users to write individual pages, in addition to the traditional blog entries. This feature brings Wordpress closer to the domain of CMS applications. In the latest version of Wordpress, 2.1, users have to go through an extenuating process to change the order that the pages are displayed. They have to open the edit form for each page to change its order number. This approach works for blogs with a small amount of pages, but becomes too frustrating for the ones with a larger amount, where the user would need to change a large number of page order numbers just to change the order of one page. A better way to order pages is an essential feature to make Wordpress a better CMS system and would have a direct impact in the productivity of content publishers.

Using AJAX is probably the best approach to solve this problem. Users could be able to “drag and drop” pages in the page list in control panel, in order to change the order of a page. This would make changing the order of a page very intuitive and quick. There are, however, a large number of obstacles that need to be handled in order to implement such feature. For instance, as the number of pages in the list grows, pagination should occur, and it would make it harder for the user to change the order of a page, should he desire to place a page to appear before or after a page that is not being show in the current screen. Also, pages can be hierarchical in Wordpress, what makes it more difficult to handle both pagination and the drag and drop feature.

The proposed project would be to implement such a “drag and drop” functionality for pages in Wordpress, using the jQuery javascript framework. This implementation would probably mean redesigning a great deal of the page list in the Wordpress control panel and implementing callback functions via AJAX (using jQuery).We would also investigate the need to implement a pagination mechanism to go along with it, and do it in the case the benefits would improve usability for users with a large number of pages, since it would also have its drawbacks. We could, for instance, implement a more “flexible” pagination, which would require list of page hierarchies to appear complete in its screen, what would reduce such problems.