1. eliminate use of db_num_rows() 2. move in-database code into module-provided blocks 3. rewrite modules/ccel_shared so that it is both forward and backward compatible * requires writing drupal6-compatible drupal_get_form() hook implementations. See ccelmod_admin_library_subscription_delete_d6() for an example. 4. port code to use new functions: * ccel_l() uses the drupal6/7 syntax for l() and is usable on drupal5, in ccel_shared * ccel_url() uses the drupal6/7 syntax for url() and is usable on drupal5, in ccel_shared 5. after main site is live with drupal6: * convert forms to drupal6, remove *_d6() functions (except in ccel_shared which is used by hymnary * convert forms away rom using ['values']['op]: http://drupal.org/node/144132#op 6. post-conversion cleanup * ccel_shared/user-search.inc: uses $_REQUEST variable; should be converted to use $form_state after server is running drupal6