Canadian Blood Services is a not-for-profit, charitable organization operating at arm's length from government. Its sole mission is to manage the blood supply for Canadians. Created in 1998, it is the successor to the Canadian Red Cross Blood Program and the Canadian Blood Agency (the former funding arm of Canada's blood supply system). Canadian Blood Services operates Canada’s blood supply in a manner that gains the trust, commitment and confidence of all Canadians by providing a safe, secure, cost-effective, affordable and accessible supply of quality blood, blood products and their alternatives.
- Architected the roll-out of Drupal (the WxT distribution) as the new enterprise Web platform.
- Developed the new Donor Web Portal for booking blood-donation appointments.
- Extended Drupal as an interface to load & save remote data through a REST API.
- Researched options for SSL/TLS terminators, reverse-proxy caches, load balancers & Web servers.
- Ensured the QA & Production environments were available via HTTPS, with proper certificates.
- Wrote a business case for switching to Git version control, and set up an appropriate architecture.
- Instituted DevOps processes for coordination, deployment & upgrades with Git and GitLab.
- Created (auto-)deployment scripts for moving code, configuration & data between environments.
- Set up automatic Drupal user account creation on logins based upon the back-end CRM.
- Provided users the ability to securely register, manage their appointments & view history.
- Designed and implemented a Drupal module for OAuth2 user authentication & authorization.
- Integrating outsourced theming and other front-end work into the new framework.
- Performed code reviews and wrote an article how this is best done within Drupal projects.
- Produced a method for displaying remote data (not local to Drupal) using Views.
- Implemented a content editor workflow for authoring, approving and publishing content.
- Provided options for performance optimization and security-related issues.
- Allowed content editors to upload files to arbitrary locations within the Drupal file system.
- Reduced deadlocks with the MySQL database implementation through new configuration.