Flag
Flag Friend
Examples
(We're hiring!)
Provides real, functional modules
...that should never be used on a real site
The Examples for Developers project aims to provide high-quality, well-documented API examples for a broad range of Drupal's core functionality.
Help for writing modules
Example code for new/updated APIs
While the target is execution...
...how it's written is important!
Modules not isolated from each other
Comments for information, not for instruction
While providing functional modules
Volunteer-driven
Features requested by the community
Bootstraps many contrib modules
Signals to contrib devs core is ready
In a way that isn't true for other contrib modules
Examples module is...all but impossible to find unless you're already "in" with the community.
‐ Angela "webchick" Byron
Example modules could be used by core tests as "Mock modules", so fewer of those mock modules would be required.
‐Randy Fay (rfay)
Well commented code lowers barrier to contributing
Except...
Ruins key advantage of Example code
Examples' goal is to support contrib devs
...not be core's test case
‐ Daniel F. Kudwien (sun)
Test cases have to account for mal-use, abuse, & pure stupidity
Tests complicated enough without Example code overhead
More than just adding lots of comments
Different considerations compared to "production" code
All the agony of updating Examples...
...and core at the same time!
No one is fixing the problem.
...Right?
https://groups.drupal.org/node/436203
So developers can easily find it...
...while keeping it hidden from users?
The natural place
Delete on install or special exception to hide in admin > extend
Where all core modules go
Examples not really a core module, less discoverability
Keeps it in /core, but not "in core"
Hidden for users, more discoverable for developers
Can't miss it there
Must be moved or copied to enable
But fast enough for Examples?
Based on the "Cloud Champion"
Proven way to roll out large, intimidating changes in an enterprise
Support contrib developers through documentation, mediation, sample code, education, and public outreach in order to ensure a successful deployment of a new major version of Drupal core.
The first, Most Obvious Role
Provide a consistent avenue for information and discussion
Assist with crowdfunding, awareness, knowledge transfer
So that issues will be heard...
...while reducing foot work for devs.
The worst thing that can happen...
...is what happened.
Are inevitable when changes are huge
And easily created unintentionally
Because if no one does it...
...it only confirms people's unspoken fears.
Blog posts, documentation, videos, organizing sprints
Multiple team members, multiple companies
Community Liaisons, Project Managers, Mentors
On-boards new developers
Kickstarts module updates
Signals core is ready for new modules
Examples is special to the community
But core inclusion isn't a good fit
It's that people's needs aren't being met
There's no easy way to meet that without change
Mediates concerns about core
Supports documentation and examples
Boosts key "front line" modules
To the social problems of implementing change in a technical context
Learn and contribute to Drupal Core
Mentors will help you setup and find issues
Friday 9am - 6pm, Room 403AB
@socketwench
http://socketwench.github.io/exampleModuleAintCore