Drupal

Drupal is a content management system. In other words, it is software that organizes and displays web pages like articles and blog postings (along with other content such as videos, images and music).

Hi I'm Scott

Hi I'm Scott a full stack web developer and Acquia-certified Drupal expert with more than 20 years of experience building customized software solutions and high-performance websites. I specialize in open-source software such as Drupal to create innovative and engaging digital experiences. My expertise spans the full development lifecycle, from architecting complex solutions and developing custom software to educating and coaching teams and executives on getting the most out of it. I thrive on organizing and solving challenging technical problems and delivering impactful high-value results and upgrades for organizations and their users.

Top Skills

Content and Data Management – Over 18 years of experience building and enhancing business processes using a multitude of strategies and technologies. Dataset and IA design, data modelling, data maintenance and all it entails; uptime, security, performance, backups, accessibility, and industry standards and compliances. Over the years I've done work for Canadian and American for-profit and non-profit organizations.

I have expertise in building, theming, and module development using:

  • PHP
  • Drupal versions 5 through Drupal 11
  • Zen-cart
  • WordPress (w/ WooCommerce)

Back-End Development – Extensive LAMP stack experience building custom software solutions with object oriented PHP and SQL databases in a wide variety of environments. In-depth knowledge of migrating to and from Drupal, Composer, Drush, Symfony, Drupal APIs, third-party APIs, performance optimization, automated and user testing, consistent coding standards and following best practices within all the moving parts.

Front-End Development – Decades of experience with HTML, CSS, JavaScript, Photoshop, and Illustrator for web and print media output. Expert knowledge of Drupal themes and contrib module capabilities, Twig templates, Views, CKEditor 5 and third-party libraries; like jQuery, Bootstrap 4/5 and Google Charts. Expertise in new feature design and development - balancing customer requirements and a high-quality craft with agile execution.

DevOps / Server Administration – comfortable building and optioning out servers, environments, and networks to run everything from development to production. Experienced using AWS EC2-based solutions with supplements like Amazon S3, Amazon RDS, and Route 53. I also have expertise in managed services and am well-versed with bash and shell scripting, SSH, and the Linux command line.

Passionate about delivering white-glove holistic solutions with attention to fine details and IRL impact.

My nginx repo (Engine X Github Repository)

I have a basic nginx (pronounced Engine EX) configuration on github. This is a basic version of perusio's nginx configuration in more of a stand-alone set up - and it uses unix sockets in the PHP connection configuration to do the processing instead of an upstream configuration (where the processing could optionally be coming from another server that has PHP), that can include Apache web servers. perusio's config is an advanced configuration with multiple failover backup servers that just wasn't necessary in my case so I decided to make another example config on github. Instead of having PHP connect to itself using TCP/IP, this setup eliminates the need for communication with itself using the TCP network layer. Data does not have to be "converted" into a standardized network layer format as it's processed from the file system through PHP. A performance enhancement side effect for stand alone nginx web servers.

For stand-alone-ish servers, doing this processing via a regular Unix socket is basically more the norm. Certainly a chance to get more out of your stand-alone nginx server versus using TCP. As mentioned, Perusio's set up includes upstreams for other webservers balancing the giant enterprise load it's configured for. My set up is one small server and a really, really fast website. I am now very pro-nginx since setting up and seeing the difference in just my browser load times.

There is support for Drupal 6 and 7, just use the appropriate include file in your virtual host configuration file. See the example.conf. I like to keep virtual host configs in separate files in the conf.d folder. With all the defaults set throughout the operational files in the root of the config, the individual config files per virtual host are small, easy to read, and easily identifiable (any .conf file in the conf.d/ folder will be parsed on nginx start up; so call it good practice to name your config files after the sites they represent - like mysite.conf or mysite.ca.conf). The files in the configuration directory "conf.d" can also be linux soft links - so if you need to allow users to make edits to their own config files they can - without letting them into the main nginx directory.

Mixing this config with perusio's micro-caching stanzas has been left as an exercise to the reader!

Also, worth a look is yhader's boost-compatible nginx configuration. While dated, it was built for Drupal and supports the Boost module, and it also proves the simplicity of a standard nginx set up. Nginx.org has a very good wiki and clear documentation. If you're doing anything with nginx, start there. This configuration is a work in progress. Check back for updates or follow me on Twitter! @slozzy

The Drupal 6 Module Creator

I've re-factored the Drupal 6 module creator that I used to have on my website. It's been down since I changed hosting accounts and finally got a chance to finish it. Even though I'm using more Drupal 7 now than Drupal 6, it's still going to be useful to have around anytime I (or you!) need to make a module.

Category
Subscribe to Drupal