Start learning with our library of video tutorials taught by experts. Get started
Viewers: in countries Watching now:
Extend your Drupal 7 sites with custom modules, which allow you to create everything from admin interfaces to forms. Author Jon Peck describes how modules extend your base Drupal installation, then walks through how to write your own module with a practical example featuring geo-positioned alternative energy centers. The course also describes how to control access to site features, create new content types, build forms, understand data persistence, embrace coding standards, and much more.
When developing modules, regardless of the audience, there are number of standard best practices that one should be aware of. First, I recommend using some sort of source revision control software. That way, code changes can be tracked over time, improving collaboration and accountability, providing a mechanism for versioning and facilitating backups. No matter how large or small the project is or how many people are participating, source control is a valuable tool. I personally use git which is a distributed revision control and source code management system used by Drupal, Linux core and many other projects. Drupal.org offers free sandbox git repositories for open source projects for developers looking to experiment.
For more information on git I recommend Git Essential Training with Kevin Skoglund here in the lynda.com online training library. Another extremely popular system is Apache Subversion. There are many other open source and commercial options available beyond git in subversion if you're seeking a particular feature set. Throughout this course, I've made reference to the Drupal Coding Standards several times. Coding Standards which are a series of rules and guidelines used to style the source code exist to enforce a unified structure to the code base.
The Drupal Coding Standards have evolved over years of community discussion and consensus in addition to practical real-world application. The standards applied to indentation, naming conventions, comments, control structures and much more. By writing standardized code, the overhead from interpreting different developer's styles is reduced. Even if the audience is limited to one or two people, using these coding standards makes code easier to maintain and understand. I highly recommend learning and reading the Drupal Coding Standards.
There's a lot of coding standards and especially in large projects it's easy to make mistakes or forget a rule or two. Fortunately there are automating testing suites available that facilitate an algorithmic approach to coding standard enforcement. The Coder project includes a module for assisting with code review using regular expressions to scan source code for things that don't adhere to the Drupal Coding Standards or deprecated functionality that should be updated. The Code Review Module has a user interface that can be used to scan a module or all modules for problems and provides a selectively robust report about what is wrong and what to do to fix it.
Once the Coder project is installed, the Code Review Module can be enabled by going to modules then checking Enabled next to Coder Review. Continue with enabling the dependency. Now the module list has a new option after each description. A link to Code Review which would display a default report. Additionally, I can go to configuration and there will be a new element under DEVELOPMENT named Coder.
This brings me to a Selection Form where I can select specific modules or themes to be reviewed. If you get stuck with an implementation, visit drupal.org/support for a number of options including community documentation, Internet relay chat, forms for discussion and many other resources. I personally make have a use of the Drupal API documentation at api.drupal.org. Often solutions can be found either in the official documentation or in a comment discussion beneath a particular function, class or a method.
If searching the documentation and the Internet doesn't turn up a solution, then I start asking questions. It's always good to research before asking instead of the other way around. An additional form of documentation can be found in the examples project which includes dozens of tiny modules. Each of the example modules implements a particular Drupal functionality with comprehensive in-line documentation and explanation and can be enabled to demonstrate how it works. Finally, to reiterate NEVER HACK CORE. 99% of the time whatever needs to be accomplished can be done so in a cleaner way with hooks or other APIs.
Find answers to the most frequently asked questions about Drupal 7 Custom Module Development.
Here are the FAQs that matched your search "":
Sorry, there are no matches for your search ""—to search again, type in another word or phrase and click search.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.