Paging Requirements/Design

Line 15: Line 15:
*Reports?
*Reports?
 +
=DAO Work=
 +
The use of the LIMIT <offset>,<limit> clause can be used to limit the results returned from a query and take a load off of the database.
 +
 +
Since many queries for volunteer lists do large joins that return multiple rows per volunteer, in order to ensure proper functionality of the LIMIT clause, these volunteer list functions can be rewritten to only select the p_uuid's of the volunteers, then return a list of Volunteer objects corresponding to those p_uuids.
==Links==
==Links==
* [http://www.sahana.lk/wiki/doku.php?id=swat:paging_library&s=paging Sahana New Paging Library]
* [http://www.sahana.lk/wiki/doku.php?id=swat:paging_library&s=paging Sahana New Paging Library]
* [http://www.php-mysql-tutorial.com/php-mysql-paging.php PHP Paging Tutorial]
* [http://www.php-mysql-tutorial.com/php-mysql-paging.php PHP Paging Tutorial]

Revision as of 21:57, 20 May 2008

Contents

Overview

This document aims to organize the effort to add paging to the vm module.

Locations

The following locations in the vm module need paging capabilities:

  • Volunteer List
    • DAO::getVolunteers()
    • VolunteerController::controlHandler() case 'display_list_all', 'display_list_assigned'
    • VolunteerView::listVolunteers()
    • templates/volunteers/list.tpl
  • Volunteer Search
  • Volunteer Assignment
  • Project List
  • Single Project Display Page
  • Reports?

DAO Work

The use of the LIMIT <offset>,<limit> clause can be used to limit the results returned from a query and take a load off of the database.

Since many queries for volunteer lists do large joins that return multiple rows per volunteer, in order to ensure proper functionality of the LIMIT clause, these volunteer list functions can be rewritten to only select the p_uuid's of the volunteers, then return a list of Volunteer objects corresponding to those p_uuids.

Links