AddWeb Solution: What is govCMS?

Planet Drupal - Wed, 2019/03/27 - 6:54am

What is govCMS?

The govCMS distribution is supported in Drupal 7 and Drupal 8 version, which has installation profiles for Australian government websites and it is being actively managed on Github ( and features are maintained from

To work with govCMS, we have to take care of some factors in order to create a site with the govCMS platform.

They have limited number of the module they support and we have to stick to that only and need to find alternate options with the twig and preprocess functions only and they do not allow us to create custom modules as well.

Here is the list of modules that they support:

Unfortunately supported modules for Drupal 8 are less compare to Drupal 7, but we can create support request of community and if it's valid then they can include a module on SaaS platform.

Our Experience about working with govCMS

We have worked with govCMS for one of our clients from Australia, who is working with another agency before we met, and already he had started site development with them, and fortunately, he gets to know about the quality of work done so far from the previous agency.


They have added lots of contrib modules and to achieve some functionality they have created custom modules as well, but as the govCMS platform doesn't support such modules we have to flush out all existing implementation and started from the beginning.


All features which are build using custom/contrib modules, we had to find alternatives and get things done only with supported modules and using preprocess functions and twig alters. and along with that, we have to make sure that site is WCAG compliance as it is a government website they must be. So all things we delivered to the client successfully as per the client's expectation with the boundary of govCMS restriction.


More details about what is govCMS

Drupal gets big in the Australian Government

With almost half of Australian Government departments now running Drupal, and hundreds of more sites now live within various agencies, Drupal has transformed the way government websites are built and managed.

Drupal 7 :

Drupal 8 :

The aim is to provide a single solution for unclassified websites using a common codebase and a shared feature set on a scalable and secure list infrastructure.

govCMS distribution is supported as SaaS by amazeelabs in collaboration with govCMS community and it supports several contributed modules which are available, here is a list of modules which can be used with SaaS

Workflows and Ahoy

It is interesting to see that the .ahoy.yml is just a set of command shortcuts, which is similar to the scripts section of a composer.json. Every implementation can be smoothed over by a single Ahoy command, and the underlying implementation can evolve without the developer even noticing.

Speculating, I think the hardest part about adding Ahoy commands will be naming them. Even then, the GovCMS team will have the luxury of focussing on the "SaaS govcms 8 on Lagoon" use case, rather than something like BLT which attempts to have commands for "any Drupal anywhere".


Flocon de toile | Freelance Drupal: Automatically provide options to a list field type with Drupal 8

Planet Drupal - Wed, 2019/03/27 - 1:54am
Drupal 8 has a multitude of field types to cover a large number of use cases and situations when it comes to structuring and modeling content. Among these, we have a List field type which, as its name suggests, allows us to configure an input field based on a list of predefined options. This list of options must be set manually in the field's storage options at the time of creation. But we can also use this field based on a list of options that can be provided dynamically. Let's look at how we need to proceed to have a field that allows us to choose from a list of dynamic options.

Lullabot: UX For Kids: A Personal Journey

Planet Drupal - Tue, 2019/03/26 - 10:12pm

As a user experience designer, most of my career has been focused on designing for adults. When the opportunity arose to help redesign a product for kids, I jumped at the chance to learn something new. Though, switching focuses from serving adult audiences to children proved to be a challenge. I'm not a parent and also usually do not interact with kids on a daily basis.


Aten Design Group: Functional Testing with Katalon Recorder

Planet Drupal - Tue, 2019/03/26 - 5:39pm

When it comes to testing in software development, the range of options is huge. From unit testing on the backend through browser compatibility testing on the front end, there are a variety of testing approaches that will save you, your clients, and their audiences, time and headache. Katalon Recorder is a quick, simple way to get started with testing and to see the value that automated tests provide within a matter of minutes.

What is Katalon Recorder?

Katalon Recorder (KR) is a Selenium-driven browser plugin for Chrome and FireFox that lets you control your browser with simple commands instead of actual clicking, typing, tabbing, and scrolling. Put simply, KR can interact with your web application and report back when things don’t go as planned. Katalon Recorder aims to emulate human actions such as clicking, typing, and verifying the status of onscreen content - and as such works very well as an automated replacement for human testing.

How does it work?

With Katalon Recorder, you can record your browser actions - such as clicking through your menu items - and then play those actions back as automated commands. You can also handcraft a wide variety of commands that assert the existence of HTML elements or copy, among a host of other things. The successful playback of well crafted tests indicates that your menus, content, and HTML structure haven't changed — in other words your application is behaving as expected.

The Basics: Record and Playback

After clicking Record KR will bring your browser into focus, then log all of your interactions as individual commands. Once Stop is clicked, those commands can be played back, saved to a file, shared with others to play in their browsers, or modified to fine-tune functionality. With Katalon Recoder’s Record feature setting up initial tests that mirror human-driven clickthroughs takes moments of your time and can then be played back by anyone anywhere — including non-technical staff or even client teams.

Creating Complex, Rigorous Tests

Katalon Recorder allows you to organize one or more individual commands as Test Cases, and one or more Test Cases as Test Suites. Complicated tests can be created by chaining together several Test Suites. You could, for example, write tests that log a test user in, search for a product by SKU, click into the results, add the product to their cart, navigate to the cart and assert the product is there, then complete the purchase using test financial data. All of those actions except assert the product is in the cart can be recorded from your interactions. That means that in many cases, the amount of time that it takes for you to perform an action on your website is, using the recorder feature, the amount of time it takes you to write the automated test.

Flexibility Via Hand-Crafted Commands

In some cases the rigidity of recorded actions is a drawback. If, for example, you want to search for the tag Home Appliances and then click into the product Test Toaster, but you aren’t sure where in the search results that item will be, a recorded action informed by precise HTML structure might fall short. In those cases, you can use a combination of CSS and XPATH selectors to find and interact with your elements regardless of where exactly in the DOM they exist.

Storing Variables with Javascript

Sometimes a human tester needs to remember something, like the name or unique ID of a piece of content, in order to proceed with their test. Let’s say, for example, you’re testing a Drupal site wherein you first want to create a new Person node, then associate it via an entity reference field with a Group node on that node’s creation form. Using Katalon Recorder’s storeEval command you can use Javascript to accomplish that by saving a variable.

Once you have saved the form for your Person node, you’ll get redirected to something like where 887 is the node ID for your content. The storeEval command lets you save the ID number to a variable that we can access later in our tests. See the image below:

Katalon Recorder covers a lot of bases. Whether you're using just the Record option for building basic spot-checks, or combining advanced features to create rigorous and complex functional testing, it's surprising what can be achieved in so little time — especially given KR's very tenable learning curve. While the examples above are exceedingly simple, in some recent projects we’ve combined thousands of commands across dozens of test cases that provide thorough regression testing and automated QA — and it all started with the click of a Record button.


clemens-tolboom commented on pull request solariumphp/solarium#659

On github - Tue, 2019/03/26 - 1:16pm
clemens-tolboom commented on pull request solariumphp/solarium#659 Mar 26, 2019 clemens-tolboom commented Mar 26, 2019

Hmmm ... guess I'm wrong in 'No HTML' as 1.3 is harder to convert. Guess it's better to close this and start over making a new PR. Similar for #660. …

clemens-tolboom opened a pull request in solariumphp/solarium

On github - Tue, 2019/03/26 - 1:11pm
clemens-tolboom opened a pull request in solariumphp/solarium Mar 26, 2019 Update 1.2-basic-select using composer #660

Similar to #659: assume command line so no HTML use current directory (which works better for converting other examples using symlinks)

+5 -8

clemens-tolboom pushed to patch-2 in clemens-tolboom/solarium

On github - Tue, 2019/03/26 - 1:10pm
clemens-tolboom pushed to patch-2 in clemens-tolboom/solarium Mar 26, 2019 1 commit to patch-2
  • 00dae19 Update 1.2-basic-select using composer

clemens-tolboom commented on pull request solariumphp/solarium#659

On github - Tue, 2019/03/26 - 12:54pm
clemens-tolboom commented on pull request solariumphp/solarium#659 Mar 26, 2019 clemens-tolboom commented Mar 26, 2019

As this is an example maybe better not uss __DIR__ but require('./vendor/autoload.php'); then people can copy/paste and maybe run immediately.

clemens-tolboom opened a pull request in solariumphp/solarium

On github - Tue, 2019/03/26 - 11:55am
clemens-tolboom opened a pull request in solariumphp/solarium Mar 26, 2019 Adjust example using composer #659

Following comment in #323 (comment) I also assume running from the command line as that clean up the example more. Hope that's fine too.

+6 -9

clemens-tolboom pushed to patch-1 in clemens-tolboom/solarium

On github - Tue, 2019/03/26 - 11:55am
clemens-tolboom pushed to patch-1 in clemens-tolboom/solarium Mar 26, 2019 1 commit to patch-1
  • 5935c52 Adjust example using composer

clemens-tolboom commented on pull request solariumphp/solarium#323

On github - Tue, 2019/03/26 - 11:48am
clemens-tolboom commented on pull request solariumphp/solarium#323 Mar 26, 2019 clemens-tolboom commented Mar 26, 2019

I think we should modify the code to rely on the composer driven autoloading. Guess we can close this PR.

Web Wash: Getting Started with Bootstrap 4 using Radix in Drupal 8

Planet Drupal - Tue, 2019/03/26 - 11:30am

Radix is a Bootstrap 4 powered theme which is set up out-of-the-box to compile the Bootstrap library locally. It is targeted towards advance front-end developers who want total control on how Bootstrap is loaded and comes with Browsersync and Font Awesome built-in. The theme doesn’t support loading Bootstrap via a CDN out-of-the-box. I’d recommend you look at the Barrio theme if you prefer to load everything through a CDN.

Because you’re compiling Bootstrap, you get the added benefit of being able to modify the _variables.scss which is used to customize Bootstrap and can control what SASS components get imported. By importing only what you need you can drastically reduce the size of the compiled CSS file.

The theme comes with a Drush command (Drush 8 only), drush radix "Theme name", which makes it easy to generate sub-themes. The sub-theme comes with a package.json which has all the required packages.

Just run npm install, then npm run dev to compile Bootstrap. It uses laravel-mix to compile everything so you don’t have to spend time configuring webpack files.

In this tutorial, you’ll learn how to install Radix, create a sub-theme, how to compiling everything and learn about Radix Layouts.


Phase2: Find Us at DrupalCon Seattle

Planet Drupal - Mon, 2019/03/25 - 3:02pm

Our annual pilgrimage to Drupalcon is just two weeks away and we are very excited for another unforgettable conference filled with community momentum, thought leadership, and partnership. With several sessions, summits, tracks, and booths to visit this year, I thought I would highlight some key places to find some of Phase2's finest at the conference!


Digital Echidna: Thoughts on all things digital: New Search Overrides Module

Planet Drupal - Mon, 2019/03/25 - 1:03pm
You can make the most elegant, relevance-based site search appliance possible -- but, still, sometimes you’re going to want to ‘game’ the system. Manipulating site search results sounds nefarious, but really it’s all about providing the most…

clemens-tolboom pushed to patch-1 in clemens-tolboom/spike_sorting

On github - Sat, 2019/03/23 - 4:20pm
clemens-tolboom pushed to patch-1 in clemens-tolboom/spike_sorting Mar 23, 2019 1 commit to patch-1
  • f5c5232 Add hint to data file, fix type and add some whitespace