case-study

Try Drupal: A Demo Experience solution

How we built a whole demo experience solution for 1xINTERNET

Jose Nieves | 2023-10-16
Check it out

In proccess of discovering what Qaack is capable of, 1xINTERNET presented their need for a solution to demo a digital experience platform to potential clients and we quickly realized how easy it would be to use Qaack to solve the problem.

try-drupal Try Drupal logo

The client

1xINTERNET is a full-service digital agency with offices in Frankfurt, Berlin, Reykjavik, and Conil. They help businesses of all sizes to create and implement digital solutions that achieve their goals.

1xINTERNET logo 1xINTERNET's logo

They offer services in web-development, consulting and online marketing, and they are actively involved in the Drupal community, contributing to the projects, being part of events, promoting Drupal and much more.

The requirements

1xINTERNET's main product is a Drupal based digital experience platform, know as 1xDXP, and they are willing to make it accessible to clients, letting them test it as editors, viewers and administrators.

Following that direction, they found that, having to setup a demo environment for each client requesting a demo was too much time consuming and they wanted to automate the process, offering demo instances on the fly, just when a potential client requests it.

The deadline

1xINTERNET is pretty active in the Drupal community and they wanted to show up this demo experience in the biggest Drupal event in Europe, Drupal Con Lille 2023.

Drupal Con Lille 2023 Drupal Con Lille 2023

The goal was to have a demo experience solution integrated with their website and ready to be presented and ensuring performance and scalability in order to handle a big load of users during the event.

The proposal

As a Web Environment Manager (WEM), Qaack is capable of creating environments through API, that's really handy for these kind of needs. Setting up a full new instance for 1xINTERNET and adding a configuration file, their solution becomes ready to be pre-built, cloned and launched in seconds and on demand.

We presented specific nice features that Qaack would provide in order to make the experience even better:

  • Qaack instances
  • Reusable environments
  • Environment clones
  • API integration
  • Max environment limit
  • Enviroment Time To Live (TTL)
  • Scheduled rebuilds

And many more…, so after a few meetings and a proof of concept, we went for it and started working on the solution.

The solution

Summing up, Try Drupal is the result of the integration of Qaack’s API with a simple form on 1x’s website.

First of all, we prepared a new Qaack instance specifically for 1xINTERNET, so it would be isolated and under their control, being able to scale it when big loads of users are expected.

Then we needed to configure and setup 1xDXP to work with Qaack. So we configured a qaack.yml file to the project repository, then the project was added to Qaack, authenticated via SSH key pair, which is automatically generated by Qaack.

In order to provide multiple demos we used the environment clones feature, that allows you to spawn copies of a given environment. However, that was not enough because it would install the whole Drupal site from scratch. So, in order to save time and resources, we would took advantage of reusable environments. This means that after the original environment is built, it's saved to be used later, then, in a matter of seconds, a fully 1xDXP site can be up and running.

Finally, the only missing part was to integrate with 1xINTERNET website and this resulted to be easy thanks to the API. Just by doing a HTTP request (from any programming language) it is possible to spin up a new demo and get the public address, similar to others IaaS platforms.

Thanks to the previously mentioned features like max environment limit, environment TTL and scheduled rebuilds, we were able to ensure that the solution would be able to be performant and roboust with at least 150 concurrent environments running.

The result

The form is the entry point for potential clients to request a demo instance of 1xDXP, then, after confirmation, Qaack creates a new environment and sends the credentials to the client via email.

The process can be summarized in the following steps.

First the clients or users get access to the Try Drupal form using a QR or organic web browsing, there, they fill some data and provide a valid email.

try-drupal-form Try Drupal form on 1xINTERNET's website

After submitting the form, the user receives an email with a confirmation link, which they have to click to confirm the request.

try-drupal-email-1 Try Drupal confirmation email

Once the user clicks the confirmation link, Qaack creates a new environment with 1xDXP and sends the credentials to the user via email.

try-drupal-email-2 Try Drupal credentials email

Finally, the user can access the environment using the url and credentials provided in the email and check the demo in detail.

try-drupal-demo Try Drupal environment running on Qaack

Behind the scenes, Qaack is taking care of the environment, ensuring that it's up and running, minding the available resources, so the environment is only created if the limit is not reached and it's destroyed after 2 hours.

Your own demo experience solution

Are you looking for a demo solution like this one?