SlideShare a Scribd company logo
Add a Robust Events System
to Your Drupal Site in Minutes
Martin Anderson-Clutz
@mandclu
Northern (formerly Digital Echidna)
2
MARTIN
@mandclu
ANDERSON-CLUTZ
DEMO!
3
- Fresh install on Drupal 9
BASE INSTALL
4
> composer create-project drupal/recommended-project drupal9
> cd drupal9
> composer require drush/drush
> drush site:install
"FANCY" INSTALL
5
> composer create-project drupal/recommended-project drupal9
> cd drupal9
> composer require drush/drush drupal/admin_toolbar
drupal/gin:^3.0@alpha drupal/gin_toolbar:^1.0@beta
> drush site:install
> drush en admin_toolbar admin_toolbar_tools gin_toolbar
> drush theme:enable olivero gin
> drush config:set system.theme default olivero -y
> drush config:set system.theme admin gin -y
ONE COMMAND INSTALL
6
> composer create-project drupal/recommended-project drupal9 &&
cd drupal9 && composer require drush/drush drupal/admin_toolbar
drupal/gin:^3.0@alpha drupal/gin_toolbar:^1.0@beta && drush
site:install --account-pass=[admin-password]
--db-url=mysql://[db-user]:[db-password]@127.0.0.1:3306/[db-nam
e] --site-name="Drupal 9 Demo" -y && drush en admin_toolbar
admin_toolbar_tools gin_toolbar && drush theme:enable olivero gin
&& drush config:set system.theme default olivero -y && drush
config:set system.theme admin gin -y && drush config:set
gin.settings classic_toolbar 1 -y && drush config:set olivero.settings
debug 0 -y
SMART DATE CALENDAR KIT
7
> composer require drupal/smart_date_calendar_kit
> drush en smart_date_calendar_kit smart_date_recur
8
- Event content type
- App-like input
- One click “All day”
- Recurring events
- Timezones
- Natural language output
- Event listings
- Upcoming and past
- Calendar
- Drag-and-drop to manage events
Q
“ROBUST” REQUIREMENTS
9
SMART DATE
EDITOR EXPERIENCE
10
NATURAL LANGUAGE OUTPUT
11
- Crawling a site about to launch, realized the slowest page was
an events archive
PERFORMANCE ISSUE
12
NEED FOR A MODULE
13
Editor UX
Formatting
Performance
DEMO TIME!
14
- Editor
- Field config
- Display config
- Timezones
- Smart Date formats
RECURRING EVENTS
15
- A common use case
- Though there are interface
differences, calendar apps are
largely consistent in the
functionality they offer
- Many apps use the RRULE format
for or storage and/or
import/export
RECURRING DATES
16
- Stores recurring instances as normal field deltas, so views will
work like normal multivalued fields
- Able to override specific instances
- Reschedule or cancel
- Special formatters for recurring dates
- Show a specific number of
upcoming and/or past instances
- Able to customize text display
of recurrence rule
STARTER KITS
17
- Bundles of configuration to get you up and running quickly
- Install an Event content type and related views
- A great way to try out Smart Date, or jump start your project
- Easiest way to use Smart Date with Fullcalendar View
- Patches welcome!
CALENDAR INTEGRATION
18
- Robust integration with Fullcalendar View
- Drag-and-drop support
- Double-click to add events
- Full support for recurring dates
MORE DEMOS!
19
- Enable smart_date_recur
- Recurring Dates
- Formatter
- Make one!
- Calendar, Lists
20
SPEED
Timestamps for
better
performance
FORMAT
Intelligent
formatting of
output,
translatable
EDITOR UX
App-like widget,
All day checkbox
SITE
BUILDERS
Recurring
dates
Interactive
calendars
Timezones
Q
DELIVERING ON OUR REQUIREMENTS
21
IN MINUTES!
22
COMMENTS
Q
QUESTIONS
@mandclu
23
THANKS!
@mandclu
THE GOLDEN RRULE
24
- A standard data model for describing recurring dates
- Used by popular calendar apps, including Google and Apple
- FREQ: YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, or
SECONDLY
- Limit: COUNT or UNTIL
- INTERVAL
- Complex structures: BYMONTH, BYWEEKNO, BYYEARDAY,
BYMONTHDAY, BYDAY, BYHOUR, BYMINUTE, BYSECOND,
BYSETPOS
RRULE EXAMPLES
25
- DTSTART;TZID=America/New_York:20201013T100000
RRULE:FREQ=WEEKLY;UNTIL=20201231T235900;INTERVAL=2;
WKST=MO
- Every other Tue at 10am EST until Dec 31, 2020
- RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=5,6,7,8,9,10,1
1
- Friday of the first full week of the month
THE GOLDEN RRULE
26
Note 1: Limit if
BYMONTHDAY is
present; otherwise,
special expand for
MONTHLY.
Note 2: Limit if
BYYEARDAY or
BYMONTHDAY is
present; otherwise,
special expand for
WEEKLY if BYWEEKNO
present; otherwise,
special expand for
MONTHLY if BYMONTH
present; otherwise,
special expand for
YEARLY.
SECONDLY MINUTELY HOURLY DAILY WEEKLY MONTHLY YEARLY
BYMONTH Limit Limit Limit Limit Limit Limit Expand
BYWEEKNO N/A N/A N/A N/A N/A N/A Expand
BYYEARDAY Limit Limit Limit N/A N/A N/A Expand
BYMONTHDAY Limit Limit Limit Limit N/A Expand Expand
BYDAY Limit Limit Limit Limit Expand Note 1 Note 2
BYHOUR Limit Limit Limit Expand Expand Expand Expand
BYMINUTE Limit Limit Expand Expand Expand Expand Expand
BYSECOND Limit Expand Expand Expand Expand Expand Expand
BYSETPOS Limit Limit Limit Limit Limit Limit Limit

More Related Content

Similar to Robust Events System In Minutes | DrupalCon North America 2021

Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
Acquia
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
Mediacurrent
 
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
Acquia
 
EdTechJoker Spring 2020 - Lecture 5 grav cms
EdTechJoker Spring 2020 - Lecture 5 grav cmsEdTechJoker Spring 2020 - Lecture 5 grav cms
EdTechJoker Spring 2020 - Lecture 5 grav cms
Bryan Ollendyke
 
Smart Date - Drupalcamp Colorado 2020
Smart Date - Drupalcamp Colorado 2020Smart Date - Drupalcamp Colorado 2020
Smart Date - Drupalcamp Colorado 2020
Martin Anderson-Clutz
 
Serverless Data Architecture at scale on Google Cloud Platform
Serverless Data Architecture at scale on Google Cloud PlatformServerless Data Architecture at scale on Google Cloud Platform
Serverless Data Architecture at scale on Google Cloud Platform
MeetupDataScienceRoma
 
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and HadoopGoogle Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
huguk
 
Drupal 8 update: May 2014. Migrate in core.
Drupal 8 update: May 2014. Migrate in core.Drupal 8 update: May 2014. Migrate in core.
Drupal 8 update: May 2014. Migrate in core.
Vladimir Roudakov
 
Talend Summer '17 Release: New Features and Tech Overview
Talend Summer '17 Release: New Features and Tech OverviewTalend Summer '17 Release: New Features and Tech Overview
Talend Summer '17 Release: New Features and Tech Overview
Talend
 
Grav CMS
Grav CMSGrav CMS
Grav CMS
btopro
 
drupal_training
drupal_trainingdrupal_training
drupal_training
Paulo Sérgio Amaral
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
Pantheon
 
Serverless Data Architecture at scale on Google Cloud Platform - Lorenzo Ridi...
Serverless Data Architecture at scale on Google Cloud Platform - Lorenzo Ridi...Serverless Data Architecture at scale on Google Cloud Platform - Lorenzo Ridi...
Serverless Data Architecture at scale on Google Cloud Platform - Lorenzo Ridi...
Codemotion
 
Using Composer with Drupal and Drush
Using Composer with Drupal and DrushUsing Composer with Drupal and Drush
Using Composer with Drupal and Drush
Pantheon
 
Drupal
DrupalDrupal
Drupal
btopro
 
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and BeyondDrupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
DrupalDay
 
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
Phase2
 
Drupal 8 improvements for developer productivity php symfony and more
Drupal 8 improvements for developer productivity  php symfony and moreDrupal 8 improvements for developer productivity  php symfony and more
Drupal 8 improvements for developer productivity php symfony and more
Acquia
 
Composer Tools & Frameworks for Drupal
Composer Tools & Frameworks for DrupalComposer Tools & Frameworks for Drupal
Composer Tools & Frameworks for Drupal
Pantheon
 
Scheduling Apps in the Cloud - Glenn Renfro & Roy Clarkson
Scheduling Apps in the Cloud - Glenn Renfro & Roy ClarksonScheduling Apps in the Cloud - Glenn Renfro & Roy Clarkson
Scheduling Apps in the Cloud - Glenn Renfro & Roy Clarkson
VMware Tanzu
 

Similar to Robust Events System In Minutes | DrupalCon North America 2021 (20)

Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
 
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
 
EdTechJoker Spring 2020 - Lecture 5 grav cms
EdTechJoker Spring 2020 - Lecture 5 grav cmsEdTechJoker Spring 2020 - Lecture 5 grav cms
EdTechJoker Spring 2020 - Lecture 5 grav cms
 
Smart Date - Drupalcamp Colorado 2020
Smart Date - Drupalcamp Colorado 2020Smart Date - Drupalcamp Colorado 2020
Smart Date - Drupalcamp Colorado 2020
 
Serverless Data Architecture at scale on Google Cloud Platform
Serverless Data Architecture at scale on Google Cloud PlatformServerless Data Architecture at scale on Google Cloud Platform
Serverless Data Architecture at scale on Google Cloud Platform
 
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and HadoopGoogle Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
 
Drupal 8 update: May 2014. Migrate in core.
Drupal 8 update: May 2014. Migrate in core.Drupal 8 update: May 2014. Migrate in core.
Drupal 8 update: May 2014. Migrate in core.
 
Talend Summer '17 Release: New Features and Tech Overview
Talend Summer '17 Release: New Features and Tech OverviewTalend Summer '17 Release: New Features and Tech Overview
Talend Summer '17 Release: New Features and Tech Overview
 
Grav CMS
Grav CMSGrav CMS
Grav CMS
 
drupal_training
drupal_trainingdrupal_training
drupal_training
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
 
Serverless Data Architecture at scale on Google Cloud Platform - Lorenzo Ridi...
Serverless Data Architecture at scale on Google Cloud Platform - Lorenzo Ridi...Serverless Data Architecture at scale on Google Cloud Platform - Lorenzo Ridi...
Serverless Data Architecture at scale on Google Cloud Platform - Lorenzo Ridi...
 
Using Composer with Drupal and Drush
Using Composer with Drupal and DrushUsing Composer with Drupal and Drush
Using Composer with Drupal and Drush
 
Drupal
DrupalDrupal
Drupal
 
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and BeyondDrupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
 
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
 
Drupal 8 improvements for developer productivity php symfony and more
Drupal 8 improvements for developer productivity  php symfony and moreDrupal 8 improvements for developer productivity  php symfony and more
Drupal 8 improvements for developer productivity php symfony and more
 
Composer Tools & Frameworks for Drupal
Composer Tools & Frameworks for DrupalComposer Tools & Frameworks for Drupal
Composer Tools & Frameworks for Drupal
 
Scheduling Apps in the Cloud - Glenn Renfro & Roy Clarkson
Scheduling Apps in the Cloud - Glenn Renfro & Roy ClarksonScheduling Apps in the Cloud - Glenn Renfro & Roy Clarkson
Scheduling Apps in the Cloud - Glenn Renfro & Roy Clarkson
 

More from Martin Anderson-Clutz

I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023
I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023
I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023
Martin Anderson-Clutz
 
Simplifying Your Admin Experience - FLDC 2023.pptx
Simplifying Your Admin Experience - FLDC 2023.pptxSimplifying Your Admin Experience - FLDC 2023.pptx
Simplifying Your Admin Experience - FLDC 2023.pptx
Martin Anderson-Clutz
 
Image Optimization in Drupal
Image Optimization in DrupalImage Optimization in Drupal
Image Optimization in Drupal
Martin Anderson-Clutz
 
Simplifying your admin experience - Stanford WebCamp
Simplifying your admin experience - Stanford WebCampSimplifying your admin experience - Stanford WebCamp
Simplifying your admin experience - Stanford WebCamp
Martin Anderson-Clutz
 
Manually curated solr search results | DrupalCon NA 2021
Manually curated solr search results | DrupalCon NA 2021Manually curated solr search results | DrupalCon NA 2021
Manually curated solr search results | DrupalCon NA 2021
Martin Anderson-Clutz
 
Simplifying the Drupal Admin Experience
Simplifying the Drupal Admin ExperienceSimplifying the Drupal Admin Experience
Simplifying the Drupal Admin Experience
Martin Anderson-Clutz
 
Site Search and Relevance
Site Search and RelevanceSite Search and Relevance
Site Search and Relevance
Martin Anderson-Clutz
 

More from Martin Anderson-Clutz (7)

I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023
I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023
I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023
 
Simplifying Your Admin Experience - FLDC 2023.pptx
Simplifying Your Admin Experience - FLDC 2023.pptxSimplifying Your Admin Experience - FLDC 2023.pptx
Simplifying Your Admin Experience - FLDC 2023.pptx
 
Image Optimization in Drupal
Image Optimization in DrupalImage Optimization in Drupal
Image Optimization in Drupal
 
Simplifying your admin experience - Stanford WebCamp
Simplifying your admin experience - Stanford WebCampSimplifying your admin experience - Stanford WebCamp
Simplifying your admin experience - Stanford WebCamp
 
Manually curated solr search results | DrupalCon NA 2021
Manually curated solr search results | DrupalCon NA 2021Manually curated solr search results | DrupalCon NA 2021
Manually curated solr search results | DrupalCon NA 2021
 
Simplifying the Drupal Admin Experience
Simplifying the Drupal Admin ExperienceSimplifying the Drupal Admin Experience
Simplifying the Drupal Admin Experience
 
Site Search and Relevance
Site Search and RelevanceSite Search and Relevance
Site Search and Relevance
 

Recently uploaded

Efficient Website Management for Digital Marketing Pros
Efficient Website Management for Digital Marketing ProsEfficient Website Management for Digital Marketing Pros
Efficient Website Management for Digital Marketing Pros
Lauren Polinsky
 
Mindfulness Techniques Cultivating Calm in a Chaotic World.pptx
Mindfulness Techniques Cultivating Calm in a Chaotic World.pptxMindfulness Techniques Cultivating Calm in a Chaotic World.pptx
Mindfulness Techniques Cultivating Calm in a Chaotic World.pptx
elizabethella096
 
Get Off the Bandwagon - Separating Digital Marketing Myths from Truth - Scott...
Get Off the Bandwagon - Separating Digital Marketing Myths from Truth - Scott...Get Off the Bandwagon - Separating Digital Marketing Myths from Truth - Scott...
Get Off the Bandwagon - Separating Digital Marketing Myths from Truth - Scott...
DigiMarCon - Digital Marketing, Media and Advertising Conferences & Exhibitions
 
Top Strategies for Building High-Quality Backlinks in 2024 PPT.pdf
Top Strategies for Building High-Quality Backlinks in 2024 PPT.pdfTop Strategies for Building High-Quality Backlinks in 2024 PPT.pdf
Top Strategies for Building High-Quality Backlinks in 2024 PPT.pdf
1Solutions Pvt. Ltd.
 
What Software is Used in Marketing in 2024.
What Software is Used in Marketing in 2024.What Software is Used in Marketing in 2024.
What Software is Used in Marketing in 2024.
Ishaaq6
 
Get admission in various courses and boost your employment opportunities.
Get admission in various courses and boost your employment opportunities.Get admission in various courses and boost your employment opportunities.
Get admission in various courses and boost your employment opportunities.
complete knowledge
 
Crafting Seamless B2B Customer Journeys - Strategies for Exceptional Experien...
Crafting Seamless B2B Customer Journeys - Strategies for Exceptional Experien...Crafting Seamless B2B Customer Journeys - Strategies for Exceptional Experien...
Crafting Seamless B2B Customer Journeys - Strategies for Exceptional Experien...
DigiMarCon - Digital Marketing, Media and Advertising Conferences & Exhibitions
 
Advanced Storytelling Concepts for Marketers
Advanced Storytelling Concepts for MarketersAdvanced Storytelling Concepts for Marketers
Advanced Storytelling Concepts for Marketers
Ed Shimp
 
Digital Marketing Trends - Experts Insights on How to Gain a Competitive Edge...
Digital Marketing Trends - Experts Insights on How to Gain a Competitive Edge...Digital Marketing Trends - Experts Insights on How to Gain a Competitive Edge...
Digital Marketing Trends - Experts Insights on How to Gain a Competitive Edge...
DigiMarCon - Digital Marketing, Media and Advertising Conferences & Exhibitions
 
Lily Ray - Optimize the Forest, Not the Trees: Move Beyond SEO Checklist - Mo...
Lily Ray - Optimize the Forest, Not the Trees: Move Beyond SEO Checklist - Mo...Lily Ray - Optimize the Forest, Not the Trees: Move Beyond SEO Checklist - Mo...
Lily Ray - Optimize the Forest, Not the Trees: Move Beyond SEO Checklist - Mo...
Amsive
 
How to Start Affiliate Marketing with ChatGPT- A Step-by-Step Guide (1).pdf
How to Start Affiliate Marketing with ChatGPT- A Step-by-Step Guide (1).pdfHow to Start Affiliate Marketing with ChatGPT- A Step-by-Step Guide (1).pdf
How to Start Affiliate Marketing with ChatGPT- A Step-by-Step Guide (1).pdf
SimpleMoneyMaker
 
AI Best Practices for Marketing HUG June 2024
AI Best Practices for Marketing HUG June 2024AI Best Practices for Marketing HUG June 2024
AI Best Practices for Marketing HUG June 2024
Amanda Farrell
 
Mastering Your Online Visibility - Fernando Angulo
Mastering Your Online Visibility - Fernando AnguloMastering Your Online Visibility - Fernando Angulo
2025 Adventur ehomes Product Guide released Jun 1 2024
2025 Adventur ehomes Product Guide released Jun 1 20242025 Adventur ehomes Product Guide released Jun 1 2024
2025 Adventur ehomes Product Guide released Jun 1 2024
JimWilliams206540
 
Marketing in the Age of AI - Shifting CX from Monologue to Dialogue - Susan W...
Marketing in the Age of AI - Shifting CX from Monologue to Dialogue - Susan W...Marketing in the Age of AI - Shifting CX from Monologue to Dialogue - Susan W...
Marketing in the Age of AI - Shifting CX from Monologue to Dialogue - Susan W...
DigiMarCon - Digital Marketing, Media and Advertising Conferences & Exhibitions
 
Pillar-Based Marketing Master Class - Ryan Brock
Pillar-Based Marketing Master Class - Ryan BrockPillar-Based Marketing Master Class - Ryan Brock
How to Make Your Trade Show Booth Stand Out
How to Make Your Trade Show Booth Stand OutHow to Make Your Trade Show Booth Stand Out
How to Make Your Trade Show Booth Stand Out
Blue Atlas Marketing
 
From Hope to Despair The Top 10 Reasons Businesses Ditch SEO Tactics.pptx
From Hope to Despair The Top 10 Reasons Businesses Ditch SEO Tactics.pptxFrom Hope to Despair The Top 10 Reasons Businesses Ditch SEO Tactics.pptx
From Hope to Despair The Top 10 Reasons Businesses Ditch SEO Tactics.pptx
Boston SEO Services
 
Global Growth Starts With Translation - How To Unlock Global Markets - Tim Kirby
Global Growth Starts With Translation - How To Unlock Global Markets - Tim KirbyGlobal Growth Starts With Translation - How To Unlock Global Markets - Tim Kirby
Global Growth Starts With Translation - How To Unlock Global Markets - Tim Kirby
DigiMarCon - Digital Marketing, Media and Advertising Conferences & Exhibitions
 

Recently uploaded (20)

Efficient Website Management for Digital Marketing Pros
Efficient Website Management for Digital Marketing ProsEfficient Website Management for Digital Marketing Pros
Efficient Website Management for Digital Marketing Pros
 
Mindfulness Techniques Cultivating Calm in a Chaotic World.pptx
Mindfulness Techniques Cultivating Calm in a Chaotic World.pptxMindfulness Techniques Cultivating Calm in a Chaotic World.pptx
Mindfulness Techniques Cultivating Calm in a Chaotic World.pptx
 
Get Off the Bandwagon - Separating Digital Marketing Myths from Truth - Scott...
Get Off the Bandwagon - Separating Digital Marketing Myths from Truth - Scott...Get Off the Bandwagon - Separating Digital Marketing Myths from Truth - Scott...
Get Off the Bandwagon - Separating Digital Marketing Myths from Truth - Scott...
 
Top Strategies for Building High-Quality Backlinks in 2024 PPT.pdf
Top Strategies for Building High-Quality Backlinks in 2024 PPT.pdfTop Strategies for Building High-Quality Backlinks in 2024 PPT.pdf
Top Strategies for Building High-Quality Backlinks in 2024 PPT.pdf
 
Amazing and On Point - Ramon Ray, USA TODAY
Amazing and On Point - Ramon Ray, USA TODAYAmazing and On Point - Ramon Ray, USA TODAY
Amazing and On Point - Ramon Ray, USA TODAY
 
What Software is Used in Marketing in 2024.
What Software is Used in Marketing in 2024.What Software is Used in Marketing in 2024.
What Software is Used in Marketing in 2024.
 
Get admission in various courses and boost your employment opportunities.
Get admission in various courses and boost your employment opportunities.Get admission in various courses and boost your employment opportunities.
Get admission in various courses and boost your employment opportunities.
 
Crafting Seamless B2B Customer Journeys - Strategies for Exceptional Experien...
Crafting Seamless B2B Customer Journeys - Strategies for Exceptional Experien...Crafting Seamless B2B Customer Journeys - Strategies for Exceptional Experien...
Crafting Seamless B2B Customer Journeys - Strategies for Exceptional Experien...
 
Advanced Storytelling Concepts for Marketers
Advanced Storytelling Concepts for MarketersAdvanced Storytelling Concepts for Marketers
Advanced Storytelling Concepts for Marketers
 
Digital Marketing Trends - Experts Insights on How to Gain a Competitive Edge...
Digital Marketing Trends - Experts Insights on How to Gain a Competitive Edge...Digital Marketing Trends - Experts Insights on How to Gain a Competitive Edge...
Digital Marketing Trends - Experts Insights on How to Gain a Competitive Edge...
 
Lily Ray - Optimize the Forest, Not the Trees: Move Beyond SEO Checklist - Mo...
Lily Ray - Optimize the Forest, Not the Trees: Move Beyond SEO Checklist - Mo...Lily Ray - Optimize the Forest, Not the Trees: Move Beyond SEO Checklist - Mo...
Lily Ray - Optimize the Forest, Not the Trees: Move Beyond SEO Checklist - Mo...
 
How to Start Affiliate Marketing with ChatGPT- A Step-by-Step Guide (1).pdf
How to Start Affiliate Marketing with ChatGPT- A Step-by-Step Guide (1).pdfHow to Start Affiliate Marketing with ChatGPT- A Step-by-Step Guide (1).pdf
How to Start Affiliate Marketing with ChatGPT- A Step-by-Step Guide (1).pdf
 
AI Best Practices for Marketing HUG June 2024
AI Best Practices for Marketing HUG June 2024AI Best Practices for Marketing HUG June 2024
AI Best Practices for Marketing HUG June 2024
 
Mastering Your Online Visibility - Fernando Angulo
Mastering Your Online Visibility - Fernando AnguloMastering Your Online Visibility - Fernando Angulo
Mastering Your Online Visibility - Fernando Angulo
 
2025 Adventur ehomes Product Guide released Jun 1 2024
2025 Adventur ehomes Product Guide released Jun 1 20242025 Adventur ehomes Product Guide released Jun 1 2024
2025 Adventur ehomes Product Guide released Jun 1 2024
 
Marketing in the Age of AI - Shifting CX from Monologue to Dialogue - Susan W...
Marketing in the Age of AI - Shifting CX from Monologue to Dialogue - Susan W...Marketing in the Age of AI - Shifting CX from Monologue to Dialogue - Susan W...
Marketing in the Age of AI - Shifting CX from Monologue to Dialogue - Susan W...
 
Pillar-Based Marketing Master Class - Ryan Brock
Pillar-Based Marketing Master Class - Ryan BrockPillar-Based Marketing Master Class - Ryan Brock
Pillar-Based Marketing Master Class - Ryan Brock
 
How to Make Your Trade Show Booth Stand Out
How to Make Your Trade Show Booth Stand OutHow to Make Your Trade Show Booth Stand Out
How to Make Your Trade Show Booth Stand Out
 
From Hope to Despair The Top 10 Reasons Businesses Ditch SEO Tactics.pptx
From Hope to Despair The Top 10 Reasons Businesses Ditch SEO Tactics.pptxFrom Hope to Despair The Top 10 Reasons Businesses Ditch SEO Tactics.pptx
From Hope to Despair The Top 10 Reasons Businesses Ditch SEO Tactics.pptx
 
Global Growth Starts With Translation - How To Unlock Global Markets - Tim Kirby
Global Growth Starts With Translation - How To Unlock Global Markets - Tim KirbyGlobal Growth Starts With Translation - How To Unlock Global Markets - Tim Kirby
Global Growth Starts With Translation - How To Unlock Global Markets - Tim Kirby
 

Robust Events System In Minutes | DrupalCon North America 2021

  • 1. Add a Robust Events System to Your Drupal Site in Minutes Martin Anderson-Clutz @mandclu Northern (formerly Digital Echidna)
  • 4. BASE INSTALL 4 > composer create-project drupal/recommended-project drupal9 > cd drupal9 > composer require drush/drush > drush site:install
  • 5. "FANCY" INSTALL 5 > composer create-project drupal/recommended-project drupal9 > cd drupal9 > composer require drush/drush drupal/admin_toolbar drupal/gin:^3.0@alpha drupal/gin_toolbar:^1.0@beta > drush site:install > drush en admin_toolbar admin_toolbar_tools gin_toolbar > drush theme:enable olivero gin > drush config:set system.theme default olivero -y > drush config:set system.theme admin gin -y
  • 6. ONE COMMAND INSTALL 6 > composer create-project drupal/recommended-project drupal9 && cd drupal9 && composer require drush/drush drupal/admin_toolbar drupal/gin:^3.0@alpha drupal/gin_toolbar:^1.0@beta && drush site:install --account-pass=[admin-password] --db-url=mysql://[db-user]:[db-password]@127.0.0.1:3306/[db-nam e] --site-name="Drupal 9 Demo" -y && drush en admin_toolbar admin_toolbar_tools gin_toolbar && drush theme:enable olivero gin && drush config:set system.theme default olivero -y && drush config:set system.theme admin gin -y && drush config:set gin.settings classic_toolbar 1 -y && drush config:set olivero.settings debug 0 -y
  • 7. SMART DATE CALENDAR KIT 7 > composer require drupal/smart_date_calendar_kit > drush en smart_date_calendar_kit smart_date_recur
  • 8. 8 - Event content type - App-like input - One click “All day” - Recurring events - Timezones - Natural language output - Event listings - Upcoming and past - Calendar - Drag-and-drop to manage events Q “ROBUST” REQUIREMENTS
  • 12. - Crawling a site about to launch, realized the slowest page was an events archive PERFORMANCE ISSUE 12
  • 13. NEED FOR A MODULE 13 Editor UX Formatting Performance
  • 14. DEMO TIME! 14 - Editor - Field config - Display config - Timezones - Smart Date formats
  • 15. RECURRING EVENTS 15 - A common use case - Though there are interface differences, calendar apps are largely consistent in the functionality they offer - Many apps use the RRULE format for or storage and/or import/export
  • 16. RECURRING DATES 16 - Stores recurring instances as normal field deltas, so views will work like normal multivalued fields - Able to override specific instances - Reschedule or cancel - Special formatters for recurring dates - Show a specific number of upcoming and/or past instances - Able to customize text display of recurrence rule
  • 17. STARTER KITS 17 - Bundles of configuration to get you up and running quickly - Install an Event content type and related views - A great way to try out Smart Date, or jump start your project - Easiest way to use Smart Date with Fullcalendar View - Patches welcome!
  • 18. CALENDAR INTEGRATION 18 - Robust integration with Fullcalendar View - Drag-and-drop support - Double-click to add events - Full support for recurring dates
  • 19. MORE DEMOS! 19 - Enable smart_date_recur - Recurring Dates - Formatter - Make one! - Calendar, Lists
  • 20. 20 SPEED Timestamps for better performance FORMAT Intelligent formatting of output, translatable EDITOR UX App-like widget, All day checkbox SITE BUILDERS Recurring dates Interactive calendars Timezones Q DELIVERING ON OUR REQUIREMENTS
  • 24. THE GOLDEN RRULE 24 - A standard data model for describing recurring dates - Used by popular calendar apps, including Google and Apple - FREQ: YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, or SECONDLY - Limit: COUNT or UNTIL - INTERVAL - Complex structures: BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY, BYHOUR, BYMINUTE, BYSECOND, BYSETPOS
  • 25. RRULE EXAMPLES 25 - DTSTART;TZID=America/New_York:20201013T100000 RRULE:FREQ=WEEKLY;UNTIL=20201231T235900;INTERVAL=2; WKST=MO - Every other Tue at 10am EST until Dec 31, 2020 - RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=5,6,7,8,9,10,1 1 - Friday of the first full week of the month
  • 26. THE GOLDEN RRULE 26 Note 1: Limit if BYMONTHDAY is present; otherwise, special expand for MONTHLY. Note 2: Limit if BYYEARDAY or BYMONTHDAY is present; otherwise, special expand for WEEKLY if BYWEEKNO present; otherwise, special expand for MONTHLY if BYMONTH present; otherwise, special expand for YEARLY. SECONDLY MINUTELY HOURLY DAILY WEEKLY MONTHLY YEARLY BYMONTH Limit Limit Limit Limit Limit Limit Expand BYWEEKNO N/A N/A N/A N/A N/A N/A Expand BYYEARDAY Limit Limit Limit N/A N/A N/A Expand BYMONTHDAY Limit Limit Limit Limit N/A Expand Expand BYDAY Limit Limit Limit Limit Expand Note 1 Note 2 BYHOUR Limit Limit Limit Expand Expand Expand Expand BYMINUTE Limit Limit Expand Expand Expand Expand Expand BYSECOND Limit Expand Expand Expand Expand Expand Expand BYSETPOS Limit Limit Limit Limit Limit Limit Limit