Appnovation Technologies: Simple Website Approach Using a Headless CMS: Part 1

Planet Drupal - 6 February 2019 - 12:00am
Simple Website Approach Using a Headless CMS: Part 1 I strongly believe that the path for innovation requires a mix of experimentation, sweat, and failure. Without experimenting with new solutions, new technologies, new tools, we are limiting our ability to improve, arresting our potential to be better, to be faster, and sadly ensuring that we stay rooted in systems, processes and...
Categories: Drupal

erdfisch: Drupalcon mentored core sprint - part 2 - your experience as a sprinter

Planet Drupal - 12 May 2018 - 2:00am
Drupalcon mentored core sprint - part 2 - your experience as a sprinter 12.05.2018 Michael Lenahan Body:  Drupalcon mentored core sprint - part 2 - your experience as a sprinter

Hello! You've arrived at part 2 of a series of 3 blog posts about the Mentored Core Sprint, which traditionally takes place every Friday at Drupalcon.

If you haven't already, please go back and read part 1.

You may think sprinting is not for you ...

So, you may be the kind of person who usually stays away from the Sprint Room at Drupal events. We understand. You would like to find something to work on, but when you step in the room, you get the feeling you're interrupting something really important that you don't understand.

It's okay. We've all been there.

That's why the Drupal Community invented the Mentored Core Sprint. If you stay for this sprint day, you will be among friends. You can ask any question you like. The venue is packed with people who want to make it a useful experience for you.

Come as you are

All you need in order to take part in the first-time mentored sprint are two things:

  • Your self, a human who is interested in Drupal
  • Your laptop

To get productive, your laptop needs a local installation of Drupal. Don't have one yet? Well, it's your lucky day because you can your Windows or Mac laptop set up at the first-time setup workshop!

Need a local Drupal installation? Come to the first-time setup workshop

After about half an hour, your laptop is now ready, and you can go to the sprint room to work on Drupal Core issues ...

You do not need to be a coder ...

You do not need to be a coder to work on Drupal Core. Let's say, you're a project manager. You have skills in clarifying issues, deciding what needs to be done next, managing developers, and herding cats. You're great at taking large problems and breaking them down into smaller problems that designers or developers can solve. This is what you do all day when you're at work.

Well, that's also what happens here at the Major Issue Triage table!

But - you could just as easily join any other table, because your skills will be needed there, as well!

Never Drupal alone

At this sprint, no-one works on their own. You work collaboratively in a small group (maybe 3-4 people). So, if you don't have coding or design skills, you will have someone alongside you who does, just like at work.

Collaborating together, you will learn how the Drupal issue queue works. You will, most likely, not fix any large issues during the sprint.

Learn the process of contributing

Instead, you will learn the process of contributing to Drupal. You will learn how to use the issue queue so you can stay in touch with the friends you made today, so that you fix the issue over the coming weeks after Drupalcon.

It's never too late

Even if you've been in the Drupal community for over a decade, just come along. Jump in. You'll enjoy it.

A very welcoming place to start contributing is to work on Drupal documentation. This is how I made my first contribution, at Drupalcon London in 2011. In Vienna, this table was mentored by Amber Matz from Drupalize.Me.

This is one of the most experienced mentors, Valery Lourie (valthebald). We'll meet him again in part 3, when we come to the Drupalcon Vienna live commit.

Here's Dries. He comes along and walks around, no one takes any notice because they are too engaged and too busy. And so he gets to talk to people without being interrupted.

This is what Drupal is about. It's not about the code. It's about the people.

Next time. Just come. As a sprinter or a mentor. EVERYONE is welcome, we mean that.

This is a three-part blog post series:
Part one is here
You've just finished reading part two
Part three is coming soon

Credit to Amazee Labs and Roy Segall for use of photos from the Drupalcon Vienna flickr stream, made available under the CC BY-NC-SA 2.0 licence.

Schlagworte/Tags:  planet drupal-planet drupalcon mentoring code sprint Ihr Name Kommentar/Comment Kommentar hinzufügen/Add comment Leave this field blank
Categories: Drupal

KnackForge: How to update Drupal 8 core?

Planet Drupal - 0 sec ago
How to update Drupal 8 core?

Let's see how to update your Drupal site between 8.x.x minor and patch versions. For example, from 8.1.2 to 8.1.3, or from 8.3.5 to 8.4.0. I hope this will help you.

  • If you are upgrading to Drupal version x.y.z

           x -> is known as the major version number

           y -> is known as the minor version number

           z -> is known as the patch version number.

Sat, 03/24/2018 - 10:31
Categories: Drupal

Dagon’s Bones Dice Game Up On Kickstarter

Tabletop Gaming News - 22 March 2018 - 3:00pm
In the bars and taverns in Innsmouth, a strange game is played. Special dice are rolled with intricate symbols carved on them. Players bet, collect, and steal coins from one-another and from the ancient gods, themselves. It’s a risky game, but when you’re already resigned to turning into a fish monster, why not roll? Dagon’s […]
Categories: Game Theory & Design

Legacy: Life Among the Ruins 2nd Edition Now Available From Modiphius

Tabletop Gaming News - 22 March 2018 - 2:00pm
Well, the world’s come to an end again. Damnit, Todd! I told you that starting a nuclear war was a bad idea! Now we’ve gotta go out from the shelters and rebuild society. But we’re not the only ones headed into that wasteland. Other groups are making their way to the surface as well. We’ll […]
Categories: Game Theory & Design

Workhouse Games Launches The Awful Orphanage Kickstarter

Tabletop Gaming News - 22 March 2018 - 1:00pm
The life of an orphan is already pretty rough. But to get put away at Ms. Pendergast’s orphanage is just that much worse. But enough is enough. It’s time to bust out of this gruesome place. The orphans have decided to make a break for it, and get some revenge along the way. That’s what […]
Categories: Game Theory & Design

Crownfall: War of the Crown 1 Pathfinder Adventure Available To Order On Roll20

Tabletop Gaming News - 22 March 2018 - 12:00pm
Roll20’s a great way to get people from literally all over the world all gaming at the same table (virtual table, that is). It’s like being together, playing your favorite RPGs with your friends, but on your computer. And they’re happy to announce that their first ever Pathfinder adventure is now available to order over […]
Categories: Game Theory & Design

Thursday Terrain Corner

Tabletop Gaming News - 22 March 2018 - 11:00am
Hello, Saturday Eve Eve. At least, that’s what I think of when I think of Thursday. I also start thinking about what I’m going to do over the weekend. Not long ago, I base-coated my Hunter’s Guild. They might just end up with some more colors besides flat black on them. Also, gonna try making […]
Categories: Game Theory & Design

Star Wars: Legion Now Available

Tabletop Gaming News - 22 March 2018 - 10:27am
Well, go out and get ’em. The new sci-fi miniatures game from Fantasy Flight is available. You can pick up your Star Wars: Legion sets now. Take on the Imperials or Rebels with squads of troops, iconic vehicles, and Luke and Vader. It’s not just the base game, either. They’ve got the Core Set, individual […]
Categories: Game Theory & Design

Fantasy Flight Previews Magic in Realms of Terrinoth

Tabletop Gaming News - 22 March 2018 - 10:00am
Realms of Terrinoth is the upcoming setting book for the Genesys RPG system. It takes players down into the same world as Runewars and Runebound. It’s a mythical land filled with all manner of magical creatures, items, and powers. But how do those work within the setting? In this preview, we get a look at […]
Categories: Game Theory & Design


New Drupal Modules - 22 March 2018 - 9:08am

iZooto Integration for Web Push Notifications

Categories: Drupal

Warlord Games Hopping Into Easter Sale

Tabletop Gaming News - 22 March 2018 - 9:00am
We’re about a week and a half from Easter. And the Easter Bunny is going to be leaving baskets filled with goodies for people. If you want your Easter basket to be filled with minis, you might just want to check out Warlord Games’ Easter Sale that’s going on now. From the announcement: Easter is […]
Categories: Game Theory & Design

Asmodee Posts New Preview For Carlton House and Queen’s Park Expansion for Sherlock Holmes Consulting Detective

Tabletop Gaming News - 22 March 2018 - 8:00am
A new expansion for Sherlock Holmes Consulting Detective is coming from Asmodee. This one’s called Carlton House and Queen’s Park. Now, obviously, a preview for a mystery is a touchy thing. You don’t want to give away too much. Though, this one seems like it gives it all away just in the title. But waddyagonnado? […]
Categories: Game Theory & Design

Auto Close Comments

New Drupal Modules - 22 March 2018 - 7:31am
Categories: Drupal

Jeff Geerling's Blog: Updating drupal/core with Composer - but Drupal core doesn't update

Planet Drupal - 22 March 2018 - 7:31am

For the past two minor release Drupal core upgrades, I've had major problems trying to get some of my Composer-based Drupal codebases upgraded. For both 8.3.x to 8.4.0, and now 8.4.x to 8.5.0, I've had the following issue:

  1. I have the version constraint for drupal/core set to ~8.0 or ~8.4 in my composer.json.
  2. I run composer update drupal/core --with-dependencies (as recommended in's Composer documentation).
  3. Composer does its thing.
  4. A few things get updated... but not drupal/core. It remains stubbornly on the previous minor release.

Looking around the web, it seems this is a very common problem, and a lot of people soon go for the nuclear (or thermonuclear1) option:

Categories: Drupal

Kung-Fu Zoo Now Available From WizKids

Tabletop Gaming News - 22 March 2018 - 7:00am
The animals in the zoo are up to something. They’re not content to just hang out in their cages all the time. No, they’ve been training and now it’s time to turn their cages into a cage match. That’s what’s going on in Kung-Fu Zoo, a new dice-flicking dexterity game from WizKids. You can pick […]
Categories: Game Theory & Design

Steamforged Previews Last Two Ratcatcher Minis’ Stats

Tabletop Gaming News - 22 March 2018 - 6:00am
The Ratcatcher’s Guild is the first Minor Guild to hit the pitch. They’ll be making their way to tabletops soon, but it’s best to know what you’ll be getting into. As such, there’s two final players to preview for them. One’s Miasma, the other is Squeak, their mascot. Because, yes, you get a giant rat […]
Categories: Game Theory & Design

Gnomecast #36 – GMing Difficult Decisions

Gnome Stew - 22 March 2018 - 5:34am

It’s an easy decision to listen to this podcast, but not all decisions are that easy! Join Ang, Phil, and Senda on this episode of the Gnomecast as they discuss Senda’s Gnome Stew article “Difficult Decisions in Your Game.”

Download here: Gnomecast #36 – GMing Difficult Decisions

Keep up with the Gnome Stew blog at, on Twitter at @gnomestew, or on the Gnome Stew Facebook page.

Catch Phil and Senda on their podcast Panda’s Talking Games! Or catch Phil on the Misdirected Mark Podcast and Senda on She’s a Super Geek.

Follow Ang on Twitter at @orikes13, or find her in the Misdirected Mark Google+ Community.

Follow Phil on Twitter at @DNAphil.

Follow Senda on Twitter at @IdellaMithlynnd.

Categories: Game Theory & Design

James Oakley: Drupal Security: Forewarned is Forearmed

Planet Drupal - 22 March 2018 - 2:54am

Yesterday, at 7.13pm, the Drupal Security Team issued a public service announcement: Drupal 7 and 8 core highly critical release on March 28th, 2018 PSA-2018-001.

This needs a bit of background to understand.

How Drupal Core Updates Normally Work

Updates to Drupal Core fall into one of new kinds.

Blog Category: Drupal Planet
Categories: Drupal

Deeson: How to create a custom field to use on an entity in Drupal 8

Planet Drupal - 22 March 2018 - 2:26am

On a recent project I wanted to be able to create a custom field which would automatically be added to certain types of entities. I thought that this would be a straightforward thing to do.

When I searched the internet for how to create custom fields I found plenty of documentation on and other blog posts about creating custom fields that you can add to any type of entity, but I couldn’t find out how to actually add the field directly to an entity (like the URL alias field).

Creating a custom field.

So first off, how do you create a custom field? documentation is a great place to start.

You need to create a FieldType plugin, a FieldFormatter plugin and a FieldWidget plugin in a custom module. Combined, these define your field, how it will be rendered when displayed, and what settings a user can set on it when adding it to an entity.

The directory structure of a module that implements all three looks like this:


  • src/
    • Plugin/
      • Field/
        • FieldType/
          • MyCustomFieldItem.php
        • FieldFormatter/
          • MyCustomFieldFormatter.php
        • FieldWidget/
          • MyCustomFieldWidget.php

I would recommend reading the documentation about these as there are some great examples as to how they can be defined.

Adding your field to an entity.

So having now defined your own field, you should be able to see if in the list of fields that you can add to an entity.

Great, you think, I've done it! Well, if all you wanted to do was to create a field that you could add to any type of entity if you choose to … then yes, that's all you need.

However, I wanted to automatically add my custom field to an entity when my module was enabled. This was because I wanted there to only be one instance of my field on an entity, so there was no need to be able to add it manually (a bit like the URL alias field).

Automatically adding your field to an entity. If you want to be able to add a field directly to an entity, you need to use hook_entity_base_field_info for this. For example: use Drupal\Core\Field\BaseFieldDefinition; /** * Implements hook_entity_base_field_info(). */ function my_module_entity_base_field_info(EntityTypeInterface $entity_type) { if ($entity_type->id() === 'taxonomy_term' || $entity_type->id() === 'node') { $fields['my_custom_field'] = BaseFieldDefinition::create('my_custom_field') ->setLabel(t('The custom field)) ->setDisplayConfigurable('form', TRUE) ->setDisplayConfigurable('view', TRUE); return $fields; } }

You'll notice in the above example that this uses the BaseFieldDefinition class to create a new base field only on taxonomy or node entities. More information on this hook and the BaseFieldDefinition class can be found in the documentation.

So now we can add our custom field to specific entity types - amazing! At this point I thought I'd cracked it. Having cleared my cache I checked my entity and there was my custom field with the widget showing as I'd expected. But when I came to save my entity, the save failed with this big exception:

Drupal\Component\Plugin\Exception\PluginNotFoundException: The “my_custom_field” plugin does not exist. In Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 52 of core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php)

Having had a play about to see what was causing this, it seemed that because I had specified to create a base field of ‘my_custom_field’, Drupal didn’t understand what this field was.

There are lots of defined field types already with Drupal but, as I'd created my own, Drupal didn’t know about it.

So I set about trying to understand how to define my own field type.

I got nowhere at first so I turned back to Drupal core and started delving into the base field definitions to try and understand how these have been defined.

What I found was that I need to create a DataType class which defines my custom field. This class needs to be located within the Plugin directory of your module, for example:


  • src/
    • Plugin/
      • DataType/
        • MyCustomField.php
The content of MyCustomField.php will then look something like this: namespace Drupal\my_custom_fields\Plugin\DataType; use Drupal\Core\TypedData\Plugin\DataType\StringData; use Drupal\Core\TypedData\Type\StringInterface; /** * The MyCustomField data type. * * The plain value of a MyCustomField for an entity. * * @DataType( * id = "my_custom_field", * label = @Translation("My Custom Field") * ) */ class MyCustomField extends StringData implements StringInterface { }

This new DataType class extends the StringData class as I am just storing a string. If you wanted to store a boolean or integer then you would need to extend the relevant DataType base class to make use of all the goodness that they set. If you want to override any of the methods on these classes then you can as normal.

So now Drupal understands what my base field of ‘my_custom_field’ is.

But wait - we're not quite finished yet… Although the entity will “save”, you will notice that no data is actually saved for my new field yet. This is because we haven’t defined the storage for it.

There are several ways in which you could handle this. You could define your own database table and then write to this as part of the preSave method on the FieldBase item.

The easier way is to define your own config entity which will add additional columns to your entity table to store your custom data against. To do this, you just need to create a schema.yml file in your module, for example:

  • my_custom_fields
    • config/
      • schema/
        • mycustomfields.schema.yml

The contents of this file just define your field:

# Schema for the configuration files of the MyCustomFields module. field.value.my_custom_field: type: mapping label: 'Default value' mapping: value: type: string label: 'MyCustomFields'

You'll need to disable your module and enable it again for the new config entity to used, but there you have it: a step by step guide to creating a custom field to use on an entity in Drupal 8.

Categories: Drupal


Subscribe to As If Productions aggregator