O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Drupal 7 Development Core Concepts

Video Description

This series contains over 120 videos and 12 hours of content, covering the most essential aspects of Drupal development, from setting up module scaffolding to working with forms and the database to working with jQuery and JavaScript. This library is a must-have for all developers.

Table of Contents

  1. Welcome to Module Building
    1. Why to build a module instead of modifying source code, and how this video series works 00:06:25
    2. Setting up the module folder 00:02:59
    3. About the .info file 00:03:36
    4. Coding the .module file 00:06:35
    5. Our module recreated in 2 minutes and next steps 00:02:53
  2. How to Build Module Scaffolding
    1. Setting up the .module file structure 00:03:35
    2. The .info file in detail 00:04:06
    3. The .module file in detail 00:11:52
    4. Adding a module settings page in an include file 00:07:47
    5. Adding documentation with the README file 00:05:53
    6. Review and next steps for the How to Build Module Scaffolding chapter 00:02:30
  3. How Hooks Work and How to Use Them
    1. What hooks are and a demo of our final module 00:05:58
    2. How hooks are invoked with module_invoke_all() 00:09:58
    3. How hooks are invoked with module_invoke() 00:03:32
    4. How hooks are invoked through custom functions 00:05:22
    5. Summary of hook implementations 00:00:42
    6. Using hook_init() to execute code on every page 00:04:57
    7. How to watch data change in the database 00:02:05
    8. How to implement hook_permission() 00:02:37
    9. Adding a settings page with hook_menu() 00:07:44
    10. Implementing scheduled events with hook_cron() 00:04:25
    11. Adding a block starting with hook_block_info() 00:03:31
    12. Adding block configuration with hook_block_configure() 00:05:19
    13. Displaying a block with hook_block_view() and checking permissions with user_access() 00:10:40
    14. Seeing our final module in action and next steps 00:03:19
  4. Overview of Coding Standards
    1. Why coding standards are useful and important 00:06:26
    2. Using the Coder module to find problems 00:02:50
    3. Working with white space 00:02:48
    4. Using operators 00:02:16
    5. Defining functions and class constructors 00:01:25
    6. Working with arrays 00:01:30
    7. Quotes and string concatenation 00:02:09
    8. Writing good comments 00:02:26
    9. Including code files, php tags and semi-colons 00:02:29
    10. A few miscellaneous items 00:02:14
  5. Development Tips and Tricks
    1. About the Tips module 00:03:04
    2. Using url() and l() to generate URLs and links 00:11:19
    3. Using the t() function to make text translatable 00:05:52
    4. Using variable_set(), variable_get() and variable_del() 00:08:42
    5. IDE features and comparison 00:13:06
    6. How to find out if your module exists already 00:06:29
    7. Review and next steps for the Development Tips and Tricks chapter 00:02:45
  6. How to Build and Manipulate Forms with the Form API
    1. The benefits of using the Form API 00:06:16
    2. Creating a simple form 00:07:25
    3. Creating an embedded form 00:03:33
    4. Using validation functions 00:05:31
    5. Creating submission functions 00:02:33
    6. Exploring more form elements and attributes 00:06:38
    7. Adding usability with the #states attribute 00:05:09
    8. Modifying forms with hook_form_alter() 00:07:54
    9. Adding autocomplete to a text input 00:07:33
    10. Using the #ajax attribute for dynamic form building 00:12:43
    11. Creating confirmation forms 00:08:52
    12. Creating a module settings form 00:07:15
  7. How to Add and Manipulate Pages With the Menu System
    1. How the menu system works 00:04:42
    2. A simple menu callback 00:05:47
    3. How to use render arrays and tabs 00:09:41
    4. How to use sub-tabs 00:02:09
    5. How to add a page without adding a menu item 00:02:01
    6. How to pass arguments through the path 00:05:29
    7. How to use placehoders to pass arguments in the middle of a path 00:05:03
    8. How to load objects through placeholders 00:08:13
    9. How to create dynamic titles with a title callback 00:04:09
    10. How to modify page output with hook_page_alter() 00:07:54
    11. How to modify menu items with hook_menu_alter() 00:04:03
    12. How to use include files to improve performance and next steps 00:05:22
  8. How to Add to and Manipulate the Theme Layer
    1. How the theme layer helps designers and coders work together 00:04:13
    2. How to invoke a theme function 00:04:40
    3. A more complex example of theme_item_list() 00:01:36
    4. How to theme tables and the essence of theming 00:05:14
    5. How to implement a theme function and how the theme registry works 00:06:45
    6. How to create template files 00:06:47
    7. How to use preprocessing functions 00:07:41
    8. How to add CSS files in theme functions and template files 00:05:41
    9. How to override theme functions with hook_theme_alter() 00:05:50
    10. How to override template files and next steps 00:04:15
  9. How to Work with the Database
    1. What is the Database API 00:03:31
    2. Preview of the final module 00:02:30
    3. Review of existing module 00:06:39
    4. How to use table schemas and a description of the Schema module 00:03:19
    5. Building a database table in an external application 00:03:54
    6. Setting up the install file and generating a schema with the schema module 00:06:55
    7. The wrong way to write queries, and restructuring the module 00:06:48
    8. How to write an INSERT query with the Database API 00:05:36
    9. The 4 big benefits of using the Database API 00:03:17
    10. How to write a static SELECT query with the Database API 00:03:43
    11. How to write a DELETE query with the Database API 00:02:28
    12. How to write a dynamic SELECT query and easily paginate a result set 00:09:13
    13. A dynamic SQL query in action 00:03:20
    14. Using hook_update_N() to add a new table 00:05:48
    15. Adding utility queries and functions for INSERT, SELECT and DELETE 00:08:58
    16. Review and next steps for the How to Work With the Database chapter 00:01:49
  10. How to Work with Users
    1. What this video covers and a preview of the final module 00:02:45
    2. How to modify the user settings form 00:05:00
    3. How to save data to an authenticated user 00:11:18
    4. How to modify the user page 00:06:23
    5. How to work with user permissions (complete) 00:06:22
    6. How to respond to a user login or logout 00:03:33
    7. How to add user bulk operations 00:04:10
    8. How to store anonymous user data in a cookie 00:09:15
    9. How to store user data in a session variable 00:04:04
    10. Review and next steps of the How to Work With Users chapter 00:01:45
  11. How to Work With Nodes
    1. Introduction to the Node API 00:02:03
    2. How to load and view a single node and create fake content 00:10:09
    3. How to load and view multiple nodes at once 00:02:47
    4. How to manipulate node data with node_save() 00:03:13
    5. How to add custom data to a node with hook_node_insert() and hook_node_update() 00:13:02
    6. How to display custom node data in forms and in the node display 00:08:35
    7. How to add a custom view mode 00:05:00
    8. How to add bulk operations 00:04:20
    9. How to control node-based access using hook_node_access() 00:06:02
    10. How to control node-based access using grants 00:07:37
    11. How to add a new node type with a module 00:09:27
    12. How to remove custom content types when a module is uninstalled 00:03:44
    13. How to add a custom field formatter 00:05:58
    14. Review and next steps for the How to Work With Nodes chapter 00:01:31
  12. How to Work With JavaScript and jQuery
    1. Two major use cases for jQuery and JavaScript and what this video covers 00:06:00
    2. How to include a JavaScript file on every page and intro to the jQuery object 00:06:52
    3. How to load JavaScript after a page is done loading 00:07:08
    4. How to use the dollar sign as an alias for the jQuery object 00:03:22
    5. How to use jQuery selectors 00:09:19
    6. How to manipulate content in the DOM (Document Object Model) with jQuery 00:09:03
    7. How to use jQuery events to add interactivity 00:06:10
    8. How to use effects and work with CSS in jQuery 00:06:14
    9. How to use Drupal behaviors to add JavaScript functionality to new content 00:11:22
    10. How to use drupal_add_js() to include and set the weight of JavaScript files 00:10:58
    11. How to use drupal_add_js() to add inline JavaScript, use the footer, and store settings 00:06:15
    12. How to include and define a Drupal JavaScript library 00:05:10
    13. How to use hook_library_alter() to see what JavaScript libraries are available 00:03:26
    14. How to use the Drupal Ajax library to load dynamic HTML 00:14:56
    15. How to dynamically load JavaScript and CSS with Ajax 00:02:38
    16. How to display status messages when using Ajax 00:02:26
    17. How to add CSS styles, classes, and JavaScript alerts through Ajax commands 00:03:07
    18. An overview of JavaScript utilities included in core Drupal 00:07:15
    19. Review and next steps of the How to Work With JavaScript and jQuery chapter 00:02:13