php
- involved in many large and small client projects (and some personal projects) using php (from year 2000 to present), including implementation of:
- many Drupal-based production websites (see separate section, below)
- both frontend and backend pages using the Fast Templates system
as well as standard php scripting
- complex administration/backend pages for control of site content
- full Content Management System with data-driven menus and site map, permissions, document management and comprehensive Search Engine (the original code for travelinsurance.ca )
- libraries and classes for database access, session implementation, isolation of layers,
and generation of complex HTML forms using Fast Templates
- server-side generation of images and pdf files
- rugged user and group security at the application level
- E-Commerce front end (i.e.: shopping cart and checkout)
- routines to generate tree layouts and depth-first sort orders from
database representations of trees (e.g.: site maps, menu trees)
- automatic font sizing based on browser and platform of client
Drupal
- involved in many client projects (and some personal projects) using Drupal.
- one such site is
wwoof.ca created first in Drupal 6 and then later redesigned and migrated into Drupal 7. in 2017, the code for wwoof.ca was massively expanded and turned into the CWP (Common WWOOF Platform) for FOWO (The Federation of WWOOF Organizations). This is in use on approximately 20 websites including
wwoof.ca and
wwoofusa.org/ and includes implementation of:
- integration with PayPal, Stripe and other ecommerce providers (through use of Ubercart and many modifications) for subscriptions and one-time purchases
- Fully functional and highly customized Google Mapping of host locations and search results
- configurable smooth multi-page user registration flow, including various user, profile and ecommerce integration at numerous different steps
- complex Views implementation involving modified Search form, taxonomy depth search, many custom views handlers, and more (see wwoof.ca/hosts/listing)
- expert-level usage of Colorbox, Display Suite, Contexts, Features, Advanced Forum, Mailgun, Solr Indexing, Fields and Entities, S3 Filing System, Rules Scheduling and many other Drupal modules
- fully multilingual on all levels
- extremely large custom code base to support registration, subscriptions, messaging, wwoof visit requests, response rates, reviews and feedback, and many other member-specific features
- another site is
connectsus.com, including implementation of:
- highly customized subscription system, written with Ubercart and extensive custom code
- subscription-based download of multiple document types, in various configurations
- supports very complex business rules and configurations regarding products, product lines, user preferences, and permissions both subscription-based and otherwise
- fully customized integration with Constant Contact
- another site is
intentiongathering.org, including implementation of:
- basic CMS and menuing functions
- detailed user documentation
- intelligent usages of Webforms
- picture gallery
- this organization does large events per year, and some smaller ones as well. from 2013 onwards, they have been hosted on this website (other platforms were used in the past). each large event has its own unique theme and/or color scheme, with different artists contributing graphics over the years. themekey module used frequently!
- a highly customized registration system (based on Drupal Registration, Drupal Commerce and much custom coding) capable of registering multiple event attendees, in detail, and purchasing multiple tickets, on a single ecommerce transaction
- another site is
bethechangeearthalliance.org, including implementation of:
- Ubercart e-commerce module, with minor customizations
- detailed use of User Profile fields, Content Construction Kit and Content Templates
- extensive coding in php and the Drupal forms API, to create custom modules in php to provide Circles, Circle Membership, Actions and Results tracking
- re-use of complex CCK fields like Realname Autocomplete in non-CCK forms
- implementation of Calendar module and custom Events content type
- customized DHTML Menus with special color-coding and clean action
- another site is
kootenayfamilyplace.org, including implementation of:
- categorized Calendars and a custom Events content type, with views of Calendars for different categories, or a global Calendar with all events, based on the Calendar module but with fairly extensive modifications
- Custom coding in php and the Drupal forms API, to create a module to provide full-featured Job Board functionality (as a Drupal "node module")
- custom coding in php and the Drupal forms API, to give News Stream functionality (multiple News Item streams) using CCK fields
- detailed use of User Profile fields, Content Construction Kit and Content Templates
- customized DHTML Menus with special color-coding and clean action (similar to Be The Change Earth Alliance but not identical)
- special security coding on backend, using Simple Access as a control mechanism to assign edit privileges to different Admins for different sections of the website, where section is defined by higher-end parts of the Clean URL.
- another site is
maggiesglutenfree.com, including implementation of:
- Ubercart e-commerce module with extensive customization to product displays
- Imagecache image management system for product images, nutritional labels, etc.
- custom Articles content type with NodeQueue for arbitrary node ordering
- another site is
plongeon.qc.ca, including implementation of:
- Press Releases and Newsletters listings, using Teaser/Full-Node Views and Content Templates
- "Nouvelle" (new) listings on home page, using all of the above to generate DHTML-controlled multi-node content block
- Data driven site map, reading pages directly from Drupal's menu table (accounting for all security permissions), displayed in sideways tree format, and requiring no admin updating whatsoever. See plongeon.qc.ca/?q=node/86
- another site is
bloomgardendesign.com, including implementation of:
- A custom module "blog plus" that works with the Drupal "blog" module and gives many more possibilities for the display of blog or news-item postings
- custom Projects content type including a CCK images field with Lightbox2 integration
- another site is
earthlyimages.ca, essentially a straight CMS / Ubercart installation but with a custom Catalog module that allows the artworks to be listed by category or by size of print, and other misc. features.
- another site is
kootenaywoodstoves.com, essentially a straight CMS but with jCarousel module to show a scrollable list of supplier/vendor logos, and "blog plus" (see
here ) with constantly scrolling news items.
- another site is
dillermontreal.com, mainly straight CMS but including implementation of customized "blog plus" module (see
here ) with Archives, and a Galleries area, using Gallery_Assist module and CoolIris picture viewer.
- another site is
bradmcg.com, essentially just a straight CMS with some custom coding to use the Users table as a general-purpose Contact Management database (with contact categories and bulk mailout capabilities using the Mass Contact module)
- another site is
awakenthegathering.com, essentially just a straight CMS, also responsible for 90% of of the web design.
- another site is
earthdance.ca, essentially just a straight CMS with user Image Gallery (Gallery Assist and CoolIris), also partially responsible for the web design.
- other sites built (or worked on) in Drupal 6, Drupal 7, and Drupal 9; full list available on request.
Wordpress
- php customizations to theming and ecommerce, for clients of Brainflex
(eg:
Selkirk ICF Buildings)
AJAX
- some experience in writing AJAX-based web software; using Backbase, the Orange application server
(from
Digital Lattice) and various Javascript-based AJAX libraries.
AHAH
- some experience in writing AHAH-based interfaces in Drupal 7 and 9
ASP
- involved in two large client projects using ASP, including implementation of:
- complex administration/backend pages for control of site content
- automatic email generation
- various menuing systems for both frontend and backend pages
- document management
Cold Fusion
- involved in numerous client projects using Cold Fusion, both frontend pages
and administration/backend pages, including many sites using the CF-Webstore e-commerce/CMS framework
(eg:
connectsus.com,
interimaging.com)
HTML, CSS Style Sheets
- knowledgeable in all the necessary features for text and image based sites of high levels of complexity
Javascript/jQuery
- experienced in: manipulation of form control behaviour, image display, event handling,
dynamic display of text, and many other scripting usages, using both raw Javascript and javacript with jQuery
SQL
- have written complex web scripts using both the MySQL and MS-SQL/MariaDB databases, and designed and created very large databases on both platforms
- also used PostgreSQL in web scripting
- approximately 35 years of familiarity with SQL, and almost daily usage (in web scripting) for the last 22 years
CVS
- have worked with various projects under the CVS
Version Control system, including the use of CVS to
directly update the client's web server
Git
- currently working on a project under the Git version control system
XML
- worked on one project using an XML data source, including optimization of XML data retrieval
code (in php)
Microsoft Access
- involved in numerous client projects using MS-Access
- have used MS-Access with SQL-server backend as well as Jet engine database
Visual Basic
- involved in one client project using Visual Basic
(real-time RF communication)
XVT/XI (platform-portable GUI development tool,
MS-Windows version)
- involved in development of WIMS (WasteWater
Information Management System) for the GVRD,
using the XVT & XI interface libraries and C
language. This project required use of the
Microsoft SQL Server library and the coding of
many window event-handler functions in C
(approx 37,000 lines of code, two years in duration).
C/C++:
- writing of WIMS program (in conjunction with XVT/XI, see above)
- C also used in two smaller client projects
Advanced Revelation (AREV) & R/BASIC
(DOS 4GL database and attached language)
- over ten years experience in writing large and
small client applications in Advanced Revelation
and RevG (a prior version of the language)