Upgrade Your Drupal Skills
We trained 1,000+ Drupal Developers over the last decade.
See Advanced Courses NAH, I know EnoughThis YEAR in Drupal Core (2013)
Welcome! For Drupal's 13th birthday, in addition to Give Drupal a Birthday Present: Tackle a D8 Issue!, we wanted to celebrate the occasion with a retrospective of the year 2013 as it relates to Drupal core development!
Here are some stats to get us started:
- 1,120 unique Drupal 8 patch contributors during 2013, bringing the total number of contributors for the release to over 1,800!
- 4,175 Drupal 8 core patches committed (even with one core maintainer on leave for several months).
- Nearly 10,000 automated test assertions added, bringing our total to nearly 60,000 tests!
- Over 60,000 lines of documentation added (and for the record, less than 2% of our lines of documentation are
{@inheritdoc}
). :P
On the whole, 2013 represented a major shift in the Drupal 8 codebase toward modern best practices. Most core systems now use interfaces and classed objects for better developer experience. Sprawling procedural include files have largely been converted to self-contained component classes, and the new Drupal 8 plugin system is now used consistently for pluggable systems. ;)
2013 also saw some fantastic improvements for Drupal site builders, themers, and site users. At the beginning of the year, Views was in core, but core didn't use it. Now, 3 admin listings, 2 RSS feeds, 3 blocks, and the front page content listing are all views. We've added a WYSIWYG editor, several new configurable field types including Entity Reference field, configurable form modes to allow customizing of data entry forms, and a new theme templating system, Twig.
Finally, we made Drupal core truly multilingual in 2013. At the start of the year, node titles and the site name were not translatable -- now, Drupal 8 core is more translatable than Drupal 7 with all of contrib, and translations can be downloaded right away on installation.
Amazing work, everyone!
Here's a month-by-month breakdown of the milestone events and patches of 2013.
Jan 2013
On January 15, Drupal turned 12! The Blocks and Layouts, Web Services, and Multilingual initiatives also hit several important milestones.
Milestone issues
- #1535868: Blocks converted to plugins
- #1848490: Import translations automatically during install
- #1866610: Configuration schemas
- #1874500: CMF-based routing component
Feb 2013
After switching from Aloha to CKEditor, the long-awaited WYSIWYG in core issue landed. Hooray!
DrupalCon Sydney
Sprinting Sydney style, in the sunshine with an ocean view
Photo credit: xjm
In Feburary, leading up to the end of Feature completion phase, there was a rocking code sprint in the sun at DrupalCon Sydney!
In between working on patches, conference attendees actually went outdoors once in awhile to enjoy the sun.
Even Druplicon came to play in the sand!
Photo credit: xjm
Milestone issues
- #1890502: WYSIWYG in core
- #1801304: Entity reference in core
- #1913084: FormInterface added
- #1510532: New content creation page implemented
March 2013
March saw the commit of PHPUnit following work at the DrupalCon Sydney code sprint. (Since then, we've added 1240 assertions in 164 PHPUnit test classes!). We also converted the very first core listing page (the /node front page) to a view!
Milestone issues
- #1732730: Converted all entity fields to new Entity Field API
- #1901670: PHPUnit added to core.
- #1806334: Node frontpage converted to a view
- #1875086: Improve DX of drupal_container()->get()
April 2013
In April, alexpott joined the Drupal 8 core maintainer team. Since he started, Alex has committed nearly half of all Drupal 8 core patches. The epic patch to convert fields to CMI was committed a week later (the next big test of Drupal 8's new configuration system after Views was added to core in 2012).
Milestone issues
- #1862398 Replace drupal_http_request() with Guzzle.
- #1735118: Fields converted to CMI
- #1935538: Switch REST to default to HAL.
- #1971384: Efforts begin to port all core page callbacks to the new Drupal 8 routing system (a.k.a. "Converting Drupal 8 to Drupal 8")
May 2013
DrupalCon Portland
The Portland "Hard Problems" discussions
Photo credit: Amazee Labs
Several days of in-depth technical discussions before the start of the conference. This was the largest DrupalCon sprint ever, with over 650 participants!
Check out the spike from @DrupalCon Portland sprints on this graph! By FAR the highest core participation in 2 years. pic.twitter.com/5dSSjT9H3P
— xjm (@xjmdrupal) June 5, 2013
Of particular note, the Twig sprint at DrupalCon Portland was amazing to behold. Tons of themers and front-end developers worked together in a massive push to convert core templates to Twig well before the API freeze deadline.
Milestone issues
_________________________________________ / Committed and pushed to 8.x. Thanks! \ | Thanks plach, das-peter, Schnitzel, | | dawehner, YesCT, attiks, Berdir, Gábor | | Hojtsy, Soul88, Carsten Müller. You | \ are awesome! / ----------------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
June 2013
Lots of hard work on technical debt between DrupalCon Portland and API freeze. More major issues fixed than any other month of the 8.x cycle, and a near-record for criticals.
DevDays Dublin
DevDays Dublin sprint room
Photo credit: @m_aaark
Drupal Developer Days Dublin hosted a week-long codesprint leading up to the start of Drupal 8's API freeze.
comm-press put together a great video interviewing DevDays attendees about what they're most excited about in Drupal 8:
Milestone issues
- #1851086: admin/people converted to a view
- #1895160: admin/content converted to a view
- #1337554: Redesign the installer
- #2014821: Introduced a UI for configurable form modes (huge win for site builders!)
July 2013
July 1 marked the beginning of API freeze. As a result, focus shifted to finishing in-progress API conversions, including Twig and theme layer improvements, conversions to the new-style form and page controllers introduced by the WSCCI initiative, and porting things over to the new configuration system.
Milestone issues
- #1963544: Aggregator RSS feed converted to a view.
- #2021817: Field widgets and formatters work on everything! (Entity base fields like titles as well as configurable fields).
- #1784234: Schema.org support in RDF
August 2013
By August, attention had started turning towards Developer Experience (DX) improvements, and an examination of what API changes were left outstanding to complete prior to Drupal 8.0.
Midwest Developer Summit
Midwest Developer Summit at Palantir's offices
Photo credit: eatings
The Midwest Developer Summit was a three-day, supercharged developer sprint: No sessions, no booths, no distractions. There were sprints on everything from media to web services, and Dries worked with several core issue queue wranglers to approve each proposed API change -- or not, with the goal of finishing Drupal 8's APIs, to move away from adding new things and toward release.
Testbot brainstorm whiteboard
Photo credit: xjm
Milestone issues
- #2049159: ControllerBase
September 2013
DrupalCon Prague
View from the Prague coder lounge
Photo credit: xjm
DrupalCon Prague was a landmark event for Drupal 8. Core maintainers announced the Migrate in core initiative live and that core would provide a D6 to D8 migration path:
If you've just built a Drupal 7 or you've had one running successfully for two years, you're probably not looking to upgrade it. But if you have a five year old Drupal 6 site, you are, and we're coming back for you.
Core maintainer alexpott
At Prague we also started building consensus to overhaul the Drupal 8 release cycle to provide a better experience for businesses and developers alike.
Prague sprint day
Photo credit: Amazee Labs
Milestone issues
- #1497374: Entity storage
- #1199946: Disabled modules status removed
- #1605290: Entity render caching
- #1203886: PHP module removed
- #2083811: Field langcode handling uncrazified
- #1983554: No more Entity BC-mode
- #731724: Comments converted to a field that works with any entity type, after a year of epic work.
October 2013
After the swell of development from DrupalCon, October was also the month with more critical issues fixed than any other month of the 8.x cycle!
BADCamp
BADCamp pre-sprint
Photo credit: Amazee Labs
Milestone issues
- #2106709: Router BC layer removed
- #1851414: Views converted to accessible modals
- #2023563: Entity field types converted to the new field type plugin
.
November 2013
November saw the passing of a dearly beloved old friend, the Overlay module. In its place is a nice "Back to site" link in the admin UI which will return you to where you were on the front-end. All of the usability, far less JavaScript! :D
Milestone issues
- #1952394: Configuration translation UI
With Content + Config Translation in core D8 core is more translatable than D7 with all of contrib. #drupal
— Tobias Stöckler (@tstoeckler) November 18, 2013
- #1498574: Decision made to require PHP 5.4
- #2055853: Revamped Block UI
- #2088121: Removed overlay
- #1886448: Theme registry service
- #2125717: First Migrate in core patch lands
- #2047229: Entity field and data definitions become classed objects, significantly improving Entity & Field API DX
December 2013
Milestone issues
- #2130811: Config validation
- #1957276: Views block conversions unblocked
- #2097189: Rebuild script
- #1786490: State system caching (huge performance boost)
And now, onto 2014!
2013 was an amazing year, but now it's time to turn our sights to 2014. We've finally turned the corner on attacking our technical debt, and are making steady progress on beta release-blocking issues which, if current trends continue, could result in a beta release as early as March.
About Drupal Sun
Drupal Sun is an Evolving Web project. It allows you to:
- Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
- Facet based on tags, author, or feed
- Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
- View the entire article text inline, or in the context of the site where it was created
See the blog post at Evolving Web