Examples Project: Split it up!
It's time to re-evaluate the strategy and goals of the Examples Project on Drupal.org.
The project had its origin as documentation examples, but they were buried in an obscure place in the CVS tree and had no executable format. During the D7 cycle we dusted them off, added tests, and put them into a maintainable place where they'd be automatically tested and were maintainable. Loads and loads of examples were added, and lots of things were improved. Lots of people put hundreds of hours into this, and the entire community appreciates it.
However, I think it's time to re-evaluate the maintenance of this project, and to talk about how it should be structured long-term. I personally am not committed to maintaining the new 8.x examples and changes that need to be made, and other maintainers have not been able to keep up either. The result is that testing on the 8.x branch has been broken (theming and render, contextual links) for nearly six months. And all that is before the real changes in 8.x core kick in.
I propose that we:
- Branch off of the current 8.x-1.x branch a copy, and then remove the 8.x code from the project. To date, I think it has received only copycat (cherry-pick) commits, and probably some of those have been missed.
- Separate the various examples into separate projects (git repositories). The master Examples project could continue as a reference page for the other examples.
- Seek individual maintainers for each example module (or theme, or profile).
- Move relevant open issues into the new projects.
As a result, we'd be able to support projects that are not core, a common request which has been denied many times because there are limits to what can go into one project. We would also be able to branch out into themes and profiles, which was not possible within the one-module structure.
I believe that this would distribute the overall maintainership load much more sustainably, and would permit a better approach to newer 8.x examples.
Consequences of this?
- Changes to api.drupal.org will be required to pull in the new separate examples projects.
- People may be confused that everything's not in one place. I suppose we could make a tool that would bring them all together for download.
If you have thoughts, ideas, objections, or other responses, please post them over in the issue devoted to this idea on Drupal.org. (Comments are closed here so that the discussion can take place over there.)