Technology:

Drupal

Drupal is a robust open-source content management system (CMS) used to build and manage dynamic websites and web applications.

I was introduced to Drupal while working at Eelzee Solutions and have gone from simply configuring web pages through the UI to building custom modules, configuring custom entity types, writing complex update scripts, building custom plugins, building custom fields, designing custom architecture for behavioral testing, building custom business software that works on different websites and more.

Over the years Drupal has proven to be to be my web platform of choice, so much so that I designed to do away with my custom CMS for my website and re-create it using Drupal.

Drupal Projects

Camping Karaoke Website
-

A passion of mine which has been growing over the years is Karaoke, and not just Karaoke but the rather unique niche of Camping Karaoke.

This idea started out many years ago where it was a combination of a generator, a stereo, a laptop, and a stack of printed out pages with all of the available song titles. People would look through the pages and manually write out their song selections. I would then be in charge of manually creating a playlist song-by-song.

The next iteration involved putting fake mp3s of all of the song titles onto an iPod, passing the iPod around to have people add their songs to a playlist. This playlist would be imported, then a simple script would translate the playlist into a type of playlist the karaoke software would recognize.

The main issue with the previous approaches was that the entire list of chosen songs was completely randomized, which often cause an awkward situation. People who chose more songs than others often ended up performing multiple songs in a row, while those who picked fewer songs had to wait longer for their turn.

In 2015 I decided to go high-tech with this situation and utilize Drupal to create a website to organize the karaoke setup. Multiple users can scan QR codes to connect to the website which runs off of a Wifi hotspot. The site contains a list of all available songs so users can choose the songs they want to perform and whether they want to perform it earlier or later.

When it's showtime, the playlist is randomly generated in a way that ensures all performers are evenly spaced out and the songs are weighted by their earlier/later preference. Data is gathered on the chosen songs to create personalized pages for each user, which suggests new songs they might like, such as songs they haven't performed before by artists they have previously chosen.

This project has been very successful in simplifying the process of organizing the karaoke playlists, which allows me to enjoy the experience of Karaoke with minimal setup time. This has been an ongoing project and I have added features here and there over the years.

Client
Technology
PHP
Drupal
SQL
CSS
Development of Drupal Tools
-

While working at Eelzee Solutions, I assisted in building various Drupal tools that helped improve our workflow and efficiency.

These tools involved logic which consolidated common functionality across multiple sites as well as tools to help generate boilerplate code which helped increase development productivity.

Technology
Drupal
PHP
Symfony
SQL
Rainbow Concert Band Database
-

In order to help out someone I know in the Rainbow Concert Band, I volunteered to create an internal-facing administration site which assists the band's director in organizing the compositions the band works with. This site helps coordinate information on a vast amount of sheet music such as title, composer, genre, catalog numbers, as well as contextual information such as where the physical copies are stored and when the music was last performed.

The need for this administration site occurred from a previous iteration of the site which became inaccessible, and the only data which was able to be extracted was a CSV of the existing data. Using Drupal, a new admin site was created in order to import this data, organize existing textual names into relational entities, and provide a UI to easily add/update entries.

Technology
Drupal
PHP
Custom Business Software Development
-

While working at Eelzee Solutions, I assisted in development of custom business software for various clients in the automotive, construction, health & safety and service industries.

This involved research, planning, and development of additional custom features for the business workflow of existing sites as well as aiding in the development of new sites for new clients.

As well as developing functionality for the business software, I also was involved in developing automated testing for the new and existing features to help ensure the software runs smoothly and efficiently.

Technology
Drupal
PHP
Behat
Javascript
SQL
jQuery
CSS
Upgrading Drupal website from Drupal 7 to Drupal 8
-

While working at Eelzee Solutions, I assisted in helping upgrade and migrate a very large and intricate Drupal 7 site to Drupal 8.

For a standard Drupal 7 site this can be a trivial matter, but for one site in particular it was a very large undertaking due to the complexity of the site mechanics.

In order to accomplish this successfully, much of the existing logic was refactored ahead of time combined with the addition of robust automated testing which were compliant with both Drupal 7 and Drupal 8. This also involved complex migration logic to ensure the data was transferred over correctly and efficiently.

Technology
Drupal
PHP
Behat
SQL
dolnik.ca transition to Drupal
-

After many years with no changes, it was decided that a custom CMS wasn't cutting it anymore for this website. I decided to port the existing website, which the old version still remains at portfolio.dolnik.ca, to utilize Drupal instead.

This involved not only creating the data structures and importing the existing data, but also porting over the existing theme to work with Drupal's templating system.

Drupal not only helped improve the ease at which to add/edit new content, but also allowed for an increase in performance due to its powerful caching system.

Client
Technology
Drupal
Bootstrap
PHP
Playwright
Tags