Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Drupal.org in 2015

Oliver Davies
December 29, 2015

Drupal.org in 2015

Oliver Davies

December 29, 2015
Tweet

More Decks by Oliver Davies

Other Decks in Technology

Transcript

  1. Drupal.org
    2014 Retrospective

    View Slide

  2. Where we are coming from in 2014
    ● Hiring a CTO
    ● Hiring a technology team
    ● Infrastructure improvements
    ● Removing technical debt
    ● Quick wins
    ● User Research Study
    ● Working Groups Ideation and Prioritization
    Planning and preparation for change

    View Slide

  3. JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC
    ?
    2013 2014
    Growing a Drupal.org team Project Manager
    is our last position
    to fill for 2015
    A small team, but
    big enough for a
    little
    specialization
    We go to
    11.5.
    That’s 1.5 louder
    than 10.
    Nigel Tufnel is jealous
    OCT NOV DEC
    Before October 2013,
    we had 2 staff to
    maintain Drupal.org

    View Slide

  4. Shout out via book cover to Cory Doctorow

    View Slide

  5. Wins
    ● CDN for worldwide delivery
    ● APIs: REST and JSON
    ● Semantic versioning and Drupal 8 release
    blockers
    ● Supporting localize.drupal.org upgrade
    Increasing stability, performance, options

    View Slide

  6. Wins
    ● Launch of
    ○ DrupalCon Amsterdam
    ○ Drupal Jobs
    ○ DrupalCon Latin America
    ○ Drupal Store
    ● Upgrade of
    ○ api.drupal.org
    ○ localize.drupal.org
    ○ groups.drupal.org plan
    Building momentum

    View Slide

  7. Wins
    ● Fighting the spammers
    ○ Ongoing… a lot of our user “growth” over the years is
    affected by spam accounts.
    ● Improving new user experience
    ○ Bakery customizations
    ○ Only allow new accounts on Drupal.org
    ○ Increasing our use of Mollom and spam detection
    ○ Changing the steps to “trust” a user
    Reducing velocity killers

    View Slide

  8. Wins
    ● Documented what we have
    ○ Both what we will support and where we will rely on volunteer support
    ● Change notifications
    ● Introduced Scrum project management
    ● Introduced product planning and lifecycle
    ● Tracking time to allow ROI calculations
    ● Support
    ○ Less open issues, answered more quickly
    ○ Zendesk and Twitter are new channels for support
    Becoming “enterprise”

    View Slide

  9. www.drupal.org
    Projects, issues, profiles,
    documentation, case studies
    forums, marketplace and planet
    D7
    api.drupal.org
    Detailed documentation of how Drupal
    works (versions 4.6+ are documented)
    D7
    security.drupal.org
    Used by Drupal security team to
    coordinate their work.
    D7
    localize.drupal.org
    organizes the translation and
    localization of all Drupal modules core
    and contributed
    D6 (upgrade in progress)
    DrupalCon sites
    20+ sites represent the history of
    DrupalCons.
    (We need to figure out a better
    archival strategy.)
    DNS redirects, static “archive”, D6,
    D7
    assoc.drupal.org
    The home of the Drupal Association
    and tied to the CiviCRM membership
    database. Users can purchase an
    association membership and read blog
    posts/news about the community.
    D7
    jobs.drupal.org
    Job posts, company pages, job seeker
    profiles
    D7
    drupalstore.org
    Buy Drupal gear
    Shopify
    groups.drupal.org
    Community hub for Drupal
    Organic groups permissions
    Events are mostly outside of g.d.o in
    places like meetup.com.
    D6 (needs upgrade)
    Sites and services hosted and maintained by the Drupal Association Technology Team
    Infrastructure
    Hosted at the Open Source Labs at
    Oregon State University
    and Amazon Web Services
    qa.drupal.org
    Testbot infrastructure
    Parts of this service live on AWS.
    D6 (pending upgrade to drupalci.org)
    devdrupal.org
    staging and dev environments
    Dev and Staging
    OpenStack Dev server host (4TB of storage,
    32 core, 100 GB RAM)
    Staging server host (TBD)
    Production (lots of physical servers)
    4 webnodes
    apache, varnish, php-fpm,
    memcache, etc.
    2 file servers
    DRBD, HA NFS
    4 database
    servers
    MariaDB
    2 git
    servers
    2 Solr
    Search
    Servers
    2 Load
    Balancers
    Nginx, ipvs
    1 Util server
    Git daemon,
    Jenkins, mailman
    3 nodes for ftp.drupal.org in United States
    Corvallis, OR; New York, NY; Chicago, IL
    CDN through EdgeCast
    Configured for D.o and all subsites
    updates.drupal.org
    Service allows Drupal sites to check
    and see if they are up to date.
    Logs are used to compile Drupal usage
    stats.
    infrastructure.drupal.org
    The site will organize Drupal.org
    development, ideation, changes,
    infrastructure tools and
    documentation
    Elastic testbot workers
    OSL SuperCell and Amazon EC2
    drupalcode.org
    web interface for Drupal.org Git
    repositories
    drupalcamp.org
    10+ sites
    We host DrupalCamp archives for the
    community on request.
    (We need a better archival strategy.)
    Static sites
    Dreditor
    Browser extension/plug-in for
    adding functionality to Drupal.
    org
    Drupal Ladder
    Tutorial for contributing to
    Drupal.org
    Community
    supported
    search.drupal.org
    login.drupal.org
    SimplyTest.me
    On demand sites for testing.
    Drush
    Helps users build with Drupal
    through command line tools.
    Druplicon IRC bot
    Says nice things to us and
    helps IRC users with issues and
    projects.
    Drupical
    Shows events from groups.
    druplal.org on a map

    View Slide

  10. Know thyself
    ● Developer Tools
    ● Community Tools
    ● Search and Discovery
    ● Documentation Tools
    ● Localization Tools
    ● Communication Tools
    ● Hosting Systems and Infrastructure
    ● Commerce and Operations
    ● Drupal Association Technology
    Defining the programs and products

    View Slide

  11. Drupal Association Tech Programs
    Drupal.org Content
    Working Group
    Drupal Association
    Staff
    Drupal.org Infrastructure
    Working Group
    Drupal.org Software
    Working Group
    Developer Tools
    Projects
    Issue Queues
    Releases & Packaging Scripts
    Version Control
    Git repos
    integrations
    drupal.org code
    Testbots:
    serve
    client
    qa.drupal.org
    drupalCI.org
    Change records
    Community Tools
    Forums
    Planet
    User Profiles
    User Dashboard
    Groups.drupal.org
    Camp Archives
    Localization Tools
    Localize.drupal.org
    Localization server module
    Translation template update
    extractor
    D.o Integrations: client, module,
    update module
    Other tools
    api.drupal.org
    Docs on D.o
    Commerce and
    Operations and
    Revenue
    jobs.drupal.org
    drupalstore.org
    assoc.drupal.org (civicrm)
    DrupalCon sites
    Hosting and
    Infrastructure
    Network equipment
    Servers
    CDN
    Colocated space (OSL hosting)
    Cloud instances (AWS)
    Git repository hosting (bitbucket)
    infrastructure.drupal.org
    secuity.drupal.org
    updates.drupal.org
    QA/BDD
    Association
    Technology
    hardware
    office tech
    internet
    accounts
    security
    backups
    Communication
    Tools
    D.o Homepage
    Landing pages
    Marketplace
    Organization pages
    Case Studies
    Outgoing communications:
    email lists
    Twitter
    Facebook
    Content on D.o
    Advertising
    Search & Discovery Tools
    Search Pages
    Search infrastructure

    View Slide

  12. Prioritizing our efforts
    ● 16 production Drupal websites
    ● Nearly as many production services integrated with sites
    ● Infrastructure that pushes 20 TB of data per month
    ● Easy to lose focus
    ● Volunteer teams are still critical
    ● 11.5 staff helps
    ● Working groups need to help keep the focus
    It can be difficult to divide one’s attention

    View Slide

  13. What we CANNOT affect
    ● Association staff cannot build Drupal 8 faster
    ○ but we can remove blockers
    ● Also, we cannot do all the things at once
    ○ Prioritize
    ○ Plan
    ○ Focus
    Learning our limitations

    View Slide

  14. Usage is steadily growing
    …about 17% over last year

    View Slide

  15. What we CAN affect
    ● Make Drupal.org (and subsites) easier to use
    ● Make our sites easier to integrate
    ● Generate revenue to invest back into
    development
    ● Make Drupal.org more secure
    ● Make Drupal.org more performant
    Learning our capabilities

    View Slide

  16. Drupal.org
    User Research

    View Slide

  17. Drupal.org objectives
    1. Be the home of the Drupal community. Central source of relevant
    info/answers, collaboration, education and talent.
    2. Provide learnable, efficient tools to help coordinate the advancement of
    Drupal ecosystem.
    3. Encourage people to develop themselves, their Drupal proficiency, their
    careers & build human connections over time
    Note: these objectives were developed during the Austin user research workshop, refined at July staff meeting.
    What do we want the website to do?

    View Slide

  18. User research
    Interviews
    We conducted 30 user interviews, part in-person during DrupalCon Austin, part
    remote in the weeks following the conference.
    Participants included:
    Full versions of the user personas and research summary.
    ● people new to Drupal
    ● Drupal users
    ● long-term community
    members
    ● ex-Drupalistas
    ● developers
    ● site builders
    ● designers
    ● content strategists
    ● project managers
    ● and many more
    ● from North America
    ● South America
    ● Europe

    View Slide

  19. User research
    ● Drupal users acquire increased skills (modified Dreyfus Model of Acquisition)
    User Personas
    Because skills are
    acquired through time
    and exposure, fewer
    individuals exist further
    up the model.
    Newcomer
    Learner
    Skilled
    Expert
    Master

    View Slide

  20. User research
    ● We need to increase the number of successful developers with Drupal.
    Where to focus our efforts
    Time and
    exposure
    Newcomer
    Learner
    Skilled
    Expert
    Master

    View Slide

  21. Learner Silvia
    Goal: To quickly build a website without starting from scratch.
    Behaviors
    ● Also works with WordPress, Sitecore, custom non-CMS sites for multiple clients at the same time
    ● Doesn’t always use Drupal terminology (e.g. “plugins” instead of “modules”)
    ● Goes to Google first when has a question, asks a friend for help when is stuck
    ● Visits Drupal.org when she is working on a Drupal project, primarily to look up documentation, download modules
    ● Does not have a Drupal.org user account: “I don’t need to log in for anything yet.”
    Motivations
    ● Wants to build a website with less work
    ● Wants to be able to quickly spin up new content heavy sites
    ● Wants her clients to have less work maintaining their websites
    “There’s so much to learn. Where do I even begin?”

    View Slide

  22. Learner Silvia
    “There’s so much to learn. Where do I even begin?”
    Attitudes
    ● Likes that Drupal is flexible, it’s quick and easy to
    build sites for clients
    ● Thinks that WordPress is for simple sites, Drupal
    for everything else
    ● Would like to attend Drupal event in the future
    ● Wants to know “who is who” in the community
    ● Has little awareness of the Drupal Association
    ● Does not see the benefit of Drupal.org user profile
    Frustrations
    ● Finds it hard to build and upgrade
    a simple site with Drupal
    ● Finds it hard to find modules that are relevant for
    her needs and are actively developed
    ● Does not want to look naive, when asking
    questions on Drupal.org, and is frustrated by lack
    of responses to asked questions
    ● It takes a lot of time to teach new people to use
    Drupal
    ● Dissatisfied by visual layout and IA of D.o, “it’s
    hard to find what you are looking for”

    View Slide

  23. Skilled Matt
    Goal: To find the most accurate information and get to know the right people to build
    websites more efficiently.
    “Picking a module is a lot like picking a recipe.
    Both freeing and frustrating”
    Behaviors
    ● More than 80% of his day to day work is Drupal
    related, but doesn’t tend to contribute modules
    ● Tries to find an answer on his own if able, then
    turns to someone else (usually an Expert)
    ● Always starts with Google, often times ends up
    finding answer at StackExchange
    ● While working on a Drupal project is constantly
    in the issue queues and on module pages
    ● Occasionally comments on issues, but never
    submits or reviews patches
    ● Attends some kind of Drupal event
    ● Teaches other non-technical people about Drupal
    “to make it less scary”
    Motivations
    ● Wants to find the most accurate and reliable
    resources from the most credible people
    ● Wants to build his personal network in the
    community
    ● Wants to gain credibility in the community
    ● Wants to remain connected to the community to
    always know what is coming next for the project
    ● Wants to support open source projects

    View Slide

  24. Skilled Matt
    “Picking a module is a lot like picking a recipe.
    Both freeing and frustrating”
    Attitudes
    ● Values Drupal community, thinks it’s a big benefit
    of the project
    ● Finds people in the Drupal community to be
    friendly and willing to help
    ● Sees personal network that people have in the
    community as a huge asset
    ● Likes that he can assemble a Drupal website
    rapidly
    ● Thinks it’s both the benefit and the drawback that
    Drupal can be used for such diverse use cases
    ● Likes the standards focus of Drupal
    Frustrations
    ● Finds it hard to decide which module
    to use for a specific task
    ● Thinks that Drupal has a steep learning curve, it
    took him awhile to learn
    ● Finds it challenging to figure out the health of the
    module/theme from the info on the project page
    ● Has not enough name recognition in the
    community to get answers to his questions fast
    enough
    ● Frustrated by Drupal.org search being ineffective
    ● Issue queue comments with a correct answer are
    not easily identifiable
    ● Thinks Drupal.org has poor information
    architecture and visual design

    View Slide

  25. Goal: To build a best-in-class Drupal website while giving back.
    Expert Anna
    “Use Wordpress when you want to build a website.
    Use Drupal when you want to build a Wordpress.”
    Behaviors
    ● Almost 100% of her work is Drupal
    ● Is actively using issue queue, submits and reviews patches,
    has a few core patches
    ● Writes custom modules/themes, writes and edits
    documentation
    ● Answers questions in issues, forums and IRC
    ● Attends local and national Drupal events, has spoken at a
    few
    ● Goes to Drupal.org for module or docs; visits api.drupal.org
    ● Often looks at other’s profiles on D.o, especially when
    hiring someone
    ● Responsible for explaining Drupal to non-tech
    stakeholders, helps them better understand the complexity
    of their requests
    Motivations
    ● Dreams to build a best in class, $1.5
    million Drupal site, worthy of being
    featured on Drupal.org and pointed to
    by members of the community
    ● Wants to contribute more, get more
    involved with core/contrib
    development
    ● Wants knowledge of Drupal to be
    spread across her team
    ● Wants to figure out how to do things
    better and constantly improve the
    structure of her web properties
    ● Wants to stay up-to-date with core
    development

    View Slide

  26. Expert Anna
    “Use Wordpress when you want to build a website.
    Use Drupal when you want to build a Wordpress.”
    Attitudes
    ● The greatest benefit of Drupal is the community,
    because someone else has probably run into your
    problem before
    ● Community gives you an opportunity to
    collaborate with people, find friends
    ● Open source is a big benefit of Drupal and a
    selling point to stakeholders
    ● Modules and themes that exist empower her to
    do more and faster than she could on her own
    ● Looking to hire self-starters, eager to learn
    ● Feels her Drupal.org profile was beneficial when
    looking for jobs or clients
    ● Thinks that Drupal is all-encompassing, can be
    crafted into anything you want it to be, flexible,
    integrates with everything
    Frustrations
    ● Has many frustrations with Drupal as
    a product, but believes Drupal 8 will fix most.
    ● But... is frustrated she has to learn it all again for
    Drupal 8
    ● So hard to find good Drupal talent to hire
    ● It takes too much time to get something into core
    ● No clear product guidance for Drupal
    ● Finds the process of becoming project maintainer
    or co-maintainer to be extremely hard
    ● Unmaintained projects and unstable releases. It is
    useless to ask for help in their issue queue
    ● Wishes her profile was more robust and included
    more of the things she has built
    ● Frustrated it is not easy to get involved in core
    development

    View Slide

  27. User research lessons learned
    ● What does this mean?
    ○ Learners:
    ■ understand a lot and can build sites well
    ■ are still confused by Drupalisms
    ○ Skilled users:
    ■ earn a living with Drupal
    ■ increase the usage of Drupal
    ■ help build Drupal in the future
    Focusing on increasing proficiency

    View Slide

  28. User research lessons learned
    ● Masters know how to work around issues on Drupal.org.
    ● If masters are frustrated, they feel it is the process/people
    rather than tools.
    ● There is still room for improvements, but they should not
    come at the expense of improvements for the learner-to-
    skilled transition.
    We should not build for masters

    View Slide

  29. User research lessons learned
    ● Newcomers need some basic information to get started.
    ○ Newcomer content can be focused on their role in an organization:
    CEO, developer, designer, etc.
    ● Newcomers can become competent quite quickly with
    the current tools—advancing to Learner—but are daunted
    by the effort to become Skilled.
    We should not build tools newcomers

    View Slide

  30. Drupal.org
    2015 Strategic Plan

    View Slide

  31. Where we are going in 2015
    ● Capacity
    ● Velocity
    ● Sustainability
    Drupal Association Technology Team

    View Slide

  32. Capacity
    ● People
    ○ Hiring highly qualified staff
    ● Hardware
    ○ Increasing our use of the public cloud for R&D and
    testbots
    ● Process
    ○ Understanding the workload and estimating our time
    ○ Tracking our time to know where we spend it
    Ability to do more work for the community

    View Slide

  33. Velocity
    ● People
    ○ Building up knowledge of the Drupal.org ecosystem
    ○ Sharing knowledge between team members real time
    ● Hardware
    ○ Development environments and deployment process
    ● Process
    ○ Agile project/product management
    ○ Incremental focused improvements
    Increasing the pace of change on Drupal.org

    View Slide

  34. Sustainability
    ● People
    ○ Building team bonds with community and working
    groups
    ● Hardware
    ○ Buying less hardware to reduce footprint
    ● Process
    ○ Ideation, prioritization, execution, change notification,
    and maintenance planning
    Planning for the long term

    View Slide

  35. Where we are going in 2015
    ● Focus on developers
    ● Make the project successful by promoting it
    with great content and tools
    ● We need to “get off the island” with our tools
    ● Highlight organizations and individuals that
    are helping move the project forward
    Themes from the board

    View Slide

  36. Where we are going in 2015
    ● Increase community engagement
    ● Grow adoption of Drupal
    ● Make it easier to build Drupal and to build
    with Drupal
    ● Make Drupal.org the home of the community
    by increasing repeat visitors
    ● Improve the maintainability of Drupal.org
    Themes from the working groups

    View Slide

  37. Working groups
    ● We have done ideation for several years
    ● This year focused on ideas from the working
    groups
    ● Similar themes from previous years with a
    few new twists
    Ideation from those in the know

    View Slide

  38. First we prioritized by objectives...
    then we prioritized by persona and revenue

    View Slide

  39. Prioritized top 10 projects
    1. Improve project browsing
    2. Issue page improvements
    3. "Pull Requests"
    4. Topic pages
    5. Make Drupal.org search usable
    6. Ability to follow any entity (documentation, project, user, etc.)
    7. Port groups.drupal.org to Commons
    8. Responsive default theme for Drupal.org
    9. Build support system on Drupal.org
    10. Support Drupal 8 translations on localize.drupal.org
    DSWG

    View Slide

  40. Prioritized top 10 projects
    1. Improved project page and project browsing
    2. Responsive theme for Drupal.org
    3. Q&A support system on Drupal.org
    4. Make Drupal.org search usable
    5. Improved user profiles
    6. Reviews and ratings for projects
    7. Curated documentation on select landing pages
    8. Better documentation on Drupal.org
    9. Curated tutorials
    10. Documentation connected to project
    There is a lot of overlap.
    User research/persona ratings

    View Slide

  41. Research and the DSWG overlap
    Makes sense… they care about users
    Working groups
    ● Issue page improvements
    ● "Pull Requests"
    ● Topic pages
    ● Ability to follow any entity
    (documentation, project,
    user, etc.)
    ● Port groups.drupal.org to
    Commons
    ● Support Drupal 8
    translations on localize.
    drupal.org
    User Research
    ● Improved user profiles
    ● Reviews and ratings for
    projects
    ● Curated documentation on
    select landing pages
    ● Better documentation on
    Drupal.org
    ● Curated tutorials
    ● Documentation connected to
    project
    ● Improved project
    browsing
    ● Responsive theme for
    Drupal.org
    ● Make Drupal.org
    search usable
    ● Q&A support system
    on Drupal.org

    View Slide

  42. We also need to think about revenue
    Overlap is small, but the importance is recognized
    Working groups User Research
    Topic pages
    Curated documentation
    Newcomer tutorials
    Revenue
    Drupal Jobs
    Drupal Store
    DrupalCon sites
    Advertising
    Supporting partners
    *New revenue*

    View Slide

  43. Key initiatives in 2015
    Credit: Daniele Margaroli

    View Slide

  44. Key initiatives in 2015
    What we heard
    What we’ve heard before
    Solutions
    We listened. Now, here is a plan.
    “We finally have a full-time team to do this work.”

    View Slide

  45. Sustaining the ecosystem
    ● Monitor key performance indicators
    ○ Page response, testbot test time, uptime
    ● Keep up with issue queues
    ○ Issue response time, office hours
    ● Incrementally improve testing
    ● Development and deployment
    ● Maximize the hardware (OSL, AWS, CDN, FTW)
    ● Relaunching the Drupal.org newsletter
    (57,000 subscribers; last newsletter in 2008)
    Pay yourself first

    View Slide

  46. Funding all this great work...
    ● Improving our commerce sites
    ○ DrupalCon sites
    ○ Drupal Jobs
    ○ Drupal Store
    ● Monetization efforts
    ○ Advertizing
    ○ New monetization products
    It’s not a lot of time… but we cannot forget this stuff.
    revenue, revenue, revenue

    View Slide

  47. Top 7 Drupal.org projects (CTO’s list)
    1. Better account creation and login
    2. Organization and user profile
    improvements
    3. Responsive Redesign of
    Drupal.org (device agnostic)
    4. Issue workflow (Git) improvements
    5. Make Drupal.org search usable
    6. Improved tools to find and
    select projects
    7. Groups moves to Drupal 7 and gets
    integrated with Drupal.org
    Based on capacity, velocity, sustainability
    This list is a little aggressive at the current staffing level, but feasible for 2015 if we focus on these efforts now.
    Tech Team
    Board
    Board DSWG DCWG
    Board DSWG
    Board DSWG DCWG
    DSWG DCWG Research
    Research
    DSWG Research
    Research
    Security Research Infrastructure

    View Slide

  48. Better account creation and login

    View Slide

  49. Better account creation and login
    ● Triggers: July spammer attack, Jobs account
    workflow, September spammer attack
    ● Workflow is hard on newcomers and learners
    ● Spammers love how easy it is to get started
    ● Roles and permissions should reflect growth
    in community
    ● Key to security
    Never a priority… until it breaks

    View Slide

  50. Better account creation and login
    ● Newcomers to Drupal.org need a simple registration
    experience.
    ● Spammers should be stopped.
    ● Principle of least privilege (roll and permissions review)
    ● Users should have unified login for all Drupal.org sites.
    ● Users should not enter the same information over and over on
    each Drupal.org site.
    Specific improvements

    View Slide

  51. Organization and user profile improvements

    View Slide

  52. Improved profiles (orgs and users)
    ● I want to know what this contributor is mostly doing in the
    community
    ● I want to know if this contributor knows what they are doing/saying
    ● I want to know if this community member has expertise in specific
    area
    ● I want to know how long this person is a member of the community
    ● I want to connect with other members of the community
    ● I want to show the community what my skills and expertise are
    ● I want to show the community that they can trust my answers and
    my code
    What we heard in user research

    View Slide

  53. Organization and user profile improvements

    View Slide

  54. Organizations are key to our growth
    ● We need to highlight companies that
    contribute.
    ● We need to highlight success stories with
    professional case studies.
    ● We need organizations to be tied to their
    (current) users and their (ongoing) credit.
    Both providers and customer organizations

    View Slide

  55. Responsive Redesign of Drupal.org

    View Slide

  56. Responsive Redesign of Drupal.org
    ● Redesign
    ○ User research [done]
    ○ Content strategy and IA [RFP]
    ○ Design library [in progress]
    ● We need to go
    bigger and go smaller
    ○ Big screen optimization for features like the issue queues
    ○ Small screen optimization for documentation and marketing materials
    Being responsive is more than a theme

    View Slide

  57. Canonical
    Project Repo
    Issue
    Workspace
    Repo
    Patch
    File
    Inline
    Edit
    Contributor
    Repo
    Issue Queue
    Conversation
    Contributor
    Repo
    Contributor
    Repo
    Testbots
    diff
    Issue workflow (Git) improvements

    View Slide

  58. “Pull requests” or “Fix Git” or “Migrate!”
    ● Core contributors did not feel pull requests as
    implemented on Github would work for the
    current workflow
    ● But, they recognized that a better workflow
    would help build proficiency in new
    contributors.
    ● Basically, it works, but it could be better.
    What we heard in user research

    View Slide

  59. A major git change challenge
    ● Status Quo (not really an option)
    ● Move to Github
    ● Switch to a new internal software tool
    (Gitlab/Phabricator etc)
    ● Modernize Drupal.org workflow
    Options

    View Slide

  60. “Pull requests”
    ● Provide better integration of sandboxes and parent
    projects (February 2012)
    ● Use gitlab for all projects (August 2013)
    ● Implement pull requests (March 2014)
    ● Commerce Kickstart: “Development now takes place in a
    public Github repository.”
    ● Move Git repositories to Github (August 2013 - skip right
    to webchick’s write up to save time)
    We’ve heard this before…

    View Slide

  61. Github vs. Drupal.org
    There are myriad differences in features, however the most
    fundamental differentiator between Github’s pull request
    workflow, and Drupal.org’s patch based workflow is
    primarily a difference between our respective data models
    surrounding change management. We cannot control the
    data model Github uses.
    Pull Requests vs Issues

    View Slide

  62. The great Git change challenge
    ● Github has become the de facto repository for many developers as the pull
    request process is seen as easier
    ● “Just” migrating to Github would be a huge project. User accounts are not
    compatible and the workflow learning curve would fundamentally change
    core development.
    ● Installing new Git tools with pull request capability still requires us to
    integrate that tool to Drupal.org.
    ● We are not “on an island” because we are not on Github. For example, this is
    so difficult that Wordpress is still on Subversion rather than tackling the
    migration.
    None of the options are “just” or easy

    View Slide

  63. We can do this
    ● Issue workspaces are modernized versions of our current workflow, which
    maintains the collaborative data model we currently use.
    ● It is not a new idea, but new solutions to some of the challenges have
    emerged since the original proposals.
    ● Similar to “per-issue repositories”
    ● Updating the issue queues to support pull requests and inline editing is not
    impossible.
    ● As a bonus, we can build it so that the patch process doesn’t break. This
    means no loss in project velocity while people learn the new tools.
    Issue workspaces!

    View Slide

  64. HEAD
    Real life example from https://www.drupal.org/node/1740492
    dawehner creates issue workspace, clones it, and pushes a change to his
    branch. (1)
    xjm sees some text cleanup, and fixes in the inline editor (5)
    dawehner pulls xjms changes, and adds commits, (18,19,22)
    dawehner rebases HEAD back onto his workspace master, and adds
    more changes (28/29)
    dawehner pulls damienklops changes and makes another fix (37)
    damienklop makes some more fixes (35,36)
    damienklop makes a personal branch based off of latest, pulls head (34)
    dasjo posts another commit (42)
    dasjo creates a branch based on the latest (dawehners) (39)
    jhodgdon fixes documentation via inline edit. other questions asked in the issue. (*)
    dawehner doesnt need dasjo’s changes and keeps working on the issue(68-74
    dawehner incorporates jhodgdons suggestions, meanwhile pulling in the
    project HEAD. (74-128)
    alexpott takes
    dawehner’s final
    commit and does a
    git merge --squash
    adding one commit
    back to the HEAD of
    project development

    View Slide

  65. Make Drupal.org search usable
    Credit: dliban
    AND
    Improve tools to find and
    select projects

    View Slide

  66. Make Drupal.org search usable
    ● I want to quickly find the information I'm looking for
    ● I want to see what modules may be available to help me
    build this feature on my website
    ● I want to figure out if this module is worth using on my
    website
    What we heard in user research

    View Slide

  67. Make Drupal.org search usable
    ● Better Solr or Elastisearch settings
    ● Search displays that show just what you need
    ● Better facets that are contextual
    ● Make organizations and users searchable
    It is not rocket surgery

    View Slide

  68. Improve tools to find and select projects
    ● I want to find the right module that will help me build this
    feature my users need
    ● I want to see what modules may be available to help me
    build this feature on my website
    ● I want to figure out if this module is worth using on my
    website
    ● I want to find the best answer to a question about this
    module
    What we heard in user research

    View Slide

  69. Improve tools to find and select projects
    ● Prairie Initiative: better project pages and project listings
    (March 2011)
    ● Projects Quality Initiative (May 2012)
    ● Highlight Projects that Follow Best Practicies
    (February 2014)
    ● …and more that go back to Drupal.org version 6, 5, 4...
    We’ve heard this before…

    View Slide

  70. Improve tools to find and select projects
    ● Ratings and reviews for modules, themes, and
    distributions
    ● Health metrics on the search results that
    influence search ranking
    ● Project comparisons
    ● Reference case studies on project pages
    ● Better tagging and classification of projects
    Common themes and possible solutions

    View Slide

  71. Groups.drupal.org
    ● I want to find out when there will be Drupal events
    happening near me
    ● I want to connect with other members of the community
    ● I want to communicate with the members of my local
    user group
    ● I want to receive news and updates from my local user
    group
    ● I want to find out when/where is the next LUG meetup
    What we heard in user research

    View Slide

  72. Groups.drupal.org
    ● Deciding if the path is to migrate to Drupal
    Commons (80/20 rule)
    ● While planning migration, we need to start
    thinking about integration with Drupal.org
    ● There is data in Groups that we need to better
    understand our community
    It’s all about the features

    View Slide

  73. If we get everything else done...
    Credit: the monk

    View Slide