DrupalGovcon July 20th, 2016

Similar documents
Drupal 8 THE VIDER ITY APPR OACH

YOUR NEW WEBSITE: How We Get From Here to There

Website/Blog Admin Using WordPress

What Are CSS and DHTML?

Drupal 8 Webform: When Contact Form isn t enough

For Starters: Creating CU Bear, a Drupal 8 Starter Kit

Events in Oracle Eloqua

A Guide to Using WordPress + RAVEN5. v 1.4 Updated May 25, 2018

Planning & Managing Migrations

Understanding the Dark Side

SharePoint 2010 Site Owner s Manual by Yvonne M. Harryman

INTRODUCTION. In this guide, I m going to walk you through the most effective strategies for growing an list in 2016.

Beyond the Annual Report

Publications Database

Blue Compass Interactive, LLC

Azon Master Class. By Ryan Stevenson Guidebook #4 WordPress Installation & Setup

Omni-Channel for Administrators

ADOBE BUSINESS DIRECT SALES OUTBOUND TEMPLATES

Clickbank Domination Presents. A case study by Devin Zander. A look into how absolutely easy internet marketing is. Money Mindset Page 1

Preliminary Stuff. Why log out?

WHILE YOU RE GETTING ORGANIZED

FB Image Contest. Users Manual

AVOIDING THE GIT OF DESPAIR

DIRECTV Message Board

THE GREAT CONSOLIDATION: ENTERTAINMENT WEEKLY MIGRATION CASE STUDY JON PECK, MATT GRILL, PRESTON SO

How Information Architecture can improve in SharePoint 2013

Content Strategy. A practical guide

TOP DEVELOPERS MINDSET. All About the 5 Things You Don t Know.

Moving from FrameMaker to Blaze: Best Practices

EmberJS A Fitting Face for a D8 Backend. Taylor Solomon

Build & Launch Tools (BLT) Automating best practices for enterprise sites

ENTANDO 4.3 IN SUMMARY

Wordpress 101. Christy Costello & Becca Sayre

Xerte Online Toolkits v3.0 Release Notes

10 Online Tools. To Streamline Your Personal Trainer Marketing

Personal Health Assistant: Final Report Prepared by K. Morillo, J. Redway, and I. Smyrnow Version Date April 29, 2010 Personal Health Assistant

The head Web designer walks into your sumptuous office and says, We

Monitoring Tool Made to Measure for SharePoint Admins. By Stacy Simpkins

Agile Internationalization User Stories

An SDLC for the DevSecOps Era Or SecDevOps, or DevOpsSec,

Introducing Thrive - The Ultimate In WordPress Blog Design & Growth

Learning to love release notes

Audience: Info Workers, Dev

CONVERSION TRACKING PIXEL GUIDE

Quest: Choose the ideal web platform for your business

A guide to GOOGLE+LOCAL. for business. Published by. hypercube.co.nz

What is Standard APEX? TOOLBOX FLAT DESIGN CARTOON PEOPLE

P a g e 0. CIDRZ Website Manual.

CIO 24/7 Podcast: Tapping into Accenture s rich content with a new search capability

Joomla! extension JSN EasySlider User Manual

Joomla Basics Series: Joomla Overview

Create an Account on

Adventures in Drupalia

Development Methodology TM

Advanced Online Media Dr. Cindy Royal Texas State University - San Marcos School of Journalism and Mass Communication

BOLT eportfolio Student Guide

GETTING STARTED. User Story Mapping

Azon Master Class. By Ryan Stevenson Guidebook #5 WordPress Usage

ADMIN MANUAL OF Wordpress

Magnetize Your. Website. A step-by-step action guide to attracting your perfect clients. Crystal Pina. StreamlineYourMarketing.com

List Building Warrior

Theme System: It allows modifying the site view and functionality. It includes images, stylesheet, template files and custom pages.

Using GitHub to Share with SparkFun a

One of the fundamental kinds of websites that SharePoint 2010 allows

A Guide to Understand, Install and Use Pie Register WordPress Registration Plugin

WEBINAR REPLAY SEQUENCE

beyond the install 10 Things you should do after you install WordPress by Terri Orlowski beyond the office

Set Up and Manage Salesforce Communities

CLIENT ONBOARDING PLAN & SCRIPT

Lab 1 MonarchPress Product Description. Robert O Donnell CS411. Janet Brunelle. September 20, Version #2

Remote Entities: Past, Present & Future

HEADINGS & TOCS IN WORD 2007

SOCE Wordpress User Guide

CASE STUDY IT. Albumprinter Adopting Redgate DLM

Electronic Gateway Functional Team Website Usability Working Group Usability Test September 2005

CLIENT ONBOARDING PLAN & SCRIPT

How to Get a Website Up and Running

If you like this guide and you want to support the community, you can sign up as a Founding Member here:

The main website for Henrico County, henrico.us, received a complete visual and structural

Keni Ren Lab for wtfi-17 Play with WordPress

MSI Sakib - Blogger, SEO Researcher and Internet Marketer

Hello, welcome to creating a widget in MyUW. We only have 300 seconds, so let s get going.

Comparative Assessment

SAFe Atlassian Style (Updated version with SAFe 4.5) Whitepapers & Handouts

learn programming the right way

Migration With Duda.

Web Hosting. Important features to consider

Table of Contents GEEK GUIDE DRUPAL 8 MIGRATION GUIDE. Introduction to Migrations with Drupal Preparing for a Migration...

BindTuning Installations Instructions, Setup Guide. Invent Setup Guide

VIVIT TQA Webinar: "DISCOVER THE POSSIBILITIES OF USING THE HP QUALITY CENTER API" May 12th 2010

What is SEO? { Search Engine Optimization }

Drupal Hosting. April 19, Northeast Ohio Drupal User Group 1

Omni-Channel for Administrators

12 Follow-up Templates

Guide to buying a better. build create

Bluehost and WordPress

The making of ERS 2.0. Getting Started with Cloud CMS

Setting Up A WordPress Blog

Contents at a Glance

PlayerLync Forms User Guide (MachForm)

Transcription:

Agile Drupal 8 Builds: Doing the Most Without PHP DrupalGovcon July 20th, 2016 Matt Cheney & Molly Byrnes 1

Hello to Drupalcon Govcon My name is Matthew Cheney. I work on the magical platform that is Pantheon. I believe in the power of site building. I worship at the altar of Earl Miles. I helped make Panopoly for Drupal 7. I want Drupal to be awesome for non-coders. I know that will happen with Drupal 8. 2

Hello to DrupalGovCon My name is Molly Byrnes. I work at Phase2 making digital visions reality. I believe in the promise of open technology. I managed content on the first major corporate international Drupal platform. I helped build one of the first large Drupal 8 sites in 2015 and a Drupal 8 media platform in 2016. 3

This is a Talk is About Making Websites We have content. We want to share the content. We have some time to spend. We need some tools to do this. We are going to do this right. 4

And the Choices We Make Along the Way But we have Drupal. Drupal let s us do a lot of things. Dream it? You can Drupal it. My dreams are pretty crazy. I just want to build a website. 5

How about a Radical Idea for Development? 6

Complete CMS Solution High Quality Codebase The Value of Core Easy to Update Aren t 237,000+ lines of PHP enough? 7

This Was Not True with Drupal 7 8

And We Want Awesome Out of the Box 9

I Tried to Make this Happen in Drupal 10

Making Drupal 7 Out of the Box Awesome 11

Panopoly Bundled Top Modules 12

Which Gave Lots of Power to Site Builders 13

Panopoly Improved the Admin Interface 14

And Provided a WYSIWYG 15

And a Ton of Other Stuff 16

And a Ton of Other Stuff 17

And Panopoly Got a Lot of Love 18

But There Was a Lot of Complexity 19

Lessons Learned from Panopoly in Drupal 7 The more members of your core development team the better. Defining configuration in code is important. Lots of time was spent simply getting the features to work (and be extended) correctly. Code quality and structure vary wildly across contrib projects. Panopoly had ~6. This limited the velocity of features/integrations. And can change from release to release! This makes coordinating new releases really tricky. Difficult to centralize contribution to the Panopoly ecosystem So many different issue queues! Hard to surface issues that needed attention. 20

Common Scenarios in Drupal 7 and before We have no idea where this bug comes from or is inherited from in some inconsistent way Module X has a critical bug, can t find maintainer and now I m cowboy coding some weird patch fix There is a security hole in the theme layer because someone put an entire PHP function in it and didn t sanitize it Deployed to production and things are weird because some feature revert override 21

Drupal 8 Gives Me Hope 22

Drupal 8 Makes Much of This Better The more members of your core development team the better. Defining configuration in code is important. Contribution management makes this much easier. Code quality and structure varies wildly across contrib projects Drupal core has the largest number of core developers in the ecosystem Drupal core provides clear patterns and structures for developers to leverage. Difficult to centralize contribution to the Panopoly ecosystem https://www.drupal.org/project/issues/drupal 23

Drupal 8 Dreams + Major UX initiative for the administration experience + Brings in a lot of learnings & long term feedback from Drupal end users + Views in core + Multi-lingual complete rethinking + Configuration management + Front end templating 24

Front End Magic Templating More accessible to common practices Drupal themeing isn t so specialized No PHP required 25

Front End Magic THEN.. I know that style change seems super small but the level of PHP i ll need to overwrite, strip and deal with because of how deep that markup is in a module file will take me an entire day to wrangle. NOW.. I had so much extra time on this integration that I added this sweet CSS animation on the transition between photos in this slider that I knew you would like it! 26

So much MAGIC... Integrating Pattern Library and doing exciting things are now possible https://www.phase2technology.com/blog/introducing-pattern-lab-starter-8/ We have the technology: https://github.com/pattern-lab/edition-php-drupal-standard https://github.com/phase2/pattern-lab-starter https://github.com/phase2/drupal-lab 27

Drupal 8 Out of the Box Can Be Really Good 28

Understand the contents of the box 32

Help others to understand the content box We log in to our current CMS with 3 screens, we can mirror this with the new system because it s so FLEXIBLE, right? Let me walk you through how the default user login process works in Drupal! 33

Module Madness Here is a list of all 120 modules on our D6 site... what is the upgrade plan for DRUPAL 8? We won t need nearly that many and we likely accomplish a lot of that functionality with CORE. Let s talk about your content management goals first. 34

Contrib Modules Drupal 7 and before Content lists Vanity URLs WYSIWYG Configuration Management (features) Drupal 8 Layout options Social Media Logins Special Caching Workflow models Dynamic content tricks This is actually a pretty critical feature especially for folks transitioning from systems without this autonomy 35

WhhaaaHAT IS A DRUPAL?!

Drupal 8 Core won t solve everything for you Goals Requirements Metrics for Success Organizational Vocabularies Workflows Content Model Plan and execution strategy... your organizational politics around web and digital 37

GOOOOAAAALSSSSS Everything we do should be directly traceable to a goal that creates value. 38

This is not as easy at it sounds... Every project or initiative starts someone trying to explain something that doesn t yet exist. 39

Requirements For any one ticket, there was an 8 step process followed, only 2 of which are development: 1. 2. 3. 4. 5. 6. 7. 8. Review requirements across multiple documents Study legacy system editorial experience Develop initial assumptions and questions about requirements Hold multiple work sessions with client to refine requirements Rewrite user stories, technical approach, and acceptance criteria Develop functionality Export functionality into configuration Test functionality 40

Working Back from Acceptance Criteria Define the acceptance criteria for a feature and then try it out on a Drupal 8 install. There might be one part of the initial ask that needs to be removed. System should provide user registration form with fields for username, password and email. System should provide option for direct registration or RaaS (Registration as a Service) to manage user profile. System should send email with a link to user to activate the account. User should open the link in the email and activate the account for usage. 41

Content Modeling Drupal has lots of places to put things and defining what, where and how content gets stored up front and in a systematic way leads to a smoother implementation. 42

Content Modeling Benefits Bring together key elements of the system in one place Flesh out the ideal details within the structure available Share and distribute ownership of data structures and naming earlier in project Resources: https://docs.google.com/spreadsheets/d/15htllwlguhwiutlg_nndqnpgwvdumy6uar_d1q-v6iw/edit#gid=0 https://www.palantir.net/blog/developing-drupal-sites-plan-or-perish 43

Commitment to Solution Flexibility Choice to using a mostly core system will require a strong commitment to this approach from all parties involved. Feature match to the exact idea of how to achieve the end goal for user in optimal way. Healthy Tension Approximate match to original idea yet aligned with goal AND achievable using the flexible tools in Drupal core 44

AGILE doesn t mean NO PLAN... agile means being able to move quickly and easily. 45

46

Image by Jeffery Peachy Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. https://jeffpeachey.com/2010/12/02/measure-twice-cut-once-woodcut-for-sale/ 47

uirements of what you actually ^ 0. Define goals, figure out the req with the approach need to build and align stakeholders 1. Begin development with vanilla Drupal 8 core. The Agile D8 Build Methodology A Better Development Process 2. Build as much of your site as possible using Drupal 8 core. 3. Add contrib projects (or custom code) when needed. 4. Leverage power of TWIG for customizing user experience. 5. Make an awesome website 48

So Let s Build Something Cool with D8 49

We Had a Lot of Content to Manage Blog User Profiles Perks Project Categories Projects Payment for Backings Videos 50

And Some Complex Functionality User Signups Project Search Post a Blog Defining and Fulfilling Perks Submitting a Project for Review Backing a Project Post a Video 51

But We Were Able to Do Most of It With D8 Article / Blog System Project Submission Workflow Project Categorization Project Perks and Fulfillment Project Backing & Payment User Accounts & Profiles TWIG based Drupal theme 52

Our Drupal 8 Agile Site Build 53

Start with the Basics 54

Start with Basic Drupal 8.1 55

Use the Standard Installation Profile 56

Lookin Good So Far 57

Add a Project Content Type 58

Add a Perks Content Type 59

Where We Stand Done To Do Installation Content Types Link Perks to Projects And list them on the Project page Projects Accept payment for Perks Perks Support videos on Projects 60

Create a View to List Projects... 61

...and Give It a Conditional Filter by User 62

...and Make the View an Entity Reference 63

Entity References Require a Search Field 64

Now We Can Have Perks Linked to Projects 65

...and Let Users Pick from Their Projects 66

Create a Block Showing Perks for a Project 67

...Filtered by Project 68

...for the Current Content View 69

...and Place It in the Right Sidebar 70

...and Place It in the Right Sidebar 71

...Restricted to Project Pages 72

Where We Stand Done To Do Installation Accept payment for Perks Content Types Support videos on Projects Projects Perks Link Perks to Projects And list them on the Project page 73

Add in Modules for Video and Payment 74

Add a Video Preview to Projects 75

...and Configure the Video Field 76

Add a Payment Form Field to Perks 77

...and Complete Its Configuration 78

Simplify the Form for Users 79

Final Project Form 80

Final Perk Form 81

Time to Theme and Trim Down the Display 82

Finished Product! 83

Closing Thoughts & QA 84