All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
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!
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.
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.
OlliOlli developer Roll7 is stepping away from support of the multiplayer game Laser League and handing it off to publisher 505 Games. ...
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. ...
H1Z1 developer Daybreak Games is ending support for the online survival game after circumstances led to the game being unsustainable. ...
OPTASY: 10 Drupal SEO Mistakes You Do Not Want to Make on Your Website: From Least to Most Harmful- Part 2
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...
Impromptu rock 'n' roll trip to Gamescom - the story of an indie studio looking for a publisher - by Gustav Dahl
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.
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.
- Download the Migrate Source CSV module and install it on your Drupal website. Use Composer to install all the required dependencies.
- Enable the module from Extend menu or Drush Command.
- 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:
COand 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’.
- Migration Tags: These are displayed as a description in migration UI.
- 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