<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>drupal 8</title><description/><link>https://kevinquillen.com</link><language>en</language><item><title>Come see our session at Drupalcon 2021!</title><link>https://kevinquillen.com/come-see-our-session-drupalcon-2021</link><guid isPermaLink="false">350 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Come see our session at Drupalcon 2021!&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;Drupalcon 2021 is in a few weeks. Be sure to come see our talk &quot;&lt;a href=&quot;https://events.drupal.org/northamerica2021/sessions/migrating-20-year-old-perl-application-drupal&quot;&gt;Migrating a 20 Year Old Perl Application to Drupal&lt;/a&gt;&quot;.&amp;nbsp;This talk will be useful for organizations and folks who may feel like they can&apos;t &quot;get off the island&quot; with their tech stack and want to grow into a modern foundation like Drupal.&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2021-04-04T01:14:33+00:00&quot;&gt;&lt;time datetime=&quot;2021-04-03T21:14:33-04:00&quot; title=&quot;Saturday, April 3, 2021 - 21:14&quot;&gt;April 3rd, 2021&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Sun, 04 Apr 2021 01:14:33 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Creating a Custom Token in Drupal 8</title><link>https://kevinquillen.com/creating-custom-token-drupal-8</link><guid isPermaLink="false">325 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Creating a Custom Token in Drupal 8&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;Tokens represent an inline&amp;nbsp;replacement&amp;nbsp;when evaluating or rendering text. In Drupal, the Token module goes all the way back to Drupal 4.x and &lt;a href=&quot;https://www.drupal.org/project/token&quot;&gt;still exists today for Drupal 8&lt;/a&gt; (and soon, Drupal 9).&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2020-02-03T19:22:24+00:00&quot;&gt;&lt;time datetime=&quot;2020-02-03T14:22:24-05:00&quot; title=&quot;Monday, February 3, 2020 - 14:22&quot;&gt;February 3rd, 2020&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Mon, 03 Feb 2020 19:22:24 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>How to wire ReactJS app to a Drupal 8 controller</title><link>https://kevinquillen.com/how-wire-reactjs-app-drupal-8-controller</link><guid isPermaLink="false">320 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;How to wire ReactJS app to a Drupal 8 controller&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;On most of the projects I work on these days, I typically have requirements at a certain point where data from the application has to meet ReactJS in the frontend at the theme layer.&lt;/p&gt;

&lt;p&gt;We have a very good system in place for working with the theme layer, the backend, and frontend components powered by ReactJS. One example of this is a site search. At its basic level, a site search is comprised of a single text input field (typically a fulltext search field), one or more facets (taxonomy, search modifiers), and a sidebar of promotional content or &apos;best bet&apos; style result.&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2019-07-18T13:00:00+00:00&quot;&gt;&lt;time datetime=&quot;2019-07-18T09:00:00-04:00&quot; title=&quot;Thursday, July 18, 2019 - 09:00&quot;&gt;July 18th, 2019&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Thu, 18 Jul 2019 13:00:00 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Adding functionality to contributed Drupal modules with ThirdPartySettings API</title><link>https://kevinquillen.com/adding-functionality-contributed-drupal-modules-thirdpartysettings-api</link><guid isPermaLink="false">318 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Adding functionality to contributed Drupal modules with ThirdPartySettings API&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;In &lt;a href=&quot;https://kevinquillen.com/using-thirdpartysettings-api-drupal&quot;&gt;an earlier post&lt;/a&gt; I demonstrated how to add some extra functionality on a node type in Drupal 8 via the ThirdPartySettings API. Its use is not just limited to core configuration types - it works for most (if not all) configuration entities. That means that any contributed module that provides a configuration entity can have additional configuration provided by you to solve certain needs.&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2019-07-16T13:00:00+00:00&quot;&gt;&lt;time datetime=&quot;2019-07-16T09:00:00-04:00&quot; title=&quot;Tuesday, July 16, 2019 - 09:00&quot;&gt;July 16th, 2019&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Tue, 16 Jul 2019 13:00:00 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Creating a custom process plugin for Drupal 8 Migrate</title><link>https://kevinquillen.com/creating-custom-process-plugin-drupal-8-migrate</link><guid isPermaLink="false">316 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Creating a custom process plugin for Drupal 8 Migrate&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;I&apos;ve done a lot of migrations in Drupal 5, 6, and 7. Migrating into 5 and 6 was pretty rough. Version 5 basically required raw script power and chunked looping. 6 did as well. By the time I had to do migrations for projects again, I was well into developing projects in Drupal 7.&amp;nbsp;&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2019-06-29T00:05:26+00:00&quot;&gt;&lt;time datetime=&quot;2019-06-28T20:05:26-04:00&quot; title=&quot;Friday, June 28, 2019 - 20:05&quot;&gt;June 28th, 2019&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Sat, 29 Jun 2019 00:05:26 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Using the ThirdPartySettings API in Drupal</title><link>https://kevinquillen.com/using-thirdpartysettings-api-drupal</link><guid isPermaLink="false">315 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Using the ThirdPartySettings API in Drupal&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;The &lt;a href=&quot;https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Config!Entity!ThirdPartySettingsInterface.php/interface/ThirdPartySettingsInterface/8.2.x&quot;&gt;ThirdPartySettings API&lt;/a&gt; in Drupal 8 is a useful way to store extra configuration or information to a configuration entity. This allows you to attach your extra configuration on and make it available on the entity from anywhere in code.&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2019-06-25T22:22:41+00:00&quot;&gt;&lt;time datetime=&quot;2019-06-25T18:22:41-04:00&quot; title=&quot;Tuesday, June 25, 2019 - 18:22&quot;&gt;June 25th, 2019&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Tue, 25 Jun 2019 22:22:41 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Dynamic Permission Creation in Drupal 8</title><link>https://kevinquillen.com/dynamic-permission-creation-drupal-8</link><guid isPermaLink="false">294 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Dynamic Permission Creation in Drupal 8&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;In recent conversion efforts of &lt;a href=&quot;https://drupal.org/project/custom_pub&quot;&gt;Custom Publishing Options&lt;/a&gt; and &lt;a href=&quot;https://drupal.org/project/tvi&quot;&gt;Taxonomy Views Integrator&lt;/a&gt;, I had to replicate the permission assignments from Drupal 7 to Drupal 8. hook_permission() has been removed from Drupal 8. Instead, you have to create a
mymodule.permissions.yml and define them there, like so (from node.permissions.yml):&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2016-02-21T12:30:00+00:00&quot;&gt;&lt;time datetime=&quot;2016-02-21T07:30:00-05:00&quot; title=&quot;Sunday, February 21, 2016 - 07:30&quot;&gt;February 21st, 2016&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Sun, 21 Feb 2016 12:30:00 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Adding External Libraries to Drupal 8</title><link>https://kevinquillen.com/adding-external-libraries-drupal-8</link><guid isPermaLink="false">295 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Adding External Libraries to Drupal 8&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;When developing modules for Drupal, there inevitably comes a time when you may need to include an external CSS or Javascript plugin or library for your project.&lt;/p&gt;

&lt;p&gt;Up through Drupal 7, this was fairly easy to do by leveraging the &lt;a href=&quot;https://www.drupal.org/project/libraries&quot; target=&quot;_parent&quot; title=&quot;Drupal Libraries module&quot;&gt;Libraries API module&lt;/a&gt; to define and manage dependencies. However, the 8.x version is not complete yet - but there is an easy way to carry on until a solution exists.&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2016-01-30T10:30:00+00:00&quot;&gt;&lt;time datetime=&quot;2016-01-30T05:30:00-05:00&quot; title=&quot;Saturday, January 30, 2016 - 05:30&quot;&gt;January 30th, 2016&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Sat, 30 Jan 2016 10:30:00 GMT</pubDate><dc:creator>Kevin</dc:creator></item></channel></rss>