Newsfeeds

Inline Entity Form Drag & Drop Categories

New Drupal Modules - 3 January 2019 - 8:51am

This module provides drag & droppable categories from taxonomy terms and entity inline form tables.

1. Go to /admin/config/content/ief_dnd_categories
2. Select one or several reference fields containing a taxonomy term reference, used by an inline entity form
3. Set the form field widget to 'Inline entity form - Complex'
4. Set the field format plugin to 'DnD categories field formatter'
5. Enjoy !

Categories: Drupal

Legal Challenges in the Games Industry in 2019 - by Brandon Huffman

Gamasutra.com Blogs - 3 January 2019 - 8:13am
2018 was an eventful year from a legal perspective in the video game industry. At Odin Law and Media, here’s what we’re anticipating to see as growing legal challenges in this space in the new year.
Categories: Game Theory & Design

Developing an adventure game framework for Unity - by Marcus Bäumer

Gamasutra.com Blogs - 3 January 2019 - 8:12am
A short overview of how we implemented a basic Unity framework for narrative games written in Ink.
Categories: Game Theory & Design

Ubercart Only One

New Drupal Modules - 3 January 2019 - 7:12am

This very small module (to be uploaded) extends the "Default Quantity = 0" functionality to the shopping cart, preventing customers from changing their quantity by disabling the quantity field in the shopping cart.

The "add to cart" form had disabled the quantity field, but in some cases buyers mistakenly bump the quantity before checkout.

Our use case is class registrations, where we want unique information per attendee.

For Drupal 8 only. Either install and enable the module or just copy the code into your custom module.

Categories: Drupal

Commerce Atos WOPA

New Drupal Modules - 3 January 2019 - 7:12am
Categories: Drupal

Dru

New Drupal Modules - 3 January 2019 - 6:20am

Helper module

Categories: Drupal

GDPR OneTrust

New Drupal Modules - 3 January 2019 - 6:12am

This module intends to deal with the EU Directive on Data Protection Regulation that comes into effect on 25th May 2018. From that date, if you are not compliant or visibly working towards compliance, you run the risk of enforcement action, which can include a fine for a serious breach.

The module displays a overlay at the top of website to make users aware of the fact that cookies are being set. The user may then give his/her consent or move to a page that provides more details. Consent is given by user pressing the agree buttons or by continuing browsing the website.

Categories: Drupal

Captcha The Flood

New Drupal Modules - 3 January 2019 - 5:52am

Captcha The Flood (CTF) uses Drupal's built-in flood control and reCAPTCHA to protect your site's assets from robots' poisonous gases.

Rather than immediately blocking suspicious IP addresses, it displays a CAPTCHA challenge that should stop robots from being able to continue to use your site.

Lick my battery, robots!

Categories: Drupal

Droptica: How did we help to double mobile sales in a Drupal Commerce store?

Planet Drupal - 3 January 2019 - 4:50am
At Droptica, we designed, made and implemented a new design of an online store for mobile devices for one of the oldest publishers in Poland. We used Drupal 7 Commerce and did some search engine optimisation. The results? Increased sales.
Categories: Drupal

ARREA-Systems: Hook form with build validate and submit

Planet Drupal - 3 January 2019 - 12:18am
Hook form with build validate and submit

Context

EK application has a module that store personal documents for user. When user account is deleted, those documents may be transferred to another account.

To achieve that, we need to alter the user account cancel form when building the form, validating and submitting it.

Let's review the 3 steps.

 

BUILD

The form before altering it looks like this

We need to add a field to select another user account to which the document of the canceled account will be moved to.

To achieve that we Implements hook_form_alter() in MyModule.module:

Categories: Drupal

OpenSense Labs: Leaping forward with Drupal and React

Planet Drupal - 2 January 2019 - 11:42pm
Leaping forward with Drupal and React Shankar Thu, 01/03/2019 - 13:12

Digital transformation is at the helm of every enterprise to keep up with the rapid technological advancements. The New York Times, a leading international news media, leads by example in such changing times. It is not just known for its premium content but also for the astronomical presence both in the print and the digital medium. React has been at the forefront of its digital evolution to make its site faster and easier to use for both the readers and the developers alike.


Large organisations like the New York Times are leaping forward with their inclination towards best-of-breed web technologies like React. Any front-end technology React would require a RESTful service-based backend for storing data and implementing business logic. This is where Drupal makes a big impact with its RESTful services that are built into its core. Before we move onto the exploration of the amazing duo of Drupal and React, let’s explore React.

React: The Incipiency

The first signs of React can be traced back to 2010 as stated by RisingStack. React kicked off as a JavaScript port of XHP which was introduced by Facebook into its PHP stack and was open sourced. XHP majorly accounted for reducing cross-site scripting (XSS) attacks.

React was introduced in 2013 and was made open source.

The biggest obstacle with XHP was that dynamic web applications needed numerous round trips to the server which could not be achieved by XHP. This paved the way for ReactJS. FaxJS was the early prototype of React which came into the limelight in 2011. Ultimately, in 2013, React was introduced and open sourced.

Since then, React has swiftly gone on to become a popular choice (as can be seen in the graph below) because of its declarative style and the dearth of assumptions about your tech stack. Today, React has a large ecosystem comprising of top-of-the-line libraries, conferences and jacked-up demand for developers with React skills.

React Usage Statistics | Source: BuiltwithThe World of React React is a JavaScript library for building user interfaces - reactjs.org


ReactJS is a JavaScript library created by a Facebook engineer named Jordan Walke. It is a declarative and a component-based solution for building web applications. It is great for the following reasons:

Provision of declarative views

With its declarative views, your code becomes simpler and foretellable while debugging thereby allowing you to develop interactive UIs and design streamlined views for each state in your application. In case of any alterations in the data, React can let you efficaciously update and render the right components.

Facilitation of writing components

Passing rich data through your app and keeping the state out of the Document Object Model (DOM) is possible as the component logic is written in JavaScript instead of templates. React helps in creating encapsulated components for managing their own state which can, then, be composed for making intricate user interfaces.

Focused and easy-to-learn

Unlike Angular or Vue.js, ReactJS is a library and not a full-featured framework. It emphasises on one thing and doing it properly. It is consistently leveraged in association with other JavaScript libraries. So, there is a shorter learning curve vis-à-vis understanding React in comparison to other comprehensive libraries. It does not assume anything about your existing tech stack which helps in developing new features in React without having to rewrite existing code.

React for mobile app development

React Native is advantageous for its portability and the ability to reuse components, real-time reload and modular architecture, open source and generous ecosystem.

React + Drupal

As an open source content management system, Drupal has witnessed a staggering growth over the years (as can be seen in the graph below). It offers a magnificent suite of tools for data modelling, editorial workflow implementation and the coding custom application logic. It has spectacular support for JSON API or GraphQL web services which makes it a splendid choice as the backend for a React application.

Drupal Usage statistics | Source: Builtwith

Whether few of the elements on an existing web page has to be enhanced or a fully decoupled single page application needs to be created, the duo of Drupal and React can do it all. Implementation of Drupal and React together can be performed with a fully decoupled or headless approach; and progressively decoupled approach.

Decoupled or Headless Drupal with React

With the powerful web APIs, Drupal simplifies the creation of headless applications. Several lighthouse applications have been created with Drupal as the backend and powerful demo systems and starter kits like Reservoir and Contenta have burst onto the scene.

In a headless approach, Drupal is leveraged as the backend for a frontend application built in React. Usually, headless applications are utilised for showing content and the editing of content is still done in the backend. But React can also be used for the creation of wonderful editorial experience. With Drupal’s powerful REST APIs, integration of a decoupled editing system can be done. Drupal Europe 2018 had a session that demonstrated how to create an enterprise-level editorial experience for Drupal 8 with the help of React.


It exhibited a decoupled application with React that can let you edit content directly in the frontend. Leveraging React to the fullest, a modern editorial experience was created with in-place editing, context-sensitive editing, drag-and-drop content placement and creation and a lot more.

Progressively Decoupled Drupal with React

To strike a balance between editorial needs like layout management and developer’s desires, progressively decoupled Drupal allows you to interpolate a JavaScript framework into the Drupal front end.

OpenSense Labs has revamped the website of the Produce Market Guide (PMG), a resource for produce commodity information, fresh trends and data analysis, with help of progressively decoupled Drupal and React among others.


ElasticSearch Connector and Search API modules were utilised for the creation of mapping and indexing on Elastic Server. The development of Elastic backend architecture was followed by the building process of faceted search application with React and the integration of the app in Drupal as block or template page.

The project structure for the search was designed and developed in the sandbox with modern tools like Babel and Webpack and third-party libraries like Searchkit, which is a suite of React components that communicate directly with Elasticsearch cluster, turned out to be of great help with its fully customisable solution.

Logstash and Kibana, which are based on Elasticsearch, were integrated on the Elasticserver for collecting, parsing, storing and visualising the data. The app in the Sandbox was developed for the production and all the CSS/JS was incorporated inside the Drupal as a block thereby making it a progressively decoupled feature.

The project, that followed the principles of Agile and Scrum, resulted in a user-friendly website for PMG with a search application. It loaded the search results faster.

Conclusion

Drupal and React together can help enterprises to leap forward in the digital space. Drupal’s RESTful services-based backend and React with its amazing capabilities as the frontend can prove to be a remarkable solution.

We remain steadfast in our goals of fulfilling the digital transformation endeavours of our partners with our suite of services.

Contact us at hello@opensenselabs.com to build a Drupal website using React as the front-end technology.

blog banner blog image Drupal 8 ReactJS React JavaScript Headless Drupal Decoupled Drupal Progressively decoupled Drupal Blog Type Articles Is it a good read ? On
Categories: Drupal

myDropWizard.com: We've made 99 Drupal 6 Long-Term Support releases... what does that mean for Drupal 7?

Planet Drupal - 2 January 2019 - 10:34pm

As you may or may not know, we've been providing Drupal 6 Long-Term Support (D6LTS) since February 24, 2016, as one of two vendors officially blessed by the Drupal Security Team to do so.

In that time, we have made 99 releases (both Drupal core and contrib) for D6LTS!

Most of those were security releases, but there were also a handful of bug fixes, and most recently, updates to support PHP 7.2(FYI: As of a couple days ago, PHP 5 has also reached it's End-of-Life (EOL) - do you have a plan to update to PHP 7.1 or 7.2?)

When we were first talking to potential customers about D6LTS, I remember many people doubting that we'd be releasing anything at all!

They'd say something like "Drupal 6 has been around so long, aren't all the security issues shaken out by now?" Almost 100 releases later, and I'd say there was plenty to be done. There still is! :-)

In this article, I'm going to look back on Drupal 6 LTS, and also look forward to what that may mean for Drupal 7 extended support after it reaches its End-of-Life.

Categories: Drupal

Morpht: Drupal and Composer: Part 3 — Converting Management of an Existing Drupal 8 site to Composer

Planet Drupal - 2 January 2019 - 10:11pm

As any developer working with Drupal 8 knows, working with Composer has become an integral part of working with Drupal. This can be daunting for those without previous experience working with command line, and can still be a confusing experience for those who do.

This is the third post in an explorative series of blog posts on Drupal and Composer, hopefully clearing up some of the confusion. The four blog posts on this topic will be as follows:

If you have not yet read part 1 and part 2, then before reading through this post, it is probably best to ensure you understand the concepts outlined in the summaries of those articles.

Switching Management of your Drupal site to Composer

So you’ve worked your way through parts one and two of this series, and you now understand what Composer is, how it can be used to work with Drupal 8, and how to start a new Drupal 8 project using Composer. But, you started your current project without using Composer, and want to switch to managing your project using Composer. Where do you start? This article will discusses a few strategies behind converting your existing system to Drupal. Fortunately some automated tools exist for converting existing sites to Composer, and in the situation that neither of these tools work, an overview is provided on how to manually convert an existing site 

But, before moving on to any of these methods...

Take a backup! As this process will be destructive to your system, make sure you take a backup of your file system, and take a backup of your database. Then go and check to ensure that you have a full backup of the file system, and a full back up of the database.

If you skip this step, or do not do it properly, you may end up with an entirely broken system, so don’t skip this step.

Method 1: Composerize (Composer plugin)

Composerize Drupal is a Composer plugin that has been built to convert existing Drupal installations to use Composer. Instructions are on the download page. If this method doesn't work, you can try the Drupal Composerize module:

Method 2: Composerize (Drupal module)

The Composerize module is a Drupal module that is built to convert existing Drupal installations to use Composer. At the time of writing, this module has the following disclaimer on the page:

This module is still in development. It supports very basic Drupal 8 setups, but there are many necessary features it still lacks (e.g., support for patches, JavaScript libraries, distributions, etc). We're working on all that stuff, but this module is definitely not ready for prime time.

If this method doesn't work, you'll likely have to manually convert your site.

Method 3: Manual method

If the above steps fail, your last option is to convert your installation to using the Drupal Composer Template manually. Note that pretty much every system will be different, so these instructions are an overview of the end goal, rather than a complete set of steps that will convert your system. There is a good chance you’ll run into issues along the way that are not covered here, so make sure you took that backup!

Converting a system to the template requires achieving the following goals:

  • Setting up the file structure of the system to match the Drupal Composer Template
  • Delete old Composer files
  • Add the Template file system to your Drupal system
  • Set up the configuration directory and the private files directory
  • Set up your profiles, modules and themes to be managed by Composer
Step 1: Convert your file structure to match the Drupal Composer Template file structure

The Drupal Composer Template is set up to manage the directory above the webroot, as well as the webroot. The webroot is located in the [PROJECT ROOT]/web folder. Therefore you will need this structure:

  • / - Project root. Contains various scaffolding files such as composer.json and composer.lock, as well as the configuration export folder, and the webroot folder
    • /web - The webroot. Contains all Drupal core, profile, module and theme files.

You'll need to set up your Drupal installation to match this structure, and make sure that the server is set up so that the web root is at [PROJECT ROOT]/web.

Note: Some servers require the webroot to be in a directory with a specific name, such as public_html, or www. In this case, you can try setting up symlinks from the required directory name to the /web directory, so that, for example, [PROJECT ROOT]/public_html is a symlink pointing at [PROJECT ROOT]/web. Your Drupal files will then reside in the /web directory (satisfying the Drupal template), and also be accessible at /public_html (satisfying the server requirements). If this does not work, another option would be to edit the composer.json file (which is added in step 3) and change any paths that point at the /web directory, to point at the directory name you are actually using.

Step 2: Delete old Composer files

I'll say it again, because it needs to be said, make sure you took that backup in step 0!

If any of the following files or folders exist in your installation, delete them. Note however that you may want to save the composer.json file for reference if you've manually added any libraries into your existing installation using Composer.

  • [PROJECT ROOT]/vendor directory
  • [PROJECT ROOT]/composer.json file
  • [PROJECT ROOT]/composer.lock file
  • [PROJECT ROOT]/web/vendor directory
  • [PROJECT ROOT]/web/composer.json file
  • [PROJECT ROOT]/web/composer.lock file.
Step 3: Add the Template file system to your Drupal system

Go here, click 'clone or download' and download the .zip file (note - or clone the Git repository if you prefer)

  1. Save/move the zip file into the project root folder (the directory above the 'web' folder you created above). You can then unpack it using the following command. Before this step, the file /composer.json should not exist. After this step, if you've done it correctly, this file will exist.
    tar -zxvf [FILE] --strip-components=1
  2. Run the following command from the project root folder. This command will Install the Composer dependencies as well as create the /vendor directory.
    composer install
  3. Run the following to ensure your database is up to date, and caches are cleared.
    drush updb; drush cr;
Step 4: Set up the configuration directory and the private files directory (Optional)

This next step is optional, however it will make for a more secure system. First, the following directories need to be created if they don't already exist:

  • [PROJECT ROOT]/config/sync
  • [PROJECT_ROOT]/private

The first folder is where exports of the Drupal 8 configuration system will be exported to. The second folder is the private files folder. Creating both of these directories as siblings to the webroot adds security, as the files are not in a web-accessible location. The next thing to do is tell the system of the location of these files. This is done by declaring the folder paths in settings.php. You can do this by adding the following two lines to the bottom of settings.php:

$config_directories['sync'] = '../config/sync';
$settings['file_private_path'] = '../private';

After this, clear the registry (drush cr;). You can confirm that the configuration directory was properly set by running drush cex sync, and then checking that there are .yml files in the [PROJECT ROOT]/config/sync directory. You can confirm that the private files folder was properly set by going to Admin -> Configuration -> Media -> File System, and confirming that the private files directory is listed as ../private.

Step 5: Set up your profiles, modules and themes to be managed by Composer

The final step is to set up Composer to manage Drupal profiles, modules and themes to be managed by Composer. The Drupal Composer Template tracks Core by default, but needs to be informed of the rest of your code. Note that if you do not want to use the most recent version of these profiles/modules/themes, you will need to alter the commands below to set the version you want to install.

Drupal profiles, modules and themes can be installed with the following command:

composer require drupal/[PACKAGE NAME]

For example, if you were using the Administration Toolbar module (admin_toolbar), you would run:

composer require drupal/admin_toolbar

After you have done this, ensure you are up to date with a DB update and cache clear:

drush updb; drush cr;

At this point, your system should be converted to the Drupal Composer Template, with contributed code being managed by Composer.

Summary

This article looks at converting exiting Drupal 8 sites to being managed by the Drupal Composer Template. Doing this can potentially be automated using the Composerize Composer plugin or the Composerize Drupal module. In situations where this does not work, the manual directions in this article can be used as an alternative.

In the next and final part of this series, we'll look at how Drupal developers can integrate 3rd party libraries into their custom Drupal profiles, modules and themes.

Categories: Drupal

Rules User Fields

New Drupal Modules - 2 January 2019 - 1:42pm

This module extends the 'Rules' module for Drupal 8.
Today the 'Rules' module has the following restriction:
If you create a new 'User' in a 'Rule' then you can't get access to its custom fields in this 'Rule'.
This module solves this problem.
The example of using:
You can create new users with 'Rules' and populate their fields with a data obtained using 'Webform' module.

Categories: Drupal

Debug Academy: Annoucement: Drupal.tv - A new beginning for the Drupal community!

Planet Drupal - 2 January 2019 - 1:04pm
Author: Ashraf Abed

The Drupal we all know and love is evolving. The learning curve is shifting, the development paradigm is different, and the community, not only the software, is more ambitious. We felt it was time to build Drupal.tv as a thank you to the wider community. Drupal.tv is live as of January 1st, 2019!

Kevin Thull

From the community spotlight on Drupal.org: “He's the fellow that is dashing from room to room before the first session begins to set up the AV equipment and checking in with presenters making sure they all "push the red button". Because of him, we are all able attend the sessions we miss while busy elsewhere. He is personally responsible for recording over 800 sessions and donating countless hours of his time.”

Hear his thoughts on the unofficial Drupal recording initiative ( https://www.drupal.org/association/blog/introducing-the-unofficial-drupal-recording-initiative ).

Thank you, Kevin!

A Tweet to start it all

In Oct 2018, Rachel Lawson (@rachel_norfolk) tweeted: “It strikes me that creating a “DrupalTV” site, collating all YouTube session videos, would be possible in Drupal core these days. Tagging, searching, the lot. Could be a fun project? I’m sure one of our hosting providers would help…

As fate would have it, Ashraf Abed (@ashabed) of Debug Academy was looking for the upcoming semester’s class project and came across the tweet. Debug Academy always does a real, new project in class as it’s the best way to learn programming and to build credibility.

Yes, newbie Drupalers built this site.

Drupal’s learning curve is shifting. The focus of many ongoing core initiatives is improving developer experience, and not only for senior programmers.

This project was built (& continues to be built) by a team of new Drupal developers, led by one Acquia “Grand Master” certified Architect (Ashraf Abed, Debug Academy’s CEO).

The backgrounds of the team include (but are not limited to):

  • 4 experienced backend developers with 0 Drupal experience
  • 1 experienced front end developer with 0 Drupal experience
  • 2 self-taught web developers with 0 Drupal experience
    1. Former career: Library and Information Science
    2. Former career: Teacher (PHD in history!)
  • 2 self-taught with light site building experience in earlier versions of Drupal
  • 1 Drupal Grand Master / Architect (Ashraf)

To illuminate this a bit more: Ashraf was not allowed to contribute any code on the project during the semester, which ended on December 22nd, 2018 (1 week before this site’s launch). That is to ensure that the new developers gain proper experience building the project. So the majority of this project truly was built by non-Drupal developers. We’ll share more about those developers in an upcoming article, with their permission.

And if you’re thinking “the experienced backend developers did most of the work”, that simply is not the case. The majority of the work on the project was contributed by the rest of the group.

Furthermore, as is the naturally occurring case with most Debug Academy semesters, the development team was highly diverse. Over 70% of the team members come from backgrounds that tend to be minorities in our field, and we were lucky to benefit from their ideas and expertise. 

What’s now and what’s next?

Video Coverage

Kevin Thull provided us with a list of DrupalCamp videos, of which we’ve imported 100%. Thanks to Wendy Abed, Kevin, and Ashraf for importing the DrupalCamp and DrupalCon videos. We’re at over 3,500 videos!

In the near future, we will also add free Drupal training videos created by various providers. All videos on this website will always be free.

Conferences

You may have noticed some videos are tagged with conferences. In fact, all videos are tagged with conferences, but you can only see the published ones.

We ask DrupalCamp organizers to reach out so that they can populate their own conference pages. Debug Academy’s next cohort will built out the conference (meetups, Drupal Camps, Drupal Cons) functionality on the website to make conferences (past & future) easy to find.

Searching / Sorting / Filtering

The site’s search is powered by the Search API module(s). The plain text search actually works quite well - search for a conference name, a topic, etc, and you will find all videos from that conference/topic.

As part of next semester’s project, we will be tagging talks with topics and speakers, which will enable us to use faceted search on the website.

Wider accessibility

We want this site to be globally useful. We plan to import video captions as well as and enable the multilingual features available in Drupal core. And if you are recording Drupal conferences in your country, reach out to us with your youtube playlist!

Submitting videos

Video submissions are open to the public! Approved content administrators will have the ability to import entire playlists from youtube, but anyone can import an individual video! Anonymously submitted videos will be created as “Drafts”, and our team of alumni and approved moderators will approve appropriate videos (thanks, Drupal core content moderation!)

Ongoing maintenance

Debug Academy students and alumni will continue to build and maintain the website as a non-profit project for the Drupal community. We will periodically share articles about what new Drupal developers were able to build using the website.

After next semester’s project, we may reach a point where smaller Drupal Camp events do not need to create/maintain their own website. Instead, they could simply create a conference page on Drupal.tv and use their time on higher value initiatives, like running a great conference, as usual! :)

How can you help?

At the moment, we have plenty of development capacity for the project, and we would like this project to continue to enable graduates of Debug Academy to land their first full time jobs as Drupal developers. You can help by spreading the word!

Follow us on twitter @drupaldottv, sign up for our newsletter (in the footer) to hear about new videos and articles, and simply share this website to the wider Drupal community

Also, follow a few of the team members who helped create or populate the site: @kevinjthull, @ashabed, @jackg102@cotterpinx, and @DebugAcademy for sponsoring the project.

We'll be reaching out to our alumni to do a separate piece on them with their inputs and permission. We launched on New years, but it turns out that's an inconvenient time for many contributors. Who would've known?!

And I’d like to give a special shout out to the founder of Drupal, Dries Buytaert, for allowing us to use the domain drupal.tv for this project!

Happy new year, everyone!

Categories: Drupal

TEN7 Blog's Drupal Posts: Episode 050: Dries Buytaert

Planet Drupal - 2 January 2019 - 12:20pm
In this our 50th episode, Ivan is joined by Dries Buytaert, the founder of Drupal, an open source software developer, a startup founder, technology executive, father, world traveler and photographer. Here's what we're discussing in this podcast: Dries' life and career; The creation and emergence of Drupal; Growing up in Antwerp; Living in Boston; Shared love for tennis; Yet another flying start with the Commodore 64; The power of copy/paste; Writing code for his father's medical practice; Wonka Vm, Linux and Java; Juggling multiple careers particularly fatherhood; DrupalCons; The MTV saga; TEN7's decision to go Drupal; The move from Belgium to Boston; Circumventing the globe; Benevolent Dictators for Life; Creating thousands of roles out of one; Drupal's Values and Principles; Drupal as a force for good in the world; Drupal's future and Dries' role moving ahead
Categories: Drupal

iRolo.net: Using Lando with Multiple Databases

Planet Drupal - 2 January 2019 - 10:16am

A lot of my work over the last few years has been working on migrations between various versions of Drupal. That usually means that I need to configure a local Drupal development environment with more than one database. And although this is relatively easy to do with Lando, I often have to look up how I did it before. So, I figured I should write it down and share with everyone else at the same time.

.lando.yml

Adding a database to an existing Lando environment is as easy as adding a few lines to the .lando.yml file and restarting.

services:
  legacy:
    type: mysql

This will create a new container called legacy with a MySQL database in it. Out of the box, Lando supports many common types of DB servers, including: MySQL, MariaDB, MongoDB, MSSQL, and PostgreSQL.

Often, your .lando.yml file might already have configuration in it. If the services line already exists, just put the new configuration underneath with the correct indentation. You can see examples of more complex configuration files at any of the links in the previous paragraph.

settings.php

Now, you will need to tell Drupal about the new DB. To do this, go to the command line and type lando info. In the output, you should see something like this:

{
  ...
  "legacy": {
    "type": "mysql",
    "version": "5.7",
    "hostnames": [
      "legacy",
      "legacy.clientname.internal"
    ],
    "creds": {
      "user": "mysql",
      "password": "password",
      "database": "database"
    },
    "internal_connection": {
      "host": "legacy",
      "port": 3306
    },
    "external_connection": {
      "host": "localhost",
      "port": "not forwarded"
    },
    "urls": []
  }
}

With that information, you can add the new DB configuration to Drupal's settings.php file.

$databases['old_db']['default'] = array (
  'database' => 'database',
  'username' => 'mysql',
  'password' => 'password',
  'prefix' => '',
  'host' => 'legacy',
  'port' => '3306',
  'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
  'driver' => 'mysql',
);

Note that, by default the host name is going to correspond to the name of the service/container and will not necessarily be the same as the name of the database (or the name of the Drupal DB alias, for that matter). In other words, you should find the host and port values in Lando's internal_connection array. If, for some reason, you need to have a custom database name, credentials, port numbers or something else, you can refer to the links above.

Tags:
Categories: Drupal

Agaric Collective: Drupal 8 Content Migration Training at DrupalCon Seattle

Planet Drupal - 2 January 2019 - 9:41am
Drupal 8 Content Migration Training at DrupalCon Seattle 2019 January 02, Wednesday, at 11:41am Clayton Dewey Agaric is facilitating a full day training at DrupalCon Seattle to help you understand how to import content into your to Drupal 8 website. Read more
Categories: Drupal

5 Things to Know: The Cost to Build a Game - by Nate Smiley

Gamasutra.com Blogs - 2 January 2019 - 9:37am
Often the first question people ask when they have an idea for a game is, “How much is this going to cost?” Unfortunately, this is a difficult question to answer as game budgets can vary from $10,000 for a simple reskin to $400,000+ for full productio
Categories: Game Theory & Design

4 Ways my Gaming Habits Changed in 2018 - by Ben Weber

Gamasutra.com Blogs - 2 January 2019 - 9:33am
An alternative to a top games list for 2018.
Categories: Game Theory & Design

Pages

Subscribe to As If Productions aggregator