Understanding the Drupal Way - Extensibility
When creating a module for Drupal it is important to write the module so that it is extensible by other modules. I will talk about ways that it is possible to do this in other posts.
I mentioned a couple of examples of extensibility in the Modularity post. In my example of adding a slideshow to a Drupal site I said that you would likely use Views, Views Slideshow, custom content types and custom fields.
The Views module is written in a way that allows other modules to add new display formats. The Views Slideshow module defines the slideshow format.
The ability to add custom fields to a content type is another example of extensibility. Drupal provides the core functionality to create content types and then allows other modules to define new field types that can be added to content types.
The power behind modularity and extensibility is that it allows for the possibility to mix and match things in different ways. Once you learn how to use various modules you can combine them in different ways to add different functionality on your site.
So, for example, once you've figured out how to use Views to add a slideshow to your site, you have gained a good understanding of how you can use Views to do other things on your site. You have also learned about how to use custom content types and custom fields as a method to architect things on your site.
Another Drupal principle that works along with modularity and extensibility is collaboration.
I will cover that in another post.
If you want to learn more about Drupal you can take my "Drupal for Beginners" class for just $5.