Review of "Drupal Essential Training" video course » 1. What is Drupal
Choosing Drupal
The advice on When NOT to use Drupal is sound for the most part, however I want to note that Drupal “can” be used on a very high-traffic or mission critical site, and is used as such by many companies and organizations (a few examples, some of which were mentioned in the video, include Sony MyPlay, The New York Observer, and Popular Science magazine). The key is that Drupal core on its own cannot necessarily handle such a high amount of traffic “out of the box”. If there will be a large number of logged-in users at all times on a Drupal site, a number of performance-enhancing modules such as Memcache, APC, and Advanced Cache are usually put into use.
On the other hand, if the site will mostly be used by “anonymous” visitors who don’t log into and interact with the site, Drupal’s “Performance caching” features (which are built in) can be enabled through Administer > Site configuration > Performance (admin/settings/performance), resulting in Drupal using only slightly more server resources to display the site to those visitors than a static HTML site would. Also, it should be noted that even with caching and performance enhancements, a site of the size/popularity mentioned would require at least one, if not several, or even a whole group of dedicated servers to operate (on any CMS, not just Drupal). Drupal is certainly “less” performance efficient due to its modular design than a custom-coded CMS tailored carefully for the exact needs of a specific site and nothing more, however it is still a viable option for large/popular websites, and its flexibility opens up substantial features and possibilities even for non-professional developers.
Though Drupal, with proper preparation, can run quite huge websites, Drupal would not be the ideal choice for a site on the massive scale of Yahoo, MySpace, Facebook, YouTube, etc (which in fact “no” PHP-based system would be ideal for, as according to PHP’s original creator Rasmus Lerdorf, PHP is not the best language from a performance perspective at levels that high).
Checking Drupal’s requirements
In Programs Needed on the Server it isn’t quite clarified that Apache and MySQL are programs on a server, not separate “servers”. In the case of Shared or “virtual” web hosting (which most people have), your web hosting company provides these for you; most often the only time you will need to install or configure these yourself is if you have a VPS or Dedicated server. One thing that was not mentioned though, is that you should choose a web hosting company that supports up-to-date versions of Apache, MySQL, and PHP (as many do not). As of version 7 and beyond, Drupal will no longer support any version of PHP below 5.2. See the GoPHP5.org site for further information.
Also in Programs Needed on the Server, Cron is mentioned as a requirement. Later in the video series alternatives are discussed if your host doesn’t offer Cron. Although having Cron available is definitely ideal, the recommended alternative for those on a shared hosting plan that might not have the Cron feature, is called Poor Man’s Cron.
Lastly in Programs Needed on the Server, it’s important to clarify that neither MAMP or WAMP are meant for hosting a “live” website out on the internet. These all-in-one packages are terrific tools for quickly setting up a Drupal-compatible environment on your home computer, so that you can develop and test your Drupal site much more rapidly. However they should not be used to host a website “live” on the internet. Once “local development” is complete, you should migrate the files and database of the site to your hosting service.
Understanding the inner workings of Drupal
This video gives a good “bird’s eye view” of how Drupal works with its files and data, as compared to a static HTML site. One thing worth mentioning is that you should never use the default themes folder to store “your own” custom theme(s). As was alluded to but not yet thoroughly explained in this video, themes (and modules) that are specific to your site, should be installed into the sites folder. Storing your own themes, modules, and files all within the confines of the sites folder will make it much simpler to upgrade your Drupal site in the future. You can learn more about Drupal’s sites folder.
Meeting the Drupal community
One part of this video mentions that the currently supported versions of Drupal include 4.7 through the current major release, 6.x. However in Drupal only the current and preceding major releases are actively supported. This means that the currently supported versions of Drupal are 5 and 6. It’s true that some websites still are running Drupal 4.x, however this is not advisable for the average user: no further security patches are released for version 4.7 and below, and if a person/company is still using this version or lower, it is their own responsibility to patch their version of Drupal manually by hand (if possible). This also applies to support/help from the community; although there are some community members who will be able to help with questions and problems with older versions, the majority will not.
The video covers a number of great ways you can jump in and contribute back to the community. One additional area where you can help where there is a significant degree of need in the Drupal community is “theming”. If you are a graphic/web designer, and have learned to turn your designs into Drupal themes, your contribution of high-quality themes to the community will be appreciated beyond measure.
One additional important tip for using the Drupal.org website is to pay attention to the “version compatibility” tags at the top right corner of the majority of pages on Drupal.org. These tags inform you about which version(s) of Drupal are being referred to on the page you are reading. This is important to know, since often tips, code snippets, and definitely modules and themes are not compatible across different versions of Drupal.