Newsfeeds

Fondy Payment Gateway for Commerce

New Drupal Modules - 4 April 2018 - 6:24am
About

Fondy Payment Gateway module allows the admin to set up the Fondy payment method on their store. The customer can select the Fondy Payment Gateway as the payment method and enter their payment details for payment purposes.
We support Visa, Visa Electron, Mastercard and Maestro bank cards from any country as well as several other payment methods such as Qiwi, Yandex, Privat24, cash payments, PayPal, SEPA, Swift, online banking with Ukrainian, Russian and European banks, partial payments, credit payments and Direct Debit.

Categories: Drupal

Top (Around) 30 Articles, 2018

Gnome Stew - 4 April 2018 - 6:00am
A while back I noticed that the Top 30 Articles page was getting pretty long in the tooth (9 years old next month!). I brought it up with the rest of the gnomes and I guess that was code for “Hey guys! I’m volunteering to compile a new Top 30 Articles Article!” Several months of […]
Categories: Game Theory & Design

Fantasy Flight Previews General Veers Expansion for Star Wars: Legion

Tabletop Gaming News - 4 April 2018 - 6:00am
General Veers is probably my favorite character from Star Wars. For all the series tells us that the Empire is cold, ruthless, and efficient, it’s at the battle of Hoth that we finally really see it. Veers commands that battle brilliantly, taking out key parts of the Rebel’s base and causing a rather quick and […]
Categories: Game Theory & Design

Outh v1 Guzzle service

New Drupal Modules - 4 April 2018 - 5:03am

If you need the Guzzle OAuth plugin, then run the following command from the root of your Drupal project:

composer require guzzlehttp/oauth-subscriber 0.3.*

Categories: Drupal

Flocon de toile | Freelance Drupal: Working with the Drupal Commerce 2 checkout flows

Planet Drupal - 4 April 2018 - 5:00am

Drupal Commerce 2 allows to define out of the box multiple checkout flows, allowing to customize according to the order, the product purchased, the customer profile this buying process and modify it accordingly. This is an extremely interesting feature, in that it can simplify as much as necessary this famous checkout flows. Do you sell physical (and therefore with associated delivery) and digital (without delivery) products? In a few clicks you can have two separate checkout flows that will take into account these specificities.

Categories: Drupal

Video Embed Twitch

New Drupal Modules - 4 April 2018 - 4:23am

Video Embed Twitch extends the Video Embed Field that allows you to embed Twitch Channels as an iframe simply by entering the channel url.

Categories: Drupal

Lullabot: Continuous Integration in Drupal 8 with Travis CI

Planet Drupal - 4 April 2018 - 3:07am

This article is the second in our series on Continuous Integration tools for Drupal 8, which started with CircleCI. This time, we explore Travis CI.

Travis CI is the most well known CI tool for open source projects. Its setup process is straightforward and it offers a lot of flexibility and resources to implement Continuous Integration for any kind of project. In this article we will implement the same set of jobs that we did with CircleCI and then compare both tools.

Resources

This article makes references to the following resources:

Browse the demo project to discover where the CI components are placed, then use the one-line installer to add these components automatically to your project.

The goal

We want to run the following jobs in a Drupal 8 project when someone creates a pull request:

To accomplish the above, we will use the following tools in Travis CI:

  • Drush, Drupal’s command line interface, to perform Drupal-related tasks like installing Drupal or updating the database.
  • Docker Compose, via docker4drupal, to build the environment where Behat tests run.
  • Robo, a PHP task runner, to define a set of tasks for each of the above jobs.

Here is a screenshot of the Travis CI dashboard with the above setup in place:

undefined

Now, let’s see how this has been set up. If you want to dive straight into the code, have a look at the demo Drupal 8 repository.

Setting up Travis CI

Travis CI requires the presence of a .travis.yml file at the root of the repository that dictates how it will build and test the project. I have used this installer that adds the following files:

Additionally, a few dependencies are added via Composer, which are required for the CI jobs.

After adding the above files to the repository, it’s time to give Travis CI access to it. Open https://travis-ci.org and authenticate there with your GitHub account. Next, add the repository at the Travis CI dashboard as shown below:

undefined

That’s it! After this, future changes to the repository should trigger builds at Travis CI. If you create a pull request, you will see a status message like the following one:

undefined Seeing the jobs at work

Here is an excerpt of the .travis.yml file. We are leveraging Travis’ build matrix for spinning up three jobs that run in parallel:

env: matrix: - JOB=job:check-coding-standards - JOB=job:run-unit-tests - JOB=job:run-behat-tests install: - composer --verbose install script: - vendor/bin/robo $JOB

The script section is called three times: one for each value assigned to the $JOB variable. It calls a different Robo task each time. We decided to write the implementation of each job as Robo tasks because:

  • It makes the .travis.yml file easier to read and maintain.
  • It makes the job implementations portable between CI tools.
  • It gives developers an opportunity to run the jobs locally.

If you are curious what a Robo task looks like, here is the implementation of the one that runs Behat tests:

/** * Command to run behat tests. * * @return \Robo\Result * The result of the collection of tasks. */ public function jobRunBehatTests() { $collection = $this->collectionBuilder(); $collection->addTaskList($this->downloadDatabase()); $collection->addTaskList($this->buildEnvironment()); $collection->addTask($this->waitForDrupal()); $collection->addTaskList($this->runUpdatePath()); $collection->addTaskList($this->runBehatTests()); return $collection->run(); } Building the environment with Docker Compose

The build environment task shown above, $this→buildEnvironment(), uses Docker Compose to build a Docker environment where the Drupal site will be configured, the database will be updated, and finally, Behat tests will run.

In contrast with CircleCI, where we define the mix of Docker images that the test environment will use to run the jobs, Travis CI offers two environments (Precise and Trusty) with common pre-installed services. Trusty has everything that we need for checking coding standards or running PHPUnit tests, but Behat tests require more setup which we find easier to manage via Docker Compose.

Here are the contents of the build environment task. For simplicity, we have removed a few unrelated lines:

/** * Builds the Docker environment. * * @return \Robo\Task\Base\Exec[] * An array of tasks. */ protected function buildEnvironment() { $force = true; $tasks = []; $tasks[] = $this->taskFilesystemStack() ->copy('.travis/docker-compose.yml', 'docker-compose.yml', $force); $tasks[] = $this->taskExec('docker-compose pull --parallel'); $tasks[] = $this->taskExec('docker-compose up -d'); return $tasks; }

The above task uses this docker-compose.yml file to build the environment.

Generating and visualizing coverage reports

Travis CI does not support storing artifacts like CircleCI does. Therefore, we need to use a third-party service to host them. Travis documentation suggests either uploading them to an Amazon S3 bucket or using Coveralls, a hosted analysis tool. We chose the latter because it posts a summary in each pull request with a link to the full coverage report.

Setting up Coveralls is straightforward. Start by opening https://coveralls.io and then, after authenticating with your GitHub account, use their browser to find and connect to a repository, like this:

undefined

Next, it is recommended to review the repository settings so we can customize the developer experience:

undefined

With that in place, new pull requests will show a status message with a one-line summary of the coverage report, plus a link to the full details:

undefined

Finally, when we click on Details, we see the following coverage report:

undefined A comparison to CircleCI

CircleCI can do all that Travis CI does with less setup. For example, coverage reports and Behat screenshots can be stored as job artifacts and visualized at the CircleCI dashboard. Additionally, CircleCI’s Command Line Interface gives a chance to developers to debug jobs locally.

Travis CI shines on flexibility: for example, only the Behat job uses Docker Compose to build the environment while the rest of the jobs use the Trusty image. Additionally, there is a huge amount of articles and documentation, which you will surely find helpful when tweaking the jobs to fit your team's needs.

If you liked Travis CI, check out this installer to get started quickly in your Drupal 8 project.

What next?

We aren’t sure about which tool to pick for our next article in this series on CI tools for Drupal 8. Do you have a preference? Do you have feedback on what you’ve found relevant about this article? Please let us know by posting a comment.

Acknowledgements
Categories: Drupal

JSON-RPC

New Drupal Modules - 4 April 2018 - 2:14am

JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol.

This module implements a framework for creating non-RESTful services. It is intended to be the platform on which a decoupled Drupal administration and introspection interface can be built.

While JSON API module handles entity data and REST can be used to create custom REST resources, some Drupal actions can't be neatly handled with REST principles. Clearing cache is a perfect example.

Categories: Drupal

IPFS Backend

New Drupal Modules - 3 April 2018 - 11:13pm
Categories: Drupal

Kalamuna Blog: How-to: Using Drupal-Project to Craft Your Perfect Start State

Planet Drupal - 3 April 2018 - 11:05pm
How-to: Using Drupal-Project to Craft Your Perfect Start State Shannon O'Malley Tue, 04/03/2018 - 23:05

The drupal-project repository is quickly becoming the de facto starter for all Drupal 8 projects. So how can you quickly spin up a new site with Composer and drupal-project? How do you take drupal-project and customize it to suit your particular needs? And, how do you leverage post-install tasks to keep yourself DRY? This February I gave a talk at DrupalCamp Florida where I got into all of these questions.

Categories Articles Drupal
Categories: Drupal

OSTraining: A Further Look at the New Layout Builder in Drupal 8

Planet Drupal - 3 April 2018 - 10:48pm

Earlier in this blog, OSTraining's Steve Burge made an excellent introduction to the new Drupal Layout Builder.

Many users have been eagerly expecting this module and it was released in version 8.5.

In this tutorial, you will take a further look at how to work with this module. You will see how to use the Layout Builder to configure:

  • Content types.
  • Nodes.
Categories: Drupal

Twig Components

New Drupal Modules - 3 April 2018 - 9:08pm
About this module

This module lets you use Twig Components with Drupal.

What is a Twig Component?

A Twig Component is a Web Component that uses Twig.

This module expects that all Twig Components extend the base class provided by the twig-components NPM package, and are compiled to ES5 so that older browsers can still be supported.

Categories: Drupal

Team

New Drupal Modules - 3 April 2018 - 8:22pm

Provides an entity for user teams.

Works well with Board.

Available soon.

Categories: Drupal

Bulletin

New Drupal Modules - 3 April 2018 - 6:26pm

Provides entities for notes or discussions that can be listed on a bulletin or discussion Board.

Available soon.

Categories: Drupal

Board

New Drupal Modules - 3 April 2018 - 6:19pm

Provides a Board entity that is used to display things like:

  • discussions or notes: use Bulletin for a forum or bulletin board
  • tasks or to-dos: use Card Board for task-management

Available soon.

Categories: Drupal

Agiledrop.com Blog: AGILEDROP: DrupalCon Nashville, here I come!

Planet Drupal - 3 April 2018 - 5:22pm
I was not planning to go to DrupalCon this year due to so many things going on at the company, but with a little delegation effort, I will be able to go.  I would not like to miss this one, to be honest. So here is what I am looking forward to in Nashville.   Meeting new people DrupalCons in the US are the biggest Drupal events, and even if you are an active community member for 11 years like I am, you still see a lot of new faces. Developers are generally more on the introvert side, so you don't see so much intentional networking like on some other events, but don't hesitate to ask the… READ MORE
Categories: Drupal

Blizzard experiments with machine learning to fight Overwatch toxicity

Social/Online Games - Gamasutra - 3 April 2018 - 4:31pm

"We've been trying to teach our games what toxic language is, which is kinda fun," director Jeff Kaplan tells Kotaku. "Our goal is to get it so you don't have to wait for a report to happen." ...

Categories: Game Theory & Design

Spectrum Games Releases On The Air RPG

Tabletop Gaming News - 3 April 2018 - 3:00pm
There’s been a resurgence in the idea of radio plays and dramas recently. With podcasts, you can get the sense of those old-timey productions, with whole families sitting around the home radio. Well, Spectrum Games is looking to bring that feeling off the air and onto the tabletop with their On the Air RPG. You […]
Categories: Game Theory & Design

Wyrd Launches Creature Feature Painting Contest

Tabletop Gaming News - 3 April 2018 - 2:00pm
In the miniatures world, there’s a lot of human and humanoid models. You know, two arms, two legs, a head, normally with some form of armor. *yawn* How droll. What Wyrd’s wanting to showcase in their latest painting contest is all of the weird and wild creatures out there. They’ve launched their Creature Feature painting […]
Categories: Game Theory & Design

Login Manager

New Drupal Modules - 3 April 2018 - 1:22pm
Categories: Drupal

Pages

Subscribe to As If Productions aggregator