Join Jon Peck for an in-depth discussion in this video Using the exercise files, part of Drupal 7: Custom Module Development.
In this course, I'll be developing a module that will extend the functionality of an existing Drupal 7 site installation. The recommended configuration is PHP 5.3 or above, Apache 2 or above, MySQL 5 or above, and Drupal 7.15. Other web servers such as Nginx or IIS should function, but will not be supported. Future versions of Drupal 7 should be compatible with the code written in this course, but we'll not be explicitly supported.
Setting up an AMPP stack is beyond the scope of this course. If you do not already have a development server I recommend using a local development server running on your workstation. The Up and Running with Linux for PHP Developers course here in the lynda.com online training library will allow you to have an optimized virtual server running like any other program in your existing operating system. I will be demonstrated using a server created using this technique. Alternatively, you can use a web server solution stack packaged in your native operating system.
XAMPP from apachefriends.org has distributions for Linux, Windows, Mac OS X, and Solaris. WampServer from wampserver.com is explicitly for Windows and MAMP from mamp.info is for Mac OS X only. Each of these packages will allow you to execute the exercises found in this course. Installing additional software within your native operating system is covered in the course installing Apache, MySQL, and PHP with David Gassner here in the lynda.com online training library.
If local development is not an option, third-party hosted servers that have the appropriate versions of PHP, MySQL, and Apache also support Drupal 7. The exercise files for this course are contained in folders by chapter and movie. On my workstation, I have them in a folder named sandbox that my virtualized Linux server can access. Depending on your web server configuration you may need to store these files in a different place such as on a remote web server or in a folder accessible by local Apache, MySQL, and PHP stack.
All custom development will take place in one folder; sites/all/modules/custom/windfarm. The first folder contains the entire web root. And each following exercise folder will contain the start state of the windfarm directory for each movie. Premium subscribers have access to a customized Drupal installation profile which was used for the site install in the recording of this course. There is no functional difference between this installation profile and the standard installation profile.
The only changes relate to the design and the inclusion of the exact versions of the contributed modules used in this course. A Drush Make file used to download the contributed modules into the installation profile is freely available to all subscribers. But no support will be provided for its use. Finally, you will need some sort of editor or integrated design environment to edit your PHP scripts. I will be demonstrating with a free PHP editor NetBeans 7.2 for netbeans.org. I strongly recommend setting up NetBeans using the community maintained guide at drupal.org.
This will configure support for Drupal's naming conventions and standards. A final note. As different web hosting configurations serve content from different URLs, the address you see in my browser may not exactly match what you see on your workstation.
- Creating your first module
- Interacting with hooks
- Working with permissions and roles
- Controlling access
- Adding a menu item to an admin interface
- Using the Form API (FAPI) to quickly create a form
- Creating custom form validation
- Manually creating a custom content type
- Validating user input
- Importing content using feeds
- Creating a block
- Understanding best practices and coding standards
Skill Level Advanced
Q: gmap3_tools is not working the way I expected it to. What version of gmap3_tools should I be using?
A: Use the free exercise file containing the version of gmap3_tools used for recording; the published version of the module on drupal.org has changed since recording and is not backwards compatible.
Q: I attempted to run the Drupal site root from the project files, but the site isn't loading. Why not?
A: The Drupal configuration file in sites/default/settings.php contains database configuration specific to the environment used to record the movie. This may be different than your environment. Edit the file and search for "windfarms" - you may need to change the database host, username, password, db name and port to match your specific environment.