Exploring best practices and coding standards
Video: Exploring best practices and coding standardsWhen 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.
- Creating a custom permission
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.
- 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
Exploring best practices and coding standards
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 "" :
- 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.
Sorry, there are no matches for your search "" —to search again, type in another word or phrase and click search.