Untitled.png

Coding Complex Asks into Good Product  (more)

This site can now build an run an unlimited number of connected, freestanding websites.

In the fall of 2023, we made a novel discovery as an unexpected by-product of work we did getting two very different technologies to work together.

We had delivered a Rails Website product that employed Bootstrap CSS, an industry-standard styling product, for its front end to a client organization.

The client requested us to pivot to ignore our already included bootstrap CSS front-end and instead use a different, very specific, front-end styling product in place of Bootstrap. There was not much out there to get these two technologies to run together. The risks to both parties of not thinking through the process carefully were significant. For this to work, we would have to containerize this new stipulation so that...

There is a 'best practices' approach to situations like this. This situation required we build a middleware layer that could do front-end abstraction between our full-stack solution and the client's preferred framework so that the client's framework would truly, as they stipulated, supply the frontend user experience. The middleware solution had to be made out of something flexible. We undertook an environment scan that involved exhaustive test builds using many different programming frameworks. One emerged as the clear winner: ReactJS.

It was a good cause. We got to work for several months ...

  1. building a new API for our core product to convert our app's content to now supply content data to the middleware.
  2. building a middleware socket to digest our app's API content data.
  3. developing the ability to connect the client's niche-style component libraries to the new middleware product.

Once we were done with all three steps in the late summer of 2023 we realized that in most use cases only steps 1 & 2 were required. Strapping it to the client's niche front-end styling reduced the client's options by comparison.

Then we made another BIG connection ...

If we made one abstracted front-end website out of this middleware we could make many front-end websites.  This was made possible by mixing in our sub-sites module. The Sub-sites module was a module initially developed for CHIMB.ca. It allows groups to create their own subject-specific internal sub-sites that could contain their content + adopt content others created. By combining this new middleware module with sub-sites we could now for the first time allow teams to orchestrate their content into the equivalent of a completely free-standing experience. This approach to hosting is commonly referred to as a JamStack.

We have been running a few test examples of this with ...

... that all pull their content from more capable 'hub' sites, in these cases ... ManitobaCPD.com  and PrimaryON.ca.

We now have been able to generate complete freestanding websites that are powered by the technology behind ManitobaCPD.com and PrimaryON.ca. The process is that..

The editorial process:

How fast is it to launch a site like this? On June 26th, 2024 in response the the SGFP.ca asking us to reduce their server size to something more cost effective we were able to convert the SGFP.ca site from a Rails site to a NextJS JamStack in about 30 seconds. 

Are the resulting sites fast? Yes very fast. JamStacks are known for this.

An editorial process that focuses on one central hub and a separate middleware layer comes with some significant advantages from a security, cost, and facilitation of KS & KT point of view. We will unpack these advantages more in later blog posts. At this point, we are still testing and evolving this process but the preliminary findings are encouraging.

If you would like to learn more reach out to our team.

 


Posted: June 27, 2024 by Greg Van de Mosselaer
Regions: Canada
Tags: Communities of Practice, Information Technology

View