Port Views to Drupal 7

You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

To keep an overview of the patch at http://drupal.org/node/363410 ("Port Views to 7.x" issue), I've copied the module update instructions over here.

Please jump in, if you find something of the module update instructions you can help with. Only tick off items here, though, if a corresponding patch has been posted at http://drupal.org/node/363410. All ticked-off items should be accompanied by the patch number they were first fixed in, to make them easier to find.
где купить курительные смеси в Омске
As of 2009-06-18 and #67:

General action items

  1. Remove the forked Form API in Views and replace it with the new Form API functions in Drupal Core - Done as of #56 (?)
  2. Let Views query Field API data


Identify PHP4-compatibility workarounds (like views_microtime) and remove.

  1. views_microtime() is redundant as microtime() supports a return_as_float argument. - Done as of #26!


  1. Permissions are required to have descriptions - Done as of #11!
  2. Permissions are no longer sorted alphabetically - Done as of #11!
  3. _comment_load() is now comment_load() - Nothing to do!
  4. Module .info files must now specify all loadable code files explicitly. - Done, but "In the case of hooks or any code called via module_invoke*(), node_invoke(), etc. that will be done automatically." has only been started! (Isn't this done by now?)
  5. The hook_menu() and hook_theme() "file" and "file path" keys have been removed. - Done as of #13!
  6. New permission tables. - Nothing to do (?)
  7. Use '#markup' not '#value' for markup. All instances replaced as of #18
  8. Comment status values in the database have flipped so they match node status - Done as of #27!
  9. Rebuild functions have changed names - Done as of #16!
  10. Use defined constant REQUEST_TIME instead of time() - Done as of #19!
  11. referer_uri() has been removed - Nothing to do!
  12. Some #process functions have been renamed - Done as of #16!
  13. A completely new database API has been added
  14. file_validate_extensions() enforces check for uid=1 - Nothing to do!
  15. file_scan_directory() and drupal_system_listing() use preg regular expressions - Nothing to do!
  16. Simpler checking for the node form during hook_form_alter() - Nothing to do!?
  17. Update functions in .install files must include a Doxygen style comment - No update functions yet!
  18. New #text_format property to assign text format selection to fields. Changes 'body' field location in node, comment, block, etc. - Caution: further change ahead in #414424.
  19. Replace drupal_clone() with clone - Done as of #20!


  1. Permissions are required to have titles additionally to descriptions - Done as of #11!
  2. Remove $op from hook_nodeapi and hook_user - Nothing to do !?
  3. In hook_node_info() change 'module' back to 'base' and change 'node' to 'node_content' Nothing to do!
  4. Use absolute path (constructed from DRUPAL_ROOT) when including a file - Done as of #43!
  5. File operations that don't affect the database have been renamed - Nothing to do!
  6. "administer nodes" permission split into "administer nodes" and "bypass node access" - Nothing to do!
  7. New hooks: hook_modules_installed, hook_modules_enabled, hook_modules_disabled, and hook_modules_uninstalled - Nothing to do!
  8. drupal_uninstall_module() is now drupal_uninstall_modules() - Nothing to do!


  1. drupal_set_title() uses check_plain() by default
  2. Changed parameters for drupal_add_js() and drupal_add_css() - Done as of #44!
  3. Changed Drupal.behaviors to objects having the methods 'attach' and 'detach'
  4. Standardized and renamed taxonomy term save/load/delete functions
  5. Added taxonomy term hooks
  6. Removed file_set_status()
  7. Replace 'core', 'module' and 'theme' with 'file' in drupal_add_js() - Nothing to do!
  8. Parameters to hook_filter() have changed - Nothing to do!
  9. Parameters to check_markup() have changed - Nothing to do!


  1. Schema descriptions are no longer translated - nothing to do; views never translated its schema descriptions in the first place.
  2. file_scan_directory() now uses a preg regular expression for the no match parameter
  3. use module_implements not module_list when calling hook implementations
  4. New hook_js_alter to alter JavaScript
  5. Changed log out path from 'logout' to 'user/logout' for consistency - Nothing to do!
  6. node_load() and node_load_multiple()
  7. taxonomy_term_load() and taxonomy_term_load_multiple()
  8. file_load_multiple()
  9. Taxonomy CRUD functions renamed and refactored
  10. New hooks: hook_taxonomy_term_load(), hook_taxonomy_term_insert(), hook_taxonomy_term_update(), hook_taxonomy_term_delete() and hook_taxonomy_vocabulary_load(), hook_taxonomy_vocabulary_insert(), hook_taxonomy_vocabulary_update(), hook_taxonomy_vocabulary_delete()
  11. Code documentation to module.api.php
  12. taxonomy_get_tree()
  13. Move node links into $node->content
  14. Remove $op from hook_block
  15. Parameters for actions_synchronize() have changed - Nothing to do!
  16. Parameters for drupal_http_request() have changed - Nothing to do!
  17. db_rewrite_sql() replaced with hook_query_alter()
  18. Removed FILE_STATUS_TEMPORARY - Done as of #66!
  19. Renamed user_delete() to user_cancel(), likewise renamed hook_user_delete() to hook_user_cancel() - Nothing to do!
  20. Taxonomy db table names have changed to begin with 'taxonomy_'


  1. User pictures are now managed files
  2. drupal_set_session() replaces $_SESSION
  3. Ability to reset JavaScript/CSS
  4. Moved statistics settings from admin/reports/settings to admin/settings/statistics and added a new 'administer statistics' permission - Nothing to do!
  5. Default parameter when getting variables - Nothing to do; Views declared its own defaults for all variables.
  6. Menu callbacks should return an array; hello hook_page_alter()
  7. Block module now optional
  8. Element theming properties used by drupal_render() have changed
  9. Element theme functions should call drupal_render_children()
  10. Replace node_view() with node_build()


  1. JavaScript should be compatible with other libraries than jQuery - Done as of #67!
  2. file_scan_directory()'s optional parameters are now an array - Nothing to do!
  3. External JavaScript can now be referenced through drupal_add_js() - Nothing to do!
  4. user_load_multiple() and hook_user_load()
  5. jQuery 1.3.x
  6. Settings passed locally to JavaScript Behaviors
  7. file_scan_directory() now uses same property names as file_load() - Nothing to do!


  1. Moved filter module administrative URLs from admin/settings/filters/* to admin/settings/filter/* - Nothing to do!
  2. Added taxonomy_vocabulary_load_multiple()
  3. Added a new top level admin item, 'international'. - Nothing to do!
  4. Changed hook_menu_link_alter() (removed the $menu parameter) - Nothing to do!
  5. Standardized API for static variables and resetting them
  6. The function drupal_set_html_head() has been renamed to drupal_add_html_head()
  7. Inline cascading style sheets from drupal_add_css()
  8. Attached JavaScript and CSS for forms
  9. Make sticky tableheaders optional
  10. Save new users and nodes with specified IDS
  11. Parameters swapped in book_toc()
  12. drupal_execute() renamed to drupal_form_submit()
  13. node_invoke_nodeapi() removed
  14. Removed $op "rss item" from hook_nodeapi() in favor of NODE_BUILD_RSS
  15. drupal_eval() renamed to php_eval
  16. "use PHP for settings" permission should be used for all PHP settings rights (replaces "use PHP for block visibility")
  17. Changes to HTTP header functions
  18. drupal_get_form() returns an array
  19. Add Doxygen @file tag to all install files
  20. Add node_delete_multiple().
  21. Renamed drupal_set_content() and drupal_get_content()
  22. Instead of theme('page', ...), think of drupal_set_page_content()


  1. Node access hooks now have drupal_alter() functions
  2. Hide empty menu categories with access callback
  3. Commenting style - use 'Implement hook_foo().' when documenting hooks.
  4. node_get_types($op) replaced by node_type_get_$op()
  5. Added hook_block_list_alter()
  6. Renamed module_rebuild_cache() and system_theme_data() to system_get_module_data() and system_get_theme_data()
  7. Added string context support to t() and format_plural(), changed parameters


Things to keep in mind related to the update functions from Drupal6 to Drupal7.

  • Update functions in .install files must include a Doxygen style comment
  • Comment status values in the database have flipped so they match node status