Skip to content
This repository has been archived by the owner on Dec 6, 2022. It is now read-only.

3.2 SaaS FAQ

Alex Skrypnyk edited this page Jan 6, 2020 · 13 revisions

What is SaaS?

SaaS is designed to be a controlled GovCMS/Drupal experience whereby the only customisations allowed are in your config and the theme. "SaaS" concepts straddle the vanilla distribution and the way we host it on Lagoon. Here are some frequently asked questions about SaaS on Drupal 8.

PaaS sites are more like conventional Drupal sites, built with Composer. There is no "PaaS FAQ" because those topics are covered by Amazee/Lagoon or Drupal documentation.

Can I have a custom admin theme?

Yes, an admin theme is just a theme so it's allowed. It lives in your /themes folder next to your main theme. To do light-touch overrides, it's common to sub-theme Adminimal theme which ships with GovCMS and is available by default in GovCMS SaaS.

Can I customise my settings.php?

On SaaS you can't customise settings.php (directly, or via an include) on the Lagoon platform. When you are working locally you can SSH into the PHP/CLI/TEST containers and modify settings.php file, or use some convenience command to automate this. *

Can I add custom modules on Lagoon?

No, it's not possible on SaaS. From your repository, only /themes and /config are used in your Lagoon build.

Can I add custom modules (eg devel) locally?

Yes, you can add docker-compose.override.yml locally and mount some directories into your containers. You could put your modules in custom/modules and then mount this directory into /app/web/modules/custom or /app/web/sites/default/local/modules.

When you install modules that are not in the distribution, they will add new config to your site. You can see this when you run ahoy drush en devel && ahoy drush cex && git diff). This is not deployable so you need to be able to manage this: see config_ignore or config_split.

I notice my modules are not up to date, can I get the latest versions?

No, we regression test whitelisted versions of all modules.

Can I use a module patch with SaaS?

No. We use some patches in the scaffold, but you can't alter these.

Can I put PHP in my theme?

Yes. You can implement hooks like hook_form_alter() and theme hooks like hook_preprocess_node(). You can also define name-spaced classes in themes/mytheme/src which can be auto-loaded.

You can't create new services (mytheme.services.yml and friends) as Drupal will not discover these, you can't implement things like routes, or override the services of other modules. There are a number of hooks which you could implement in Drupal 7, but they are module-only in Drupal 8, some of these hooks are defined here.

Can I modify my roles and permissions?

These are controlled in your config, so you can define roles and permissions locally and push these to the platform. Assigning an existing role to a user is different after forklift, so it's better to ensure there is a power user available prior to forklifting. There is a nightly audit on the platform which would remove or flag any permissions which are not appropriate.

What is forklifting?

It involves putting a copy of your database and sites/default/files up into the production environment. You should ensure that your database works with the master branch of your codebase, to avoid delays.

Can I request a new module?

Yes. However. Since this would need to be added to the distribution it's a difficult process. We regression test the distribution for each release and each new module makes this a harder process. We also have some issues with build performance given the size of the distribution. If you want to request a module, please be thorough and use this issue template to do so.

Can I use the minimal or standard Drupal profile?

Yes. Please be aware that any site building that is different to the GovCMS profile could make it harder for us to support departments who have no in-house technical support.

I notice there is no Publication content type, can I add one?

Yes. The GovCMS profile doesn't suit all needs and new content types, paragraph types and other entities will be added in many cases. Be aware that this requires site building expertise to control the visual display of your type content types - they may not magically work the same as the existing ones.

Can I allow <iframe>s and <script>s in my text filters?

Yes, however these are powerful tags which can cause issues if mis-used. We recommend creating an "Expert" text format, disabling the WYSIWYG for this format, and only allowing access to a role like Site Administrator.

Can I customise my GitLab CI?

No. However we have successfully tested a simple "CI switch" solution for PaaS which we hope to introduce to SaaS.


* Needless to say we want to improve this.