July 2015

Productive couple of months

I have been a bit distracted the last couple of months.  As they say, "time flies when you're having fun," and that has been the case for me.  I have been to busy with things to remember to come back here and write about my experiences.  I have had the distiction of starting my first colaborative Drupal project during the last month and a half.  I have been teamed with another developer on a simple Drupal site, not very complicated, and not very lucrative financially, but it's value is more with training and learning to use some of the tools Drupalers use for projects, collaboration and site version control.  This is something that has not been covered in my limited Drupal experience.
These tools are such things as 

  • Drush, which I have had some exposure with once I began working with Aegir
  • Git, which is used to enable many individuals to work on a project without stepping on each other's toes.  It also helps with being able to resolve conflics that might come up in code developement as well as providing an easy means to revert changes that probe to be more detramental than intended.
  • Features, a Drupal module that turns database configuration into code for easier migration of functionality from one site to another and version control as that fuctionality evolves over time.
  • Strongarm, a Drupal module that is used with features for exporting settings from website to website.

I have also built a new webserver (I know, yes, again) this one is for developement of Drupal site (which should help keep me from breaking the Aegir Server).  This one is LINUX (I plan to stay away from Windows when it comes to Drupal just because of the lack of support and information, sorry Bill, but there is MORE support information for LINUX implimentation of Drupal than there is for Windows).  It is hosted on Debian 7.8 (again, sticking with the recommended IOS) and I'm running NGINX rather than Apache because some of the reading was saying that Drupal runs more efficiently on NGINX than Apache (but DON'T quote me on that because right now I don't remember all the details).  I'm also up to PHP 5.5 on it (since support for 5.3 had been dropped).  
I decided NOT to run Aegir on this one (earlier attempts just added to many complications and I was spending more time troubleshooting Aegir than I was doing Drupal). I feel that for Aegir to be a more viable platform for Drupal hosting there needs to be better documentation, recommended practice and procedure for us small guys to make it worthwhile. I can say the last upgrade of code on Aegir took forever to accomplish (probably caused more by pilot error, caution and and lack of knowledge as to how to automate the process better), and I find myself dreading the next round of upgrades.
For this reason I am considering abandoning Aegir all together on my production box.  Aegir, when it works is a nice system, but I have had to many issues and probably in a larger environment, with enough resources to to focuse on that aspect full time, it is a great way of hosting LOTS of Drupal sites, but for my small operation I have spent to much time putting out fires and not enough time working on my bread-n-butter Drupal.
I'm not going to change anything at the moment and I probably won't until the next catastropic failure.
I just finished a Git Tutorial (On Lynda.com).  It is a great tutorial as I went into a lot of the "higher level" theory of Git (I was needing that) and also made the whole process of how Git works make more sense to me for the first time.  I now feel more confident and even better understand WHY and HOW Git is the way to go.

Features Tutorials

I just finished getting a quick'n'dirty intro to Features.  I found these on YouTube.com.  I have found a great many free video tutorials on YouTube. They are as follows:


How to Create Features is a 5 minute simply "this is how to create a feature that is made up of a content type and a view".

How To Update Features  tell how to make a change in your feature and then apply it elsewhere.

StrongArm is a module that allows you to export and apply site-wide settings.

Organizing Drupal Site Configuration with Features - Webinar is a higher level tutorial.  It runs under an hour and gives a much more in-dept class on Features (and I'd recommend it after you have had some exposure to Features). One thing that is goes into that I immediatey appreciated was the difference between Revert and Recreate around 29:15.

Features is a means of converting and distributing Drupal configuration information that is normally kept in the database to code so it can be transfered or applied to other sites.