<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xml:base="https://swsblog.stanford.edu/taxonomy/term/213/all" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:og="http://ogp.me/ns#" xmlns:article="http://ogp.me/ns/article#" xmlns:book="http://ogp.me/ns/book#" xmlns:profile="http://ogp.me/ns/profile#" xmlns:video="http://ogp.me/ns/video#" xmlns:product="http://ogp.me/ns/product#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
  <channel>
    <title>Drupal Planet</title>
    <link>https://swsblog.stanford.edu/taxonomy/term/213/all</link>
    <description></description>
    <language>en</language>
     <atom:link href="https://swsblog.stanford.edu/taxonomy/term/213/all/feed" rel="self" type="application/rss+xml" />
      <item>
    <title>Welcome to Stanford Drupal Camp 2018!</title>
    <link>https://swsblog.stanford.edu/blog/welcome-stanford-drupal-camp-2018</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;&lt;span&gt;Stanford Drupal Camp 2018 is already upon us!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The ninth annual Stanford Drupal Camp will be hosted at the &lt;span&gt; &lt;/span&gt;&lt;a href=&quot;https://drupalcamp.stanford.edu/location&quot;&gt;Stanford Law School&lt;/a&gt; on April 6-7, 2018.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://drupalcamp.stanford.edu&quot;&gt;https://drupalcamp.stanford.edu/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Thu, 05 Apr 2018 22:41:05 +0000</pubDate>
 <dc:creator>Sara Worrell Berg</dc:creator>
 <guid isPermaLink="false">746 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>Altering Custom Elements in Forms</title>
    <link>https://swsblog.stanford.edu/blog/altering-custom-elements-forms</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;&lt;span&gt;&lt;a href=&quot;https://www.drupal.org/&quot; rel=&quot;nofollow&quot;&gt;Drupal&lt;/a&gt; provides a powerful framework for creating custom elements for use in forms. One example of a custom element is the &lt;/span&gt;&lt;a href=&quot;https://www.drupal.org/project/link&quot; rel=&quot;nofollow&quot;&gt;Link&lt;/a&gt;&lt;span&gt; field. Suppose you want to change the default label on a Link field to read &quot;Link text.&quot; How do you alter it?&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Mon, 23 Oct 2017 20:46:13 +0000</pubDate>
 <dc:creator>Caryl J Westerberg</dc:creator>
 <guid isPermaLink="false">729 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>Lessons Learned from 2+ Years of Using Behat</title>
    <link>https://swsblog.stanford.edu/blog/lessons-learned-2-years-using-behat</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;At the 2017 Stanford Drupal Camp, I facilitated a conversation about &lt;a href=&quot;drupalcamp.stanford.edu/lessons-learned-2-years-using-behat&quot;&gt;&quot;Lessons Learned from 2+ Years Using Behat&quot;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/UnnBk28FRPE&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Sun, 12 Mar 2017 17:39:50 +0000</pubDate>
 <dc:creator>John Bickar</dc:creator>
 <guid isPermaLink="false">696 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>Git: Find the First Tag Containing a Specified Keyword</title>
    <link>https://swsblog.stanford.edu/blog/git-find-first-tag-containing-specified-keyword</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;Today&#039;s post is a quick tutorial how to use &quot;git grep&quot; and &quot;git tag&quot; to find the earliest tag that contains a particular line of code.&lt;/p&gt;
&lt;p&gt;TL;DR: use:&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;text geshifilter-text&quot;&gt;git grep &amp;lt;regexp&amp;gt; $(git rev-list --all)&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;text geshifilter-text&quot;&gt;git tag --contains=&amp;lt;commit hash&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Wed, 07 Sep 2016 15:00:00 +0000</pubDate>
 <dc:creator>John Bickar</dc:creator>
 <guid isPermaLink="false">672 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>DrupalCon 2016: Caryl’s Highlights</title>
    <link>https://swsblog.stanford.edu/blog/drupalcon-2016-caryl%E2%80%99s-highlights</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;DrupalCon (Drupal Conference) 2016 marked the 3rd DrupalCon that I attended. With Drupal 8 released, I felt it was time to go to the conference and kick the tires.&lt;/p&gt;
&lt;p&gt;Held in historic New Orleans, I not only learned more about Drupal 8, but I learned about the beignets, cemeteries, and handgrenades. But that’s for another story.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Tue, 31 May 2016 23:54:52 +0000</pubDate>
 <dc:creator>Caryl J Westerberg</dc:creator>
 <guid isPermaLink="false">650 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>A Simply Awesome Markup Language</title>
    <link>https://swsblog.stanford.edu/blog/simply-awesome-markup-language</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;The modern web developer has a variety of markup languages available for use in different contexts: XML, HTML, YAML, Markdown - the list goes on and on. Yet each has its limitation(s), whether that be performance, readability, or ease-of-use.&lt;/p&gt;
&lt;p class=&quot;summary&quot;&gt;That all changes today with the introduction of the Syntactically Accurate Markup Language (SAML).&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Fri, 01 Apr 2016 07:01:00 +0000</pubDate>
 <dc:creator>John Bickar</dc:creator>
 <guid isPermaLink="false">638 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>Announcing Stanford Drupal Camp 2016!</title>
    <link>https://swsblog.stanford.edu/blog/announcing-stanford-drupal-camp-2016</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;&lt;span&gt;We are excited to announce that registration and session proposals are now open for Stanford Drupal Camp 2016!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Register now for the seventh Annual Stanford Drupal Camp April 1-2, 2016 at the &lt;a href=&quot;https://drupalcamp.stanford.edu/location&quot;&gt;Stanford Law School&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://drupalcamp.stanford.edu/user/register&quot;&gt;https://drupalcamp.stanford.edu/user/register&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Fri, 04 Mar 2016 23:55:15 +0000</pubDate>
 <dc:creator>Caryl J Westerberg</dc:creator>
 <guid isPermaLink="false">634 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>Drupal 8 REST Requests</title>
    <link>https://swsblog.stanford.edu/blog/drupal-8-rest-requests</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;In November, 2015, the Stanford Web Services team got to dive into Drupal 8 during a weeklong sprint. I was excited to look at the RESTful web services that Drupal 8 gives out-of-the-box; what follows is my documentation of the various types of requests supported, required headers, responses, and response codes.&lt;/p&gt;
&lt;p&gt;This is not intended to be an exhaustive documentation of RESTful web services in Drupal 8. However, I have pulled information from various posts around the Web, and my own experimentation, into this post.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Tue, 02 Feb 2016 16:25:12 +0000</pubDate>
 <dc:creator>John Bickar</dc:creator>
 <guid isPermaLink="false">613 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>Drupal 8 - A Festivus for the REST of Us</title>
    <link>https://swsblog.stanford.edu/blog/drupal-8-festivus-rest-us</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;The development team was recently given the opportunity to stand up a Drupal 8 REST server with the intent of improving on our D7 content server, learning what&#039;s new with the framework and seeing how our content types would fit into the revised architecture. Having just attended BADcamp at UC Berkeley, we were excited to use Drupal 8 and its new special sauce (yml, composer, console, bigpipe, twig, etc).&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Tue, 17 Nov 2015 16:05:00 +0000</pubDate>
 <dc:creator>Greg Garvey</dc:creator>
 <guid isPermaLink="false">621 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>Drush &quot;user-list&quot; Command</title>
    <link>https://swsblog.stanford.edu/blog/drush-user-list-command</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;A simple task: list all the users on a site, optionally filtering by role or by status. Difficulty: using &lt;a href=&quot;http://drush.org&quot;&gt;drush&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I had searched around a bit for this functionality and my Google-fu had failed me, so I decided to build off of &lt;a href=&quot;https://www.drupal.org/node/1199080&quot;&gt;work that already had been done&lt;/a&gt; and write a drush user-list command. (The internal monologue went something like this: &quot;Is this a thing? It doesn&#039;t look like this is a thing. This should be a thing. Why is this not a thing? Let&#039;s make this a thing.&quot;)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Fri, 26 Jun 2015 16:05:02 +0000</pubDate>
 <dc:creator>John Bickar</dc:creator>
 <guid isPermaLink="false">585 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>Behat Custom Step Definition: Wait for Batch API to Finish </title>
    <link>https://swsblog.stanford.edu/blog/behat-custom-step-definition-wait-batch-api-finish</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;If you&#039;re using &lt;a href=&quot;http://behat.readthedocs.org/en/v2.5/quick_intro.html&quot;&gt;Behat&lt;/a&gt; and the &lt;a href=&quot;https://www.drupal.org/project/drupalextension&quot;&gt;Drupal Extension&lt;/a&gt;, you might find the following code snippet helpful if you want to add a step to wait for batch jobs to finish.&lt;/p&gt;
&lt;p&gt;If one of your Behat scenarios kicks off a batch job (e.g., a Feeds import), and you want to wait for that batch job to finish before moving on to the next step, add this step definition in your FeatureContext.php file:&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Fri, 13 Feb 2015 22:00:00 +0000</pubDate>
 <dc:creator>John Bickar</dc:creator>
 <guid isPermaLink="false">507 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>Adaptive Architecture: Leave Room to Evolve</title>
    <link>https://swsblog.stanford.edu/blog/adaptive-architecture-leave-room-evolve</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;lead&quot;&gt;All forward-thinking technologies share one attribute: the original designers intentionally build in opportunities for future users to innovate. It requires humility and a belief in the creativity of others. This is true for buildings, computers, networks, and other tools.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Fri, 12 Dec 2014 14:55:45 +0000</pubDate>
 <dc:creator>Zach Chandler</dc:creator>
 <guid isPermaLink="false">489 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>Doing more with the editor, Part 1, adding CSS styles</title>
    <link>https://swsblog.stanford.edu/blog/doing-more-editor-part-1-adding-css-styles</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;&lt;span&gt;Have you ever wanted to put a border on an image or highlight a link for more information in a text field? It is possible to configure the &lt;/span&gt;&lt;span&gt; Styles dropdown menu in your &lt;/span&gt;&lt;span&gt;WYSIWYG editor to allow you to add styles to the content in a text field. &lt;/span&gt;&lt;span&gt;If you don&#039;t know how to configure your Styles dropdown, here&#039;s how you can add multiple classes to an element using the HTML editor pane of the WYSIWYG.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Disable the WYSIWYG&lt;/h2&gt;
&lt;p&gt;To edit the HTML in a text area:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;
		&lt;p&gt;Navigate to the page you&#039;d like to edit&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Fri, 21 Nov 2014 16:18:11 +0000</pubDate>
 <dc:creator>Caryl J Westerberg</dc:creator>
 <guid isPermaLink="false">293 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>Module of the Day: Stanford MetaTag NoBots - Hide your site from search engines!</title>
    <link>https://swsblog.stanford.edu/blog/module-day-stanford-metatag-nobots-hide-your-site-search-engines</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;When we launch a site at Stanford Web Services, we open the doors and roll out the red carpet for the search engines to index the site. However, before launch we like to keep the content under wraps and ask the search engines not to index the site. To do this, we use a module called Stanford MetaTag NoBots.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Mon, 13 Oct 2014 16:00:47 +0000</pubDate>
 <dc:creator>Caryl J Westerberg</dc:creator>
 <guid isPermaLink="false">427 at https://swsblog.stanford.edu</guid>
  </item>
  <item>
    <title>How I learned the hard way to create reusable classes</title>
    <link>https://swsblog.stanford.edu/blog/how-i-learned-hard-way-create-reusable-classes</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p class=&quot;summary&quot;&gt;Drupal is (in)famous for providing an egregious amount of class selectors to target every layer imaginable in its rendered HTML. Some superstar culprits are Field Collections, Field Groups, and complex Views. When we see so many handy, available selector classes, it&#039;s so tempting just to target them directly in your CSS. But today, I want to share a lesson I learned the hard way about why you&#039;ve just gotta resist that temptation, and instead create reusable classes.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Tue, 12 Aug 2014 16:00:43 +0000</pubDate>
 <dc:creator>Megan Erin Miller</dc:creator>
 <guid isPermaLink="false">437 at https://swsblog.stanford.edu</guid>
  </item>
  </channel>
</rss>
