---
layout: default
title: Talks
meta:
  description: 'Information about previous and upcoming talks that Oliver has presented at conferences and user groups'
use: [talks]
talks:
  - title: 'Drupal and the LDAP module'
    description: A review and demonstration of some of the recent single sign-on work that I did using Drupal’s LDAP module.
    events:
      - event: swdug
        date: 2013-07-10

  - title: 'About the Drupal Association'
    description: An impromptu talk about what the Drupal Association is, and what work I’ve been doing since I joined the Association staff.
    events:
      - event: swdug
        date: 2014-08-19

  - title: 'Automated testing with Drupal 8 and PHPUnit'
    description: A workshop that I gave to teach others about automated testing in Drupal 8.
    type: Workshop
    events:
      - event: drupal_bristol
        date: 2018-06-27
---
{% block content %}
    <div class="spaced-y-10">
        <div class="spaced-y-4">
            <h2 class="font-bold">Upcoming Talks</h2>

            <div class="spaced-y-10">
                {% for talk in getUpcomingTalks(page.talks|merge(data.talks)) %}
                    {% include 'talks/talk' %}
                {% else %}
                    <p>Nothing scheduled at the moment.</p>
                {% endfor %}
            </div>
        </div>

        <div class="spaced-y-4">
            <h2 class="font-bold">Previous Talks</h2>

            <div class="spaced-y-10">
                {% for talk in getPastTalks(page.talks|merge(data.talks))|reverse %}
                    {% include 'talks/talk' %}
                {% endfor %}
            </div>
        </div>
    </div>
{% endblock %}