SlideShare a Scribd company logo
1 of 32
Download to read offline
Tour API in Drupal 8
Drupalcamp Brighton 2016
Tassos Koutlas (@akoutlas) , 17. 06. 2016
Content
● Who am I
● Tours in Drupal
● Creating a custom tour
● Other ways to provide help to users
Who am I?
Tassos Koutlas
Senior Technical Consultant @
C&W
web projects / machine learning / image
processing algorithms / administering IT
systems / scrum master
Tours in Drupal
What are tours?
Tours in core
● Included with Drupal 8
● Based on joyride jQuery plugin
● Configuration based, translatable
● YAML
When you have a web application
which requires some getting used to
from your users.
Tours in contrib
A few modules try to leverage tours
in core and build new functionality to
make it easier for other to contribute
tours:
● Tour builder
● Tour UI
Why tours?
● Alternative to providing extensive documentation
● Bundled with your Drupal build and version controlled
● Encourages self-paced learning
● Encourages splitting larger tasks into small chunks of
knowledge
● Enables people to visit the resources multiple times
● Because Drupal 8 is so cool
Primary use cases
● To draw the user's attention to critical components of the
interface, especially those elements that might not be
immediately obvious
● To guide the user through a workflow
Creating a tour
Anatomy of a tour [1/2]
YAML properties:
- id
- module
- label
- routes
- langcode
- tips
Anatomy of a tour [2/2]
Tips: core ships with text
and image plugin types
- id
- plugin
- label
- body
- location
- weight
- attributes
General principles [1/2]
General principles for tours as they are captured within the context
of Drupal user interface standards:
● Tours are a complement (not a substitute) for good interface
design.
● Tour text should follow the Drupal style guide for interface text.
● The tour should start and end in a logical place
General principles [2/2]
● If the tour is intended to illustrate a workflow, it should stay
focused on completion of a single task.
● Avoid providing tangential information.
● If the tour is intended to highlight the UI, it may not be
necessary or desirable to include every option for every widget.
● Keep tip content short, preferably 1 to 2 sentences.
Provide examples to give a deeper understanding of tips
context.
Tour text standards [1/2]
● Follow the style guidelines for Interface text
● Keep it simple.
● Use -ing verb mode for the tip label.
○ Viewing log messages instead of View log messages.
Tour text standards [1/3]
● Start the tour with a general model (not linked to any element)
for a general introduction.
● Imagine the most basic task possible and write to that. Don’t try
to cover every use case.
● Remember that your audience is a new user, so assume no
Drupal knowledge.
Tour text standards [2/3]
● If possible, keep the tour to fewer than 8 tips.
● If possible, keep to a single sentence per tip of less than 25
words.
● A tour tip is not UI text. Don’t duplicate the UI text.
● A tour is not documented. You can link to documentation at the
end if you think it’s useful.
● Doesn't explain stock Drupal page elements such as
breadcrumbs or pagers.
Tour text standards [3/3]
● Use links where useful and ensure they will never break.
● Avoid complex tour tip selectors such as :first-child or :nth-child
(n) as these at present cannot be tested via simpletest. Instead,
add classes into the body to make the selectors easier to
understand.
An example
drupalcamp_tour.info.yml ./config/install/tour.tour.content-overview.yml
Advanced tour options
Extending tips
● Tips types implement a
TipPluginInterface
● Through the API other plugin
types can be created
(youtube, soundcloud)
Other ways to provide
help to users
Markdown
● Always have a README file
● Add in version control
● Help onboard developers
● Help onboard users
● Credit yourself!
Read the docs
● Git / Subversion / Mercurial
● Fully searchable
● Webhooks (build when
committing)
● Versioning (build from tags)
Beautify my docs
A simple service to
convert text
between markdown,
html and drupal.
Thank you !
WEB www.cameronandwilding.com
EMAIL info@cameronandwilding.com
TWITTER https://twitter.com/cameronwilding
LINKEDIN https://www.linkedin.com/company/cameron-&-wilding/

More Related Content

Similar to Tassos Koutlas - Tour API in Drupal 8

Hong Kong Drupal User Group - Sep 13th
Hong Kong Drupal User Group - Sep 13thHong Kong Drupal User Group - Sep 13th
Hong Kong Drupal User Group - Sep 13thWong Hoi Sing Edison
 
How to Write a Winning Session Submission
How to Write a Winning Session SubmissionHow to Write a Winning Session Submission
How to Write a Winning Session SubmissionDocker, Inc
 
Simplifying your admin experience - Stanford WebCamp
Simplifying your admin experience - Stanford WebCampSimplifying your admin experience - Stanford WebCamp
Simplifying your admin experience - Stanford WebCampMartin 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.pptxMartin Anderson-Clutz
 
OSDC2021 - From user stories to the first architectural sketch
OSDC2021 - From user stories to the first architectural sketchOSDC2021 - From user stories to the first architectural sketch
OSDC2021 - From user stories to the first architectural sketchRenato Nascimento
 
Foster - Getting started with Angular
Foster - Getting started with AngularFoster - Getting started with Angular
Foster - Getting started with AngularMukundSonaiya1
 
An introduction to Emulsify
An introduction to EmulsifyAn introduction to Emulsify
An introduction to Emulsifyvaluebound
 
Nubu paper review
Nubu paper reviewNubu paper review
Nubu paper reviewBu Sawoo
 
Getting started with the Lupus Nuxt.js Drupal Stack
Getting started with the Lupus Nuxt.js Drupal StackGetting started with the Lupus Nuxt.js Drupal Stack
Getting started with the Lupus Nuxt.js Drupal Stacknuppla
 
Hong kong drupal user group july 12th - introduction of some most popular d...
Hong kong drupal user group   july 12th - introduction of some most popular d...Hong kong drupal user group   july 12th - introduction of some most popular d...
Hong kong drupal user group july 12th - introduction of some most popular d...Francis Yan
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xWong Hoi Sing Edison
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkMediacurrent
 
Building A Tasty Backend
Building A Tasty BackendBuilding A Tasty Backend
Building A Tasty BackendJennifer Tehan
 
Creating Accessible Documents
Creating Accessible DocumentsCreating Accessible Documents
Creating Accessible DocumentsAna Thompson
 

Similar to Tassos Koutlas - Tour API in Drupal 8 (20)

Hong Kong Drupal User Group - Sep 13th
Hong Kong Drupal User Group - Sep 13thHong Kong Drupal User Group - Sep 13th
Hong Kong Drupal User Group - Sep 13th
 
How to Write a Winning Session Submission
How to Write a Winning Session SubmissionHow to Write a Winning Session Submission
How to Write a Winning Session Submission
 
Simplifying your admin experience - Stanford WebCamp
Simplifying your admin experience - Stanford WebCampSimplifying your admin experience - Stanford WebCamp
Simplifying your admin experience - Stanford WebCamp
 
Improving drupals cex and ax
Improving drupals cex and axImproving drupals cex and ax
Improving drupals cex and ax
 
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
 
OSDC2021 - From user stories to the first architectural sketch
OSDC2021 - From user stories to the first architectural sketchOSDC2021 - From user stories to the first architectural sketch
OSDC2021 - From user stories to the first architectural sketch
 
Intro to Drupal
Intro to DrupalIntro to Drupal
Intro to Drupal
 
Beginners Guide to Drupal
Beginners Guide to DrupalBeginners Guide to Drupal
Beginners Guide to Drupal
 
Foster - Getting started with Angular
Foster - Getting started with AngularFoster - Getting started with Angular
Foster - Getting started with Angular
 
An introduction to Emulsify
An introduction to EmulsifyAn introduction to Emulsify
An introduction to Emulsify
 
Nubu paper review
Nubu paper reviewNubu paper review
Nubu paper review
 
Going Global WordPress Multilingual
Going Global WordPress MultilingualGoing Global WordPress Multilingual
Going Global WordPress Multilingual
 
Getting started with the Lupus Nuxt.js Drupal Stack
Getting started with the Lupus Nuxt.js Drupal StackGetting started with the Lupus Nuxt.js Drupal Stack
Getting started with the Lupus Nuxt.js Drupal Stack
 
Hong kong drupal user group july 12th - introduction of some most popular d...
Hong kong drupal user group   july 12th - introduction of some most popular d...Hong kong drupal user group   july 12th - introduction of some most popular d...
Hong kong drupal user group july 12th - introduction of some most popular d...
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.x
 
bestpractices
bestpracticesbestpractices
bestpractices
 
bestpractices
bestpracticesbestpractices
bestpractices
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
 
Building A Tasty Backend
Building A Tasty BackendBuilding A Tasty Backend
Building A Tasty Backend
 
Creating Accessible Documents
Creating Accessible DocumentsCreating Accessible Documents
Creating Accessible Documents
 

Recently uploaded

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Recently uploaded (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

Tassos Koutlas - Tour API in Drupal 8

  • 1. Tour API in Drupal 8 Drupalcamp Brighton 2016 Tassos Koutlas (@akoutlas) , 17. 06. 2016
  • 2. Content ● Who am I ● Tours in Drupal ● Creating a custom tour ● Other ways to provide help to users
  • 4. Tassos Koutlas Senior Technical Consultant @ C&W web projects / machine learning / image processing algorithms / administering IT systems / scrum master
  • 7. Tours in core ● Included with Drupal 8 ● Based on joyride jQuery plugin ● Configuration based, translatable ● YAML When you have a web application which requires some getting used to from your users.
  • 8. Tours in contrib A few modules try to leverage tours in core and build new functionality to make it easier for other to contribute tours: ● Tour builder ● Tour UI
  • 9. Why tours? ● Alternative to providing extensive documentation ● Bundled with your Drupal build and version controlled ● Encourages self-paced learning ● Encourages splitting larger tasks into small chunks of knowledge ● Enables people to visit the resources multiple times ● Because Drupal 8 is so cool
  • 10. Primary use cases ● To draw the user's attention to critical components of the interface, especially those elements that might not be immediately obvious ● To guide the user through a workflow
  • 12. Anatomy of a tour [1/2] YAML properties: - id - module - label - routes - langcode - tips
  • 13. Anatomy of a tour [2/2] Tips: core ships with text and image plugin types - id - plugin - label - body - location - weight - attributes
  • 14. General principles [1/2] General principles for tours as they are captured within the context of Drupal user interface standards: ● Tours are a complement (not a substitute) for good interface design. ● Tour text should follow the Drupal style guide for interface text. ● The tour should start and end in a logical place
  • 15. General principles [2/2] ● If the tour is intended to illustrate a workflow, it should stay focused on completion of a single task. ● Avoid providing tangential information. ● If the tour is intended to highlight the UI, it may not be necessary or desirable to include every option for every widget. ● Keep tip content short, preferably 1 to 2 sentences. Provide examples to give a deeper understanding of tips context.
  • 16. Tour text standards [1/2] ● Follow the style guidelines for Interface text ● Keep it simple. ● Use -ing verb mode for the tip label. ○ Viewing log messages instead of View log messages.
  • 17. Tour text standards [1/3] ● Start the tour with a general model (not linked to any element) for a general introduction. ● Imagine the most basic task possible and write to that. Don’t try to cover every use case. ● Remember that your audience is a new user, so assume no Drupal knowledge.
  • 18. Tour text standards [2/3] ● If possible, keep the tour to fewer than 8 tips. ● If possible, keep to a single sentence per tip of less than 25 words. ● A tour tip is not UI text. Don’t duplicate the UI text. ● A tour is not documented. You can link to documentation at the end if you think it’s useful. ● Doesn't explain stock Drupal page elements such as breadcrumbs or pagers.
  • 19. Tour text standards [3/3] ● Use links where useful and ensure they will never break. ● Avoid complex tour tip selectors such as :first-child or :nth-child (n) as these at present cannot be tested via simpletest. Instead, add classes into the body to make the selectors easier to understand.
  • 21.
  • 22.
  • 23.
  • 24.
  • 26. Extending tips ● Tips types implement a TipPluginInterface ● Through the API other plugin types can be created (youtube, soundcloud)
  • 27. Other ways to provide help to users
  • 28. Markdown ● Always have a README file ● Add in version control ● Help onboard developers ● Help onboard users ● Credit yourself!
  • 29. Read the docs ● Git / Subversion / Mercurial ● Fully searchable ● Webhooks (build when committing) ● Versioning (build from tags)
  • 30. Beautify my docs A simple service to convert text between markdown, html and drupal.
  • 32. WEB www.cameronandwilding.com EMAIL info@cameronandwilding.com TWITTER https://twitter.com/cameronwilding LINKEDIN https://www.linkedin.com/company/cameron-&-wilding/