Track file downloads

New Drupal Modules - 27 August 2018 - 10:54pm

Track File Downloads is a simple module for tracking downloads (or hits) of private files. It's a zero-configuration module, simply enable it and have any new files tracked instantly.

Tracking is done by a content entity that saves a reference to your file, every time the file url is hit, a counter on the Tracker entity is incremented and the last downloaded date is updated. Simple!

Categories: Drupal

User Interface for Composer

New Drupal Modules - 27 August 2018 - 2:11pm
Categories: Drupal

Recurring PayPal Donations

New Drupal Modules - 27 August 2018 - 2:04pm

Simple 8.x version of the Paypal Donations module.

Interface to configure donations to PayPal.

Provides a custom block, embedding a single AND/OR recurring form directing to PayPal's off-site donation page.

Categories: Drupal

Chocolate Lily: Managing Shared Configuration Part 1: Configuration Providers

Planet Drupal - 27 August 2018 - 1:15pm

At the Drutopia project, one of our big focuses has been improvements to configuration management in Drupal 8. In this series, I'll be covering our work to date along with related efforts and contributions.

Drutopia is a platform cooperative initiative, building out cooperatively owned and hosted Drupal distributions. In our 2016 white paper, we recognized that the Configuration Management Initiative (CMI) in Drupal 8 "produced a lot of improvements in configuration handling" while noting that these "mainly addressed the use case of 'staging' configuration from one version of a site to another, a site-building technique that lower budget sites often don’t have time or money for." We committed to focus on "the free software use case left out of Drupal core: reusable configuration that can be shared across multiple sites". For background, see Drupal 8 configuration management: what about small sites and distributions? and sections on Drupal 8, corporate influence, and the CMI in this interview.

There's a current initiative to improve configuration management in Drupal core. Dubbed "CMI 2.0", the effort comes out of a similar conclusion that limitations and missing use cases in configuration management are a major barrier to Drupal 8 adoption; see Angie Byron's post proposing the initiative.

In the past three years, we at Drutopia have contributed to a growing collection of Drupal plugins that together address some of the tricky problems involved in managing shared configuration. As well as in kind contributions by Chocolate Lily, some of our work was sponsored by Agaric and the National Institute for Children's Health Quality (NICHQ) to meet their needs for an in-house platform of community sites.

Just what do we mean by managing shared configuration?

Say I have a site built on a Drupal distribution that's for community organizing. I installed the site a month ago and got groups-related configuration such as a group type. Then I made some modifications of my own. I've just downloaded a new release of the distribution, including enhancements to the groups-related configuration. How can I update my site so that I have all the latest changes from the distribution--while still retaining any customizations I made? That's the key question we've tried to tackle.

A more abstract way of putting the problem is: how can we provide packages of shared configuration in a way that lets site administrators both customize their sites and merge in configuration updates?

This series will cover distinct aspects of the problem of managing shared configuration packages and, along the way, highlight specific solutions we at Drutopia have sketched in. Our efforts are very much works in progress. We're not sure we've even got all the problems right, let alone fully addressed them ;) But have we made progress? Yes, we have. By sharing it here, we hope to raise the profile of these problems and solutions and invite further perspectives and contributions.

Categories: Drupal


New Drupal Modules - 27 August 2018 - 12:19pm
Categories: Drupal

Publisher 505 Games takes over support of Roll7's Laser League

Social/Online Games - Gamasutra - 27 August 2018 - 11:56am

OlliOlli developer Roll7 is stepping away from support of the multiplayer game Laser League and handing it off to publisher 505 Games. ...

Categories: Game Theory & Design

Google spots security vulnerability in Epic-hosted Fortnite Android installer

Social/Online Games - Gamasutra - 27 August 2018 - 11:18am

Google flagged a significant security vulnerability in the Fortnite Android installer released earlier this month, though the issue has since been fixed in the current version of the installer. ...

Categories: Game Theory & Design

Oktatas demo

New Drupal Modules - 27 August 2018 - 10:51am


Categories: Drupal


New Drupal Modules - 27 August 2018 - 10:50am

test module

Categories: Drupal

Daybreak Games closing down Just Survive servers in October

Social/Online Games - Gamasutra - 27 August 2018 - 9:42am

H1Z1 developer Daybreak Games is ending support for the online survival game after circumstances led to the game being unsustainable. ...

Categories: Game Theory & Design

OPTASY: 10 Drupal SEO Mistakes You Do Not Want to Make on Your Website: From Least to Most Harmful- Part 2

Planet Drupal - 27 August 2018 - 8:33am
10 Drupal SEO Mistakes You Do Not Want to Make on Your Website: From Least to Most Harmful- Part 2 adriana.cacoveanu Mon, 08/27/2018 - 15:33

You've put so much effort into crafting and polishing the content on your Drupal website and it just won't... rank? Why is it that search engines' web crawlers won't index its “juicy” content? Why they won't give your site a big push right to first-position rankings? As it clearly deserves... Could it be because you're making these 10 Drupal SEO mistakes

Knowingly or just recklessly...

Categories: Drupal

Entity Graph tools

New Drupal Modules - 27 August 2018 - 7:24am
Categories: Drupal

Making Game Accessibility Sexier - by Michael Heron Blogs - 27 August 2018 - 6:57am
Accessibility, game accessibility included, has an image problem, and it’s perhaps the biggest barrier to progress that hasn’t been seriously confronted by those of us working within the field.   This post asks the question - 'how do we fix that?'
Categories: Game Theory & Design

Impromptu rock 'n' roll trip to Gamescom - the story of an indie studio looking for a publisher - by Gustav Dahl Blogs - 27 August 2018 - 6:56am
This is the story of how we made an impulse decision to travel to Gamescom with the intention of finding a publisher for our game. It's about utilizing your network, having a clear pitch and nice trailer ... and being bold and taking risks!
Categories: Game Theory & Design

Play With Intent - by Gregory Pellechi Blogs - 27 August 2018 - 6:55am
Everyone when they play has an intent, whether they know what it is or not. The same is true of games designers and writers. To be effect as a designer or writer requires examining those intents and the impacts they have on others.
Categories: Game Theory & Design

Thoughts on Romance in System-Driven Games - by Nikhil Murthy Blogs - 27 August 2018 - 6:43am
Assorted thoughts on approaches to representing romance in system-driven games.
Categories: Game Theory & Design

Character Physics with Inverse Dynamics - by Luis Bermudez Blogs - 27 August 2018 - 6:43am
How do you build character physics? One way is with Inverse Dynamics -- similar to IK (Inverse Kinematics). What is Inverse Dynamics? What are the uses of Inverse Dynamics?
Categories: Game Theory & Design

Make games and stay afloat: game marketing 101. - by Patryk Grzeszczuk Blogs - 27 August 2018 - 6:42am
As if creating a game wasn’t challenging enough on its own, nowadays to survive, one has to cope with PR, marketing & analytics among the other things. With limited resources, it is all about simple yet effective basics. Let's name them.
Categories: Game Theory & Design

Specbee: How To Improve Your Development Workflow - An Approach For Better Efficiency

Planet Drupal - 27 August 2018 - 5:59am

How can developers improve the quality of Development by saving time and effort? In this blog, we discuss about the advantages of efficiently using git and by setting the local environment with Lando or Docker instead of the traditional way.

Categories: Drupal

OpenSense Labs: HowTo: Migrate Content from a CSV file to Drupal 8

Planet Drupal - 27 August 2018 - 5:51am
HowTo: Migrate Content from a CSV file to Drupal 8 Gaurav Mon, 08/27/2018 - 18:21

Upgrading involves shifting lots of files and content from one site to another. Although there are a number of modules to help you migrate to and in Drupal, the process can turn out to be messy. 

Migration of content can have various meanings and the scope of file formats - JSON, CSV, spreadsheet or text files - is also important.

In this article, I am going to demonstrate the migration of taxonomy terms using CSV files to Drupal 8. Thanks to Drupal’s entity-based system, the process of migration is more or less similar for all kinds of entities. Once you master the migration process, you can easily migrate nodes, users, vocabularies and custom entity data.

You can use various modules for migration to Drupal 8

Drupal 8 core provides the Migrate and Migrate Drupal modules which are useful when migrating from Drupal 6/7 to Drupal 8. In other cases, we have to use contributed modules. Install Migrate Plus which provides a powerful API for data migration from CSV and spreadsheets and is one of the foremost dependencies.

We will take a sample use case of the States list where our taxonomy terms will be the States' list. Let's get started.

Read Upgrade to Drupal 8 | Complete Migration Guide

  • Download the Migrate Source CSV module and install it on your Drupal website. Use Composer to install all the required dependencies.
composer require ‘drupal/migrate_source_csv:^2.2’
  • Enable the module from Extend menu or Drush Command. 
$ drush en migrate_tools $ drush en migrate_source_csv
  • In this example, I am going to migrate the USA States data. I have already created a vocabulary as ‘States’ with fields Name (Default Field in Taxonomy) and State Code (the abbreviation).
  • Prepare a CSV file with Headers containing Fields Name and also add an ID field which will act as a unique identifier and can also be later used in migration in case States vocabulary is used by a reference field. Here is the CSV which I have prepared:



















    and so on.
  • Next and the most important step is to write a migration plugin which is a .yml file describing the mapping between data in CSV and Drupal Fields. 

    Here is the migration plugin which I wrote: id: state_data class: null field_plugin_method: null cck_plugin_method: null migration_tags: - 'USA States' migration_group: default label: 'State migration from CSV' source: plugin: csv path: 'public://USAStates.csv' header_row_count: 1 keys: - id column_names: - id: id - title: state - abbreviation: abbreviation process: name: title field_abbreviation: abbreviation destination: plugin: 'entity:taxonomy_term' default_bundle: state migration_dependencies: null I have provided a Migration ‘id’, ‘class’, ‘field_plugin_method’, ‘cck_plugin_method’. ID acts as a unique identifier for the migration process. Rest of keys mentioned above aren’t needed in this migration.

    Other keys and their importance:
    • Migration Tags: These are displayed as a description in migration UI.
    • Migration Group: It is an important field in case you have various migration processes. I have used the default group for this migration.
    • Label: It is also a description field for the migration displayed in Migration UI.
    • Source: It is the important key and we provide type of plugin i.e CSV in our case, path of our CSV file, Header Row Count so that migration API is able to distinguish between Data and Labels, Key i.e the unique identifier in CSV file.

      Next, we have a mapping of columns in CSV with temporary identifiers which are used in process key. Process key defines mapping with Drupal field and a temporary identifier in format (Drupal Field: Temporary Identifier).
    • Destination: This key is used to provide the target entity and bundle if any. Since we are migrating terms data so I have used ‘taxonomy_term’ and bundle ‘state’.
  • Once you have created the plugin, it is time to inform the system about. Migration plugin can be imported via Single Config Import menu (/admin/config/development/configuration/single/import). Paste your plugin with config type ‘Migration’ and press import.
  • Once you have imported the migration plugin you can run the migration process via UI or drush command.

    UI: Go to /admin/structure/migrate and under the list migration menu, you can execute the migration process for the respective migration type.

    Drush: Enter the drush command ‘drush mi state_data’ where state_data is the unique ID of the state's migration.

  • Once the migration process is complete all the Terms are created and the abbreviation field is populated as well.

  • You can rollback, resume and stop migration from Migration UI as well in case something goes wrong or you have some extra data to migrate later on. 

  • In case you have to do any changes in Plugin after importing it, you will first have to export its config file from (admin/config/development/configuration/single/export) and then import it again. 

    And it is done!

That is how you can migrate content from a CSV file to Drupal 8. Drop a comment below in case of a query. 

blog banner blog image Blog Type Tech Is it a good read ? On
Categories: Drupal


Subscribe to As If Productions aggregator