webchick.net - drupalhttp://webchick.net/taxonomy/term/1
enAn analysis of Drupal major version adoptionhttp://webchick.net/node/129
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><em><strong>TL;DR</strong> We need to ship D8. ;)</em></p>
<p>I was sent this question today from a co-worker:</p>
<blockquote><p>
"We always talk anecdotally about how Drupal adoption slows before a new release and then picks back up. Do we have any data to support that for Drupal 7 or Drupal 6? I’d love to know the impact of Drupal 8 as well – but not sure that’s possible. Any thoughts?"
</p></blockquote>
<p>This is a great question, but since email is where information goes to die ;), I figured I would copy my response into a blog post as well.</p>
<!--break--><h3>Show me the data!</h3>
<p>Since D8 has been in development so long, we don't have enough data showing on <a href="https://www.drupal.org/project/usage/drupal">https://www.drupal.org/project/usage/drupal</a> anymore since it prunes it after 3 years. :(</p>
<p>Here's a graph I made from trawling through historical data on <a href="https://archive.org/web/">https://archive.org/web/</a> though (<a href="https://docs.google.com/spreadsheets/d/1ETrxAEHgLepeCR8WhuMDrWba1IKXJGd32Lq0hh5szjs/edit#gid=0">source</a>):</p>
<iframe width="600" height="400" src="https://docs.google.com/spreadsheets/d/1ETrxAEHgLepeCR8WhuMDrWba1IKXJGd32Lq0hh5szjs/pubchart?oid=2045321345&amp;format=interactive"></iframe><p>
This only goes back to June 2008 which is after D6 came out, so it's not ideal, but we can still glean some useful data out of it.</p>
<h3>Drupal 6</h3>
<p>Here is a screenshot of the data from just prior to Drupal 7's release in January 2011:</p>
<p><img src="http://webchick.net/files/Screen%20Shot%202015-06-05%20at%2012.38.11%20PM.png" alt="A graph showing a gradual slope from 0 installs to about 300K installs over 3 years." /></p>
<ul>
<li>In December 2008 there were 77K installs of D6 (compared to 0 in January since it wasn't out yet :)) (77K% increase). This is when D7 was in active development.</li>
<li>At the end of 2009 there were 203K installs of D6 (163% increase). This was when D7 was in feature freeze.</li>
<li>At the end of 2010 there were 323K installs of D6 (59% increase). This was when D7 was just about to ship.</li>
<li>At the end of 2011 there were 292K installs of D6 (9% decrease). This is when D7 had been out for about a year and several key contributed modules were ported.</li>
<li>D6 usage has been declining ever since, and is currently at about 135K installs.</li>
</ul>
<h3>Drupal 7</h3>
<p>Here is the data from 2011 to today:</p>
<p><img src="http://webchick.net/files/Screen%20Shot%202015-06-05%20at%2012.46.08%20PM.png" alt="A graph showing a much steeper upward slope, from a few thousand to nearly 1M sites." /></p>
<ul>
<li>At the end of 2010 there were 6.5K installs of D7. This is when D7 was just about to be released.</li>
<li>At the end of 2011 there were 230K installs of D7 (3438% increase). This is when D7 had been out for about a year and several key contributed modules were ported, and D8 was just beginning development (was mostly D7 bug fixes at this point). Of note, D7 usage eclipsed D6 usage just a few months later (Feb 2012).</li>
<li>At the end of 2012 there were 522K D7 installs (127% increase). This is when D8 was nearly done with feature development.</li>
<li>At the end of 2013 there were 728K D7 installs (39% increase). This is after D8 was in code freeze.</li>
<li>At the end of 2014 there were 869K (19% increase). This is when D8 was in beta.</li>
<li>As of last week (mid-2015) there were 984K installs (13% increase). D8 is currently still in beta, with <a href="https://www.drupal.org/drupal-8.0/get-involved">~25 critical issues remaining</a> before <a href="https://www.drupal.org/core/dev-cycle#rc">release candidates</a>.</li>
</ul>
<h3>Patterns</h3>
<p>There are a few patterns we can discern from this data:</p>
<ul>
<li>There is an <em>enormous</em> uptick in Drupal usage every new major release (though it's delayed until it reaches a "stable" state, i.e. after enough contributed modules are ported).</li>
<li>After that initial year or two of exponential growth, it slows down a lot.</li>
<li>The closer the next version is to being released, the slower the growth is of the current version. Generally, this is because people will postpone projects and/or use non-Drupal solutions to avoid incurring a major version upgrade.</li>
<li>Usage of the older stable version starts to decline after the newer major version reaches the "stable" state.</li>
</ul>
<h3>Why Drupal 8 will make this more betterer</h3>
<p>There are a few enormous shifts coming with D8 that should change these patterns significantly:</p>
<ul>
<li>Drupal 8 is much more fully-featured out of the box than any of its predecessors, so for many sites there is no need to wait on any contributed modules to begin building. Therefore we reach "stable" state (for sites that can do what they need to with just core) at Day 0, not 6-12 months later.</li>
<li>A number of key contributed modules that delayed porting of other key contributed modules in D6/D7 (Views, Entity Reference, Date, etc.) were moved into core in D8. So they're available right now—even before release—to build on. And indeed we're seeing other big ecosystem modules (Commerce, Rules, etc.) porting now, while D8 is still in development.</li>
<li>D8 will end the 3-4 year "big bang" release cycle. Instead, we'll be doing "small bang" releases every 6 months with non-backwards compatibility breaking feature/API improvements. That means we should hopefully stave off adoption decline much longer, and possibly even sustain the "hyper adoption" rate for much longer.</li>
<li>We will still eventually have a D9 "big bang" release (3-4 years from now) with backwards compatibility breaks, but only after it's amassed enough awesome functionality that couldn't be otherwise backported to D8. This will provide us with another "epochal" marketing event that D8 is giving us today (well, soon) in order to drive adoption even further.</li>
</ul>
<p>Sorry, that was probably Way Too Much Information™ but hey, the more you know. ;)</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Tags:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/1" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal</a></div><div class="field-item odd"><a href="/taxonomy/term/63" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal 8</a></div><div class="field-item even"><a href="/taxonomy/term/62" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">acquia</a></div></div></div>Fri, 05 Jun 2015 20:44:47 +0000webchick129 at http://webchick.nethttp://webchick.net/node/129#commentsHow and why D8 Accelerate is spending your hard-earned cash http://webchick.net/d8accelerate-deep-dive
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>Hopefully you've heard the news about the <a href="https://assoc.drupal.org/">Drupal Association</a>'s new <a href="https://assoc.drupal.org/d8accelerate">D8 Accelerate</a> grants program, and the <a href="https://www.drupal.org/news/ready-set-drupal-8-d8-accelerate-fundraiser">fundraising drive</a> we have currently going on. If not, the gist is that the Drupal Association has created a central fund, managed by the Drupal core committers, to fund both "bottom-up" community grants for things like targeted sprints or "bug bounties," as well as "top-down" spending driven from the core committers on larger strategic initiatives that help accelerate Drupal 8's release. All D8 Accelerate grants that are provided are tracked centrally at <a href="https://assoc.drupal.org/d8accelerate/awarded">https://assoc.drupal.org/d8accelerate/awarded</a>, including what the money was used for, how much was spent, to whom it went, and a report from the grant recipient(s) that outlines the work that was accomplished.</p>
<p>However, it can be a little hard to parse from that format the larger meaning/context of this work, especially if you don't spend upwards of 30 hours per week in the core queue like most of these folks. :) As Chief Wearer of Many Hats™, I sit on both the Drupal Association board as well as the committee who manages these funds. This puts me in a good position to provide a bit of "behind the scenes" info on how the funding process works, as well as provide some of the larger story of how these funds are benefitting not only Drupal 8 core, but the larger Drupal ecosystem.</p>
<!--break--><h2 id="what-d8">Drupal 8 Acceleration</h2>
<h3 id="performance">Performance</h3>
<p><a href="https://www.drupal.org/node/2370667"><img src="https://www.drupal.org/files/issues/flame.png" alt="A flamegraph of what functions take the longest on the user/password page in Drupal 8" width="600" /></a><br />
<em>Source: <a href="https://www.drupal.org/node/2370667">https://www.drupal.org/node/2370667</a></em></p>
<p>As noted in my <a href="http://webchick.net/critical-rundown-bogota">post-DrupalCon Bogotá critical issue run-down</a>, performance improvements are a large chunk of the work remaining in Drupal 8. We had deliberately postponed most of this work until post-beta to avoid <a href="http://en.wikipedia.org/wiki/Program_optimization#When_to_optimize">premature optimization</a> and to allow all the major architectural chunks to be in place. However, we definitely can't release Drupal 8 while it is much <a href="https://www.drupal.org/node/1744302">slower</a> than Drupal 7.</p>
<p>The D8 Accelerate fund has been instrumental in not only helping to address critical <a href="https://www.drupal.org/node/356399">performance</a> <a href="https://www.drupal.org/node/2252763">regressions</a>, but also in accelerating the development of Drupal 8's <a href="https://www.drupal.org/node/2429287">next-generation cache system</a>.</p>
<p>Or, to sum it up in a cheesy catch-phrase:</p>
<p><strong><em>For less than $10,000, we're making Drupal 8 twice as fast! :D</em></strong></p>
<p>Win!</p>
<h3 id="upgrade">Unblocking the beta-to-beta upgrade path</h3>
<p>The second large focus of D8 Accelerate grants has been around <a href="https://www.drupal.org/project/issues/search?text=&amp;projects=Drupal+core&amp;assigned=&amp;submitted=&amp;project_issue_followers=&amp;status[]=1&amp;status[]=13&amp;status[]=8&amp;status[]=14&amp;status[]=4&amp;priorities[]=400&amp;issue_tags_op=%3D&amp;issue_tags=D8+upgrade+path">D8 upgrade path blockers</a>. These are extremely strategic, because they unblock a <a href="https://www.drupal.org/node/2341575">beta-to-beta upgrade path</a> between Drupal 8 releases, which is extremely important for early Drupal 8 adopters.</p>
<p>For example, one large chunk of work D8 Accelerate has funded is in making sure <a href="https://www.drupal.org/node/2393339">Entity Field API and Views work well together</a>. This is critical for features such as Multilingual, so content shows up in the right languages when expected, and it's necessary to complete this work prior to providing an upgrade path since it would be horrendous to write hook_update_N() functions for some of the necessary changes.</p>
<p>We're also exploring <a href="https://www.drupal.org/node/2455949">other alternatives</a> to provide a beta-to-beta upgrade path to early adopters sooner, which is viable now that the hardest data-model-changing issues are done.</p>
<h3 id="security">Security</h3>
<p><img src="http://www.codepositive.com/sites/default/files/styles/8_columns_widescreen/public/library/security.png?itok=QEmXH5rJ" alt="Drupal drop on a padlock" /><br />
<em>Source: <a href="http://www.codepositive.com/code-positive/about">http://www.codepositive.com/code-positive/about</a></em></p>
<p>Obviously, we do not want to release Drupal 8 with known security vulnerabilities, but neither do we want to release an "upgrade path beta" that we encourage early adopters to use with known security vulnerabilities. Hence, we are trying to get any <a href="https://www.drupal.org/project/issues/search?text=&amp;projects=Drupal+core&amp;assigned=&amp;submitted=&amp;project_issue_followers=&amp;status[]=1&amp;status[]=13&amp;status[]=8&amp;status[]=14&amp;status[]=4&amp;priorities[]=400&amp;issue_tags_op=%3D&amp;issue_tags=security">critical security issues</a> taken care of sooner than later.</p>
<p>For example, one chunk of work that D8 Accelerate is funding in this area is <a href="https://www.drupal.org/node/1696648">tightening security around Drupal 8 entity API</a>. Numerous form validation functions in core contain entity-level validation, to the wild dismay of anyone who's ever tried to implement web services on top of Drupal. The reason that's bad is because if you attempt to save something using just the Entity API (as you will in a REST API scenario where there <em>are</em> no forms), you will end up skipping validation routines and could end up with invalid and/or insecure data entry.</p>
<h3 id="sprints">Targeted Sprints to Crush Criticals</h3>
<p><a href="https://groups.drupal.org/node/456353"><img src="https://groups.drupal.org/files/_Q4A6761.jpg" alt="Menu link critical sprint at DrupalCamp New Jersey" width="600" /></a><br />
<em>Source: <a href="https://groups.drupal.org/node/456353">https://groups.drupal.org/node/456353</a></em></p>
<p>As demonstrated at the <a href="https://groups.drupal.org/node/453798">Ghent critical issue sprint</a> last year, nothing is better for D8's velocity than getting a bunch of awesome contributors in the same place to pound on the critical queue together. D8 Accelerate funded a fantastic <a href="https://groups.drupal.org/node/456353">Menu link critical sprint at DrupalCamp New Jersey</a> which, in addition to turning this area of criticals from "OMGWTFBBQ" to an actionable plan, resulted directly or indirectly in <em>all</em> of the related critical issues in this area being closed, within a couple of weeks after the sprint.</p>
<p>We aim to do more of these same types of targeted sprints throughout the year, the next one being the <a href="https://www.drupal.org/node/2456147">DrupalCI sprint</a> in a couple of weeks. More on that in a sec.</p>
<h2 id="what-community">Drupal <em>Community</em> acceleration</h2>
<h3 id="testbot">Testbot modernization</h3>
<p><a href="https://www.previousnext.com.au/sites/default/files/DrupalCI%20Testbot.png"><img src="https://www.previousnext.com.au/sites/default/files/DrupalCI%20Testbot.png" alt="Architectural diagram of new testbot" width="600" /></a><br />
<em>Source: <a href="https://www.previousnext.com.au/blog/architecting-drupalci-drupalcon-amsterdam">https://www.previousnext.com.au/blog/architecting-drupalci-drupalcon-ams...</a></em></p>
<p>Our beloved <a href="https://www.drupal.org/project/testbot">Drupal.org testbot</a> has been showing its age. <a href="https://qa.drupal.org/">https://qa.drupal.org/</a> is still on Drupal 6, and largely on life-support these days. Testbot doesn't support testing on multiple PHP versions and databases, both of which are <a href="https://www.drupal.org/node/2267715">Drupal.org (websites/infra) blockers to a Drupal 8 release</a>.</p>
<p>The <a href="https://www.drupal.org/project/drupalci">DrupalCI: Modernizing Testbot Initiative</a> is being driven by numerous devops-inclined community members from around the world. It aims to rebuild testbot from a collection of Drupal modules to a <a href="https://www.previousnext.com.au/blog/architecting-drupalci-drupalcon-amsterdam">more standard CI stack</a> (using big fancy words like Jenkins and Docker and Puppet and Travis and Silex) that your average PHP/devops folk can both understand and help maintain.</p>
<p>There's been a lot of work on DrupalCI already, and the upcoming <a href="https://www.drupal.org/node/2456147">D8 Accelerate sprint</a> on <a href="https://www.drupal.org/project/drupalci">DrupalCI: Modernizing Testbot Initiative</a> will bring all the various contributors together to form DrupalCI Voltron to get an MVP of all the various pieces working together. Actual deployment will happen some time later, and both the new and old testbot will run alongside each other for a good while so any kinks can be worked out while D8 development stays stable.</p>
<p>This particular improvement not only allows Drupal 8 to ship, it also will provide great new functionality to <em>all</em> projects on Drupal.org! The architecture allows for ample room for later expansion as well, so we could start doing things like automated code reviews, performance testing, front-end testing, etc.</p>
<h3 id="people">People power!</h3>
<p>Here are some of the awesome Drupal contributors who've benefited from these funds:</p>
<table>
<tr>
<td><a href="https://www.drupal.org/u/dawehner"><img src="http://2013.drupalcamp.at/sites/default/files/styles/medium_retina/public/users/27077_101182916584916_6328890_a.jpg?itok=SS9AKIuj" alt="dawehner" width="150" /><br />
Daniel Wehner (dawehner)</a></td>
<td>Daniel is a major driving force in Drupal core, as well as <a href="http://drupalcores.com/">the person with the most commit mentions</a> in Drupal 8. His work spans not only the <a href="https://www.drupal.org/node/1805996">Views in Drupal Core</a> initiative, but in all other areas upon which he sets his sights. No issue is safe! :)</td>
</tr>
<tr>
<td><a href="https://www.drupal.org/u/larowlan"><img src="https://www.drupal.org/files/leerowlands_0.png" alt="larowlan" width="150" /><br />
Lee Rowlands (larowlan)</a></td>
<td>Lee is another powerhouse core generalist who tries to tackle a <a href="https://twitter.com/hashtag/criticaladay?f=realtime&amp;src=hash">#CriticalADay</a>. You can learn more about Lee in this <a href="https://www.drupal.org/node/2217905">Community Spotlight</a>.</td>
</tr>
<tr>
<td><a href="https://www.drupal.org/u/amateescu"><img src="http://pcambra.github.io/d8undercover/images/amateescu.jpg" alt="amateescu" width="150" /><br />
Andrei Mateescu (amateescu)</a></td>
<td>Andrei is a co-maintainer Drupal 8 Core's Entity reference field, Field API/UI, and the transliteration system. He's also contributed to dozens of contributed projects.</td>
</tr>
<tr>
<td><a href="https://www.drupal.org/u/plach"><img src="https://pbs.twimg.com/profile_images/2515791456/gmdlil1poenhv7vkm204.jpeg" alt="plach" width="150" /><br />
Francesco Placella (plach)</a></td>
<td>Fancesco has been a significant contributor to internationalization functionality since the Drupal 7 days. In Drupal 8 he's a key fixture in the <a href="http://www.drupal8multilingual.org/">D8 Multilingual Initiative</a>.</td>
</tr>
<tr>
<td><a href="https://www.drupal.org/u/fago"><img src="https://www.drupal.org/files/styles/grid-2/public/user-pictures/picture-16747-1400198420.jpg?itok=1E9VqlXs" alt="fago" width="150" /><br />
Wolfgang Ziegler (fago)</a></td>
<td>Wolfgang has worked with Drupal since 2005. In addition to his major contributions to Drupal 8's Entity Field API, he also maintains various widely-used contributed modules such as Rules and Profile2.</td>
</tr>
<tr>
<td><a href="https://www.drupal.org/u/klausi"><img src="https://www.drupal.org/files/klausi_smaller.jpg" alt="klausi" width="150" /><br />
Klaus Purer (klausi)</a></td>
<td>In addition to his work driving Drupal 8's REST functionality, Klaus is also a member of Drupal's Security Team and a driver of automated tools for coding standards checking.</td>
</tr>
<tr>
<td><a href="https://www.drupal.org/u/fabianx"><img src="https://avatars3.githubusercontent.com/u/354804?v=3&amp;s=150" alt="Fabianx" width="150" /><br />
Fabian Franz (Fabianx)</a></td>
<td>In addition to being a mad performance scientist extraordinaire, Fabian has also been a prominent contributor to the Twig in core initiative.</td>
</tr>
<tr>
<td><a href="https://www.drupal.org/u/jelle_s"><img src="https://pbs.twimg.com/profile_images/789238396/Jelle-Sebreghts_400x400.png" alt="Jelle_S" width="150" /><br />
Jelle Sebreghts (Jelle_S)<br />
</a></td>
<td>One of the drivers of mobile improvements in Drupal 8, Jelle also maintains dozens of contributed modules through his work at <a href="https://attiks.com/?pk_campaign=drupal-org&amp;pk_kwd=company-page">Attiks</a>.</td>
</tr>
</table>
<h3 id="not-code">Not just code!</h3>
<p>D8 Accelerate funds are being used not only to fund development work, but also to fund patch <em>reviews</em> as well as more "project management"-y tasks like <a href="https://assoc.drupal.org/investigate-remaining-sqlite-problems-d8">"triaging" a set of issues</a> to find the truly critical ones, <a href="https://assoc.drupal.org/d8-accelerate-grant-report-responsive-image-module-does-not-support-sizespicture-polyfill-2.2">research on different approaches</a>, etc. Wherever possible, the core committers <em>explicitly</em> look for opportunities to fund two people, usually a developer and a patch reviewer, in order to maintain the sanctity of Drupal core's peer review process.</p>
<p>I think this is great, because it highlights that it's not just raw PHP that's going to get Drupal 8 out the door; it's a joint effort of many complementary skills coming together.</p>
<h2 id="what-money">Show me the money!</h2>
<p><img src="https://blackincense.files.wordpress.com/2008/10/skeptical-cat-is-fraught-with-skepticism1.jpg" alt="Skeptical cat is fraught with skepticism" /><br />
<em>Source: <a href="https://blackincense.files.wordpress.com/2008/10/skeptical-cat-is-fraught-with-skepticism1.jpg">https://blackincense.files.wordpress.com/2008/10/skeptical-cat-is-fraugh...</a></em></p>
<h3 id="why-250">Why $250k to accelerate D8?</h3>
<p>This is a very reasonable question to ask, particularly in light of the widely-cited statistic of <a href="http://drupalcores.com/">2,750+ contributors</a> to Drupal 8, and various Drupal companies employing major contributors to Drupal core. Here are a few points:</p>
<ol>
<li>Drupal 8 will be a truly <a href="https://www.drupal.org/drupal-8.0/">revolutionary release</a>, not only by providing tons more useful functionality out of the box for site builders and content authors (WYSIWYG, mobile support, Views, configuration management, etc.), but by <a href="http://buytaert.net/why-the-big-architectural-changes-in-drupal-8">modernizing the underlying code base</a> to address years of technical debt, and help "future-proof" Drupal for the next 10+ years. Unsurprisingly, this means that the total amount of work that has already gone into D8, and that remains needed to move D8 from a late beta to a release, is larger than it was for earlier versions of Drupal. Most technology maturations follow that pattern.
<p>Drupal 8's release also unlocks the move to a <a href="https://www.drupal.org/node/2383987">new release cycle</a> that introduces backwards-compatible feature releases every 6 months. This allows us to "release early, release often," as opposed to "release every 4+ years, coupled with lots and lots of API breaks." ;)</li>
<li>For these reasons, as well as many others, there's significant community benefit for 8.0.0 to be released as soon as possible, both so that sites can be built on it, and so that the 8.1.x branch can be opened for development for everyone with a feature idea itch to scratch. Additionally, many organizations and individuals who would benefit from D8 getting released sooner than later don't have the expertise or time to solve the remaining critical issues. These organizations/people might be willing to contribute money, but don't know who to best send it to or don't want to deal with the administration of contracting directly with individual core contributors. This fund is an opportunity for those organizations/people to make a difference without dealing with that administration.
<p>Make no mistake: Drupal 8 will get done, with or without this money. The goal of the fund is not about saying that our current awesome core contributor base is incapable of completing the work; it's only a recognition that funding work can make it happen <em>faster</em>.</li>
<li>Why is this so? It's a common misconception that most core developers are paid for their work, either by Drupal companies who employ them, or by their customers. In reality, those directly financially compensated for their contributions to core (and <em>especially</em> to Drupal 8, which is not yet commercially viable for the masses) are a tiny fraction of the overall number of contributors.
<p>While there are numerous contributors who have already spent literally <em>years</em> contributing to core during their nights and weekends, and as a result have developed the kind of expertise needed to finish some of the remaining hard critical issues, relying on their ongoing availability of free time is not sustainable. These include contributors who work as freelance developers for clients, and it's certainly unfair to expect these people to turn down paid client work in order to have free time to work on core, or to quit being freelancers and become employees of forward-thinking Drupal companies who provide company time for core contribution. One of my favorite aspects of D8 Accelerate is that it is helping to "level the playing field" by making it possible for these people to have time to work on core regardless of their current employment situation.</p>
<p>In short, <strong>don't confuse "has a job" with "is paid to work on Drupal core."</strong></li>
<li>It's also important to emphasize here that injecting funding into the "bug fix slog" phase of major Drupal releases, when all the fun stuff that tends to motivate volunteers is long exhausted, is nothing new. That should come as no surprise, given that there have always been companies with financial interests in having a given version of Drupal ready sooner. For example, in Drupal 6, Acquia funded release manager Gábor Hojtsy full-time to help get that release done. In Drupal 7, in addition to employing core contributors full-time, Examiner.com paid numerous "bug bounties" out to folks to help slay specific critical issues. The difference here is that the DA as a non-profit organization needs to be extremely transparent in anything it's doing with the community's money, so there is greater visibility on things this time around.</li>
</ol>
<p>If you don't want to donate, that's totally okay. You'll still be able to use Drupal 8 all you want, for free, when it's ready. Donating to this fund is only an opportunity to help make that happen sooner, if that's sufficiently valuable to you.</p>
<p>For a lot more "deep thinking" around these topics, see:</p>
<ul>
<li><a href="https://amsterdam2014.drupal.org/keynote-dries-buytaert">Dries's DrupalCon Amsterdam Keynote</a> on <a href="http://buytaert.net/scaling-open-source-communities">Scaling Open Source Communities</a> for ideas on making maintenance of "public goods" like Drupal more sustianable.</li>
<li><a href="https://www.youtube.com/watch?v=gDO1C0ijLcM">Tiffany Farriss's MidCamp keynote</a> which talks at length about the motivations of open source contributors and how to best provide them support.</li>
<li><a href="http://xjmdrupal.org/blog/contribution-influence-drupal-8#volunteers">xjm's recent blog post</a> that gets into some detailed facts/figures on how core development actually happens.</li>
</ul>
<p><em>Many thanks to effulgentsia for his extensive help on this part!</em></p>
<h3 id="how-spent">How do you decide on how money gets spent?</h3>
<p>The core committers have a <a href="https://www.drupal.org/governance/d8accelerate">well-documented process</a> that explains how we decide what to fund. The TL;DR version is we look at criteria like:</p>
<ul>
<li><strong>Is a proposal genuinely a <a href="https://www.drupal.org/drupal-8.0/get-involved">release blocker</a> to Drupal 8, or something that will otherwise <em>directly</em> lead to an accelerated Drupal 8 release?</strong> (That's a biggie.)</li>
<li>Is a proposal resolving a blocker to other work, especially other release blockers?</li>
<li>Is a proposal resolving an "ecosystem" blocker? (For example "D8 upgrade path" issues that block early D8 adoption, blockers to a major portion of contributed modules/themes porting)</li>
<li>Is this a place where we can inject funding to take an issue the "last 20%" and get it across the finish line quickly?</li>
<li>Is momentum in this area slow, making it unlikely to be fixed "organically" by D8 contributors?</li>
<li>Are the people working in this area not directly funded (by an employer or client) to fix it already?</li>
<li>Do we have some confidence that funding will lead to a successful outcome?</li>
</ul>
<p>Proposals that answer "yes" to more of these questions than not are more likely to get funded. And the D8 Accelerate team is constantly on the lookout for things that meet this criteria and proactively reaching out to contributors to help get things started.</p>
<p>In short, <strong>we take our responsibility with the community's money very seriously</strong>, and have turned down multiple community proposals that were fantastic ideas, but did not fit this criteria. (Where appropriate, we refer folks over to the <a href="https://assoc.drupal.org/grants">Community Cultivation Grants</a> instead.)</p>
<p>Also please note that a previous restriction around people asking for funding for their own time has been lifted a month or so back (Thanks, DA!). So if you are a contributor who knows a lot about critical issue #12345, you can request a stipend (initially capped at $500 for five hours) to help push it forward.</p>
<p>If that sounds like you, or you have other creative ideas on how we can get Drupal 8 out faster, <a href="https://assoc.drupal.org/d8accelerate">apply for a grant</a> today!</p>
<h2 id="thank-you">Thank you for your support!</h2>
<p>I wanted to take the opportunity to give a huge shout-out to the "anchor donors" of the D8 Accelerate campaign:</p>
<p><center><br />
<a href="http://www.appnovation.com/"><img src="http://www.appnovation.com/sites/all/themes/basic/images/logo.svg" alt="Appnovation" /></a><br />
<a href="https://drupalize.me/"><img src="https://drupalize.me/sites/all/themes/dmemain/images/drupalizeme.svg" alt="Drupalize.me" /></a><br />
<a href="http://www.palantir.net/"><img src="https://www.drupal.org/files/styles/grid-3/public/logo-transparent_0.png?itok=1PTxpDJl" alt="Palantir" /></a><br />
<a href="http://www.phase2technology.com/"><img src="http://www.phase2technology.com/wp-content/themes/phase2/images/header_logo.png" alt="Phase2" /></a><br />
<a href="https://www.previousnext.com.au/"><img src="https://www.drupal.org/files/styles/grid-3/public/PreviousNext_Logo_220.png?itok=LJYnHtz4" alt="PreviousNext" /></a><br />
<a href="http://www.wunderkraut.com/"><img src="https://www.drupal.org/files/styles/grid-3/public/wunderkraut-logo-horiz-CMYK_842x362.png?itok=ChnZgrTe" alt="Wunderkraut" /></a><br />
<a href="https://www.acquia.com/"><img src="https://www.drupal.org/files/styles/grid-3/public/Acquia%20Logo-2015.png?itok=iedEz9On" alt="Acquia" /></a><br />
</center></p>
<p>Thanks to their efforts, <strong>every dollar you contribute is already matched by the Drupal Association and these anchor donors, doubling your impact.</strong> If you'd like, you can make a donation to <a href="https://www.crowdrise.com/d8accelerate/fundraiser/angiebyron">my fundraising drive</a> (I've set a very ambitious goal of $20,000 since that's <strong>8%</strong> of $250,000 — get it? ;)): </p>
<p><a href="http://www.crowdrise.com" id="crowdriseStaticLink-project-256169" title="Fundraising Websites on Crowdrise">Fundraising Websites - Crowdrise</a></p>
<script type="text/javascript" src="https://www.crowdrise.com/widgets/donate/project/495584/"></script><p>
(Note: This is just the amount in <em>my</em> personal fundraiser; the overall fundraiser is at <a href="https://www.crowdrise.com/d8accelerate/fundraiser">$135K and counting</a>.)</p>
<p>...or, find your favourite Drupal person at <a href="https://www.crowdrise.com/d8accelerate/fundraiser">https://www.crowdrise.com/d8accelerate/fundraiser</a> and donate to theirs instead, or create your own! :)</p>
<p>Thanks as well to the folks who somehow stumbled across it and donated to my fundraiser already—<a href="http://radloff.se/">Andreas Radloff</a>, <a href="http://dougreith.org/">Douglas Reith</a>, and <a href="https://iandunn.name/">Ian Dunn</a>. I thought Ian's note was particularly awesome! :D </p>
<p><a href="http://webchick.net/files/drupal8-shout-out-from-wordpress.png"><img src="http://webchick.net/files/drupal8-shout-out-from-wordpress.png" alt="As a WordPress developer, I think we're all on the same side and wish you the best :)" width="600" /></a></p>
<p>And finally, thank YOU for any and all support you can provide that will help us make Drupal 8 the most successful release of Drupal yet! :D If you have any other questions, please feel free to ask!</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Tags:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/63" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal 8</a></div><div class="field-item odd"><a href="/taxonomy/term/1" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal</a></div></div></div>Thu, 26 Mar 2015 19:13:36 +0000webchick128 at http://webchick.nethttp://webchick.net/d8accelerate-deep-dive#commentsWebchick's "plain Drupal English" Guide to the Remaining Drupal 8 Critical Issues: DrupalCon Bogotá Editionhttp://webchick.net/critical-rundown-bogota
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><em>(Apologies for the atrocious state of the HTML that follows; this content is originally from this <a href="https://docs.google.com/a/acquia.com/document/d/1NPrRzDHinng_m7T5dkqYp1EFRz7YNiCf6zBpD35gqIs/edit#heading=h.s4qidulco3wz">Google Doc</a>.)</em></p>
<p><em><strong>Updated</strong> Feb 15, 2015 with "needs triage" marker, per xjm.</em></p>
<p><html><head><title>Webchick&#39;s &quot;plain Drupal English&quot; Guide to the Remaining Drupal 8 Critical Issues: DrupalCon Bogot&aacute; Edition</title><meta content="text/html; charset=UTF-8" http-equiv="content-type"></p>
<style type="text/css">@import url('https://themes.googleusercontent.com/fonts/css?kit=lhDjYqiy3mZ0x6ROQEUoUw');.lst-kix_2mieegahdh2w-4>li:before{content:"\0025cb "}.lst-kix_v4kywwnawwi1-2>li:before{content:"\0025a0 "}.lst-kix_rfxe804vasvo-0>li:before{content:"\0025cf "}.lst-kix_91g62kqwec1n-6>li:before{content:"\0025cf "}ul.lst-kix_gkrhy9ftmdx5-0{list-style-type:none}.lst-kix_gkrhy9ftmdx5-0>li:before{content:"\0025cf "}ul.lst-kix_gkrhy9ftmdx5-2{list-style-type:none}ul.lst-kix_gkrhy9ftmdx5-1{list-style-type:none}ul.lst-kix_gkrhy9ftmdx5-4{list-style-type:none}ul.lst-kix_gkrhy9ftmdx5-3{list-style-type:none}.lst-kix_hhgio4gd2kqu-5>li:before{content:"\0025a0 "}.lst-kix_weegr7e6utbi-5>li:before{content:"\0025a0 "}.lst-kix_91g62kqwec1n-4>li:before{content:"\0025cb "}.lst-kix_lfdxqe331k89-1>li:before{content:"\0025cb "}.lst-kix_91g62kqwec1n-8>li:before{content:"\0025a0 "}.lst-kix_ieibnn9zk9zy-8>li:before{content:"\0025a0 "}.lst-kix_yganm4mrgvck-1>li:before{content:"\0025cb "}.lst-kix_yganm4mrgvck-2>li:before{content:"\0025a0 "}ul.lst-kix_f44wt6l5fd2z-0{list-style-type:none}ul.lst-kix_f44wt6l5fd2z-1{list-style-type:none}.lst-kix_9vpbdt1zxr8p-3>li:before{content:"\0025cf "}ul.lst-kix_f44wt6l5fd2z-2{list-style-type:none}ul.lst-kix_f44wt6l5fd2z-3{list-style-type:none}ul.lst-kix_f44wt6l5fd2z-4{list-style-type:none}.lst-kix_gdjmrlbf1bc0-7>li:before{content:"\0025cb "}ul.lst-kix_f44wt6l5fd2z-5{list-style-type:none}.lst-kix_pa29iojpk15k-3>li:before{content:"\0025cf "}.lst-kix_2mieegahdh2w-8>li:before{content:"\0025a0 "}ul.lst-kix_f44wt6l5fd2z-6{list-style-type:none}ul.lst-kix_f44wt6l5fd2z-7{list-style-type:none}ul.lst-kix_f44wt6l5fd2z-8{list-style-type:none}.lst-kix_7tyt6bpkpeun-7>li:before{content:"\0025cb "}ul.lst-kix_yganm4mrgvck-4{list-style-type:none}.lst-kix_7tyt6bpkpeun-5>li:before{content:"\0025a0 "}ul.lst-kix_yganm4mrgvck-3{list-style-type:none}ul.lst-kix_yganm4mrgvck-6{list-style-type:none}ul.lst-kix_yganm4mrgvck-5{list-style-type:none}ul.lst-kix_yganm4mrgvck-8{list-style-type:none}.lst-kix_f44wt6l5fd2z-7>li:before{content:"\0025cb "}ul.lst-kix_yganm4mrgvck-7{list-style-type:none}.lst-kix_7tyt6bpkpeun-4>li:before{content:"\0025cb "}.lst-kix_lfdxqe331k89-2>li:before{content:"\0025a0 "}.lst-kix_rfxe804vasvo-8>li:before{content:"\0025a0 "}.lst-kix_weegr7e6utbi-3>li:before{content:"\0025cf "}.lst-kix_7tyt6bpkpeun-6>li:before{content:"\0025cf "}.lst-kix_rfxe804vasvo-2>li:before{content:"\0025a0 "}.lst-kix_7zjzqbwrpkjm-0>li:before{content:"\0025cf "}ul.lst-kix_d07eoiemqszj-8{list-style-type:none}.lst-kix_d07eoiemqszj-4>li:before{content:"\0025cb "}.lst-kix_7tyt6bpkpeun-8>li:before{content:"\0025a0 "}ul.lst-kix_d07eoiemqszj-7{list-style-type:none}ul.lst-kix_d07eoiemqszj-6{list-style-type:none}ul.lst-kix_d07eoiemqszj-5{list-style-type:none}ul.lst-kix_d07eoiemqszj-4{list-style-type:none}.lst-kix_lfdxqe331k89-4>li:before{content:"\0025cb "}ul.lst-kix_d07eoiemqszj-3{list-style-type:none}.lst-kix_d07eoiemqszj-3>li:before{content:"\0025cf "}.lst-kix_5xn4xca12dzt-6>li:before{content:"\0025cf "}.lst-kix_ieibnn9zk9zy-1>li:before{content:"\0025cb "}.lst-kix_91g62kqwec1n-2>li:before{content:"\0025a0 "}ul.lst-kix_d07eoiemqszj-1{list-style-type:none}.lst-kix_gkrhy9ftmdx5-3>li:before{content:"\0025cf "}.lst-kix_gkrhy9ftmdx5-2>li:before{content:"\0025a0 "}.lst-kix_hhgio4gd2kqu-3>li:before{content:"\0025cf "}.lst-kix_9vpbdt1zxr8p-8>li:before{content:"\0025a0 "}ul.lst-kix_d07eoiemqszj-2{list-style-type:none}ul.lst-kix_d07eoiemqszj-0{list-style-type:none}.lst-kix_9vpbdt1zxr8p-0>li:before{content:"\0025cf "}.lst-kix_jearh3bkcya2-1>li:before{content:"\0025cb "}.lst-kix_rfxe804vasvo-6>li:before{content:"\0025cf "}.lst-kix_lfdxqe331k89-6>li:before{content:"\0025cf "}.lst-kix_pa29iojpk15k-0>li:before{content:"\0025cf "}ul.lst-kix_jearh3bkcya2-1{list-style-type:none}.lst-kix_weegr7e6utbi-7>li:before{content:"\0025cb "}ul.lst-kix_jearh3bkcya2-0{list-style-type:none}ul.lst-kix_gdjmrlbf1bc0-0{list-style-type:none}.lst-kix_v4kywwnawwi1-4>li:before{content:"\0025cb "}ul.lst-kix_gdjmrlbf1bc0-1{list-style-type:none}ul.lst-kix_gkrhy9ftmdx5-7{list-style-type:none}ul.lst-kix_gdjmrlbf1bc0-2{list-style-type:none}ul.lst-kix_gkrhy9ftmdx5-8{list-style-type:none}ul.lst-kix_gdjmrlbf1bc0-3{list-style-type:none}ul.lst-kix_gkrhy9ftmdx5-5{list-style-type:none}.lst-kix_f44wt6l5fd2z-2>li:before{content:"\0025a0 "}ul.lst-kix_gdjmrlbf1bc0-4{list-style-type:none}ul.lst-kix_gkrhy9ftmdx5-6{list-style-type:none}ul.lst-kix_jearh3bkcya2-7{list-style-type:none}ul.lst-kix_jearh3bkcya2-6{list-style-type:none}.lst-kix_7zjzqbwrpkjm-2>li:before{content:"\0025a0 "}ul.lst-kix_jearh3bkcya2-8{list-style-type:none}ul.lst-kix_jearh3bkcya2-3{list-style-type:none}ul.lst-kix_jearh3bkcya2-2{list-style-type:none}ul.lst-kix_jearh3bkcya2-5{list-style-type:none}.lst-kix_7zjzqbwrpkjm-1>li:before{content:"\0025cb "}ul.lst-kix_jearh3bkcya2-4{list-style-type:none}ul.lst-kix_9lopuf4j9p0n-6{list-style-type:none}ul.lst-kix_9lopuf4j9p0n-5{list-style-type:none}ul.lst-kix_9lopuf4j9p0n-8{list-style-type:none}ul.lst-kix_9lopuf4j9p0n-7{list-style-type:none}.lst-kix_hhgio4gd2kqu-7>li:before{content:"\0025cb "}.lst-kix_bghnjgxvc7ij-5>li:before{content:"\0025a0 "}ul.lst-kix_9lopuf4j9p0n-2{list-style-type:none}ul.lst-kix_9lopuf4j9p0n-1{list-style-type:none}ul.lst-kix_9lopuf4j9p0n-4{list-style-type:none}ul.lst-kix_9lopuf4j9p0n-3{list-style-type:none}.lst-kix_d07eoiemqszj-2>li:before{content:"\0025a0 "}.lst-kix_2mieegahdh2w-7>li:before{content:"\0025cb "}.lst-kix_gdjmrlbf1bc0-2>li:before{content:"\0025a0 "}.lst-kix_d07eoiemqszj-6>li:before{content:"\0025cf "}.lst-kix_9vpbdt1zxr8p-5>li:before{content:"\0025a0 "}ul.lst-kix_9vpbdt1zxr8p-3{list-style-type:none}.lst-kix_bghnjgxvc7ij-6>li:before{content:"\0025cf "}ul.lst-kix_9vpbdt1zxr8p-4{list-style-type:none}ul.lst-kix_9vpbdt1zxr8p-5{list-style-type:none}ul.lst-kix_9vpbdt1zxr8p-6{list-style-type:none}.lst-kix_gkrhy9ftmdx5-5>li:before{content:"\0025a0 "}ul.lst-kix_9vpbdt1zxr8p-0{list-style-type:none}ul.lst-kix_9vpbdt1zxr8p-1{list-style-type:none}ul.lst-kix_9vpbdt1zxr8p-2{list-style-type:none}.lst-kix_yganm4mrgvck-8>li:before{content:"\0025a0 "}ul.lst-kix_pa29iojpk15k-3{list-style-type:none}ul.lst-kix_pa29iojpk15k-4{list-style-type:none}ul.lst-kix_pa29iojpk15k-1{list-style-type:none}ul.lst-kix_9lopuf4j9p0n-0{list-style-type:none}ul.lst-kix_pa29iojpk15k-2{list-style-type:none}ul.lst-kix_pa29iojpk15k-7{list-style-type:none}ul.lst-kix_pa29iojpk15k-8{list-style-type:none}ul.lst-kix_pa29iojpk15k-5{list-style-type:none}ul.lst-kix_pa29iojpk15k-6{list-style-type:none}.lst-kix_bghnjgxvc7ij-1>li:before{content:"\0025cb "}.lst-kix_7zjzqbwrpkjm-8>li:before{content:"\0025a0 "}ul.lst-kix_bghnjgxvc7ij-0{list-style-type:none}.lst-kix_9lopuf4j9p0n-0>li:before{content:"\0025cf "}ul.lst-kix_bghnjgxvc7ij-1{list-style-type:none}ul.lst-kix_weegr7e6utbi-6{list-style-type:none}ul.lst-kix_bghnjgxvc7ij-2{list-style-type:none}ul.lst-kix_weegr7e6utbi-5{list-style-type:none}ul.lst-kix_bghnjgxvc7ij-3{list-style-type:none}.lst-kix_7tyt6bpkpeun-3>li:before{content:"\0025cf "}ul.lst-kix_weegr7e6utbi-8{list-style-type:none}.lst-kix_lfdxqe331k89-3>li:before{content:"\0025cf "}ul.lst-kix_bghnjgxvc7ij-4{list-style-type:none}ul.lst-kix_9vpbdt1zxr8p-8{list-style-type:none}ul.lst-kix_weegr7e6utbi-7{list-style-type:none}ul.lst-kix_bghnjgxvc7ij-5{list-style-type:none}ul.lst-kix_9vpbdt1zxr8p-7{list-style-type:none}ul.lst-kix_weegr7e6utbi-1{list-style-type:none}ul.lst-kix_weegr7e6utbi-2{list-style-type:none}.lst-kix_yganm4mrgvck-0>li:before{content:"\0025cf "}ul.lst-kix_weegr7e6utbi-3{list-style-type:none}ul.lst-kix_weegr7e6utbi-4{list-style-type:none}.lst-kix_hhgio4gd2kqu-0>li:before{content:"\0025cf "}.lst-kix_weegr7e6utbi-6>li:before{content:"\0025cf "}ul.lst-kix_weegr7e6utbi-0{list-style-type:none}.lst-kix_lfdxqe331k89-8>li:before{content:"\0025a0 "}.lst-kix_2mieegahdh2w-3>li:before{content:"\0025cf "}.lst-kix_9vpbdt1zxr8p-4>li:before{content:"\0025cb "}.lst-kix_pa29iojpk15k-1>li:before{content:"\0025cb "}.lst-kix_gdjmrlbf1bc0-4>li:before{content:"\0025cb "}.lst-kix_hhgio4gd2kqu-6>li:before{content:"\0025cf "}.lst-kix_jearh3bkcya2-5>li:before{content:"\0025a0 "}.lst-kix_ieibnn9zk9zy-2>li:before{content:"\0025a0 "}.lst-kix_weegr7e6utbi-0>li:before{content:"\0025cf "}.lst-kix_jearh3bkcya2-2>li:before{content:"\0025a0 "}.lst-kix_v4kywwnawwi1-8>li:before{content:"\0025a0 "}.lst-kix_7zjzqbwrpkjm-3>li:before{content:"\0025cf "}.lst-kix_ieibnn9zk9zy-6>li:before{content:"\0025cf "}.lst-kix_f44wt6l5fd2z-1>li:before{content:"\0025cb "}.lst-kix_gdjmrlbf1bc0-5>li:before{content:"\0025a0 "}ul.lst-kix_pa29iojpk15k-0{list-style-type:none}ul.lst-kix_ieibnn9zk9zy-7{list-style-type:none}ul.lst-kix_ieibnn9zk9zy-6{list-style-type:none}ul.lst-kix_ieibnn9zk9zy-8{list-style-type:none}.lst-kix_lfdxqe331k89-7>li:before{content:"\0025cb "}ul.lst-kix_ieibnn9zk9zy-3{list-style-type:none}ul.lst-kix_ieibnn9zk9zy-2{list-style-type:none}ul.lst-kix_ieibnn9zk9zy-5{list-style-type:none}ul.lst-kix_ieibnn9zk9zy-4{list-style-type:none}.lst-kix_v4kywwnawwi1-6>li:before{content:"\0025cf "}ul.lst-kix_ieibnn9zk9zy-1{list-style-type:none}ul.lst-kix_ieibnn9zk9zy-0{list-style-type:none}ul.lst-kix_91g62kqwec1n-2{list-style-type:none}ul.lst-kix_91g62kqwec1n-3{list-style-type:none}ul.lst-kix_91g62kqwec1n-0{list-style-type:none}ul.lst-kix_91g62kqwec1n-1{list-style-type:none}ul.lst-kix_91g62kqwec1n-6{list-style-type:none}.lst-kix_bghnjgxvc7ij-0>li:before{content:"\0025cf "}.lst-kix_7tyt6bpkpeun-2>li:before{content:"\0025a0 "}ul.lst-kix_91g62kqwec1n-7{list-style-type:none}ul.lst-kix_91g62kqwec1n-4{list-style-type:none}.lst-kix_f44wt6l5fd2z-5>li:before{content:"\0025a0 "}ul.lst-kix_91g62kqwec1n-5{list-style-type:none}.lst-kix_9lopuf4j9p0n-3>li:before{content:"\0025cf "}.lst-kix_f44wt6l5fd2z-3>li:before{content:"\0025cf "}.lst-kix_lfdxqe331k89-5>li:before{content:"\0025a0 "}ul.lst-kix_91g62kqwec1n-8{list-style-type:none}.lst-kix_91g62kqwec1n-5>li:before{content:"\0025a0 "}ul.lst-kix_7tyt6bpkpeun-6{list-style-type:none}ul.lst-kix_7tyt6bpkpeun-7{list-style-type:none}.lst-kix_gdjmrlbf1bc0-0>li:before{content:"\0025cf "}ul.lst-kix_7tyt6bpkpeun-4{list-style-type:none}.lst-kix_7tyt6bpkpeun-0>li:before{content:"\0025cf "}ul.lst-kix_7tyt6bpkpeun-5{list-style-type:none}.lst-kix_rfxe804vasvo-1>li:before{content:"\0025cb "}.lst-kix_bghnjgxvc7ij-7>li:before{content:"\0025cb "}.lst-kix_jearh3bkcya2-4>li:before{content:"\0025cb "}ul.lst-kix_7tyt6bpkpeun-8{list-style-type:none}.lst-kix_v4kywwnawwi1-1>li:before{content:"\0025cb "}.lst-kix_7tyt6bpkpeun-1>li:before{content:"\0025cb "}.lst-kix_ieibnn9zk9zy-0>li:before{content:"\0025cf "}.lst-kix_f44wt6l5fd2z-4>li:before{content:"\0025cb "}.lst-kix_yganm4mrgvck-6>li:before{content:"\0025cf "}.lst-kix_weegr7e6utbi-1>li:before{content:"\0025cb "}ul.lst-kix_7zjzqbwrpkjm-3{list-style-type:none}ul.lst-kix_7zjzqbwrpkjm-2{list-style-type:none}ul.lst-kix_7zjzqbwrpkjm-1{list-style-type:none}ul.lst-kix_7zjzqbwrpkjm-0{list-style-type:none}ul.lst-kix_7tyt6bpkpeun-3{list-style-type:none}ul.lst-kix_7tyt6bpkpeun-2{list-style-type:none}.lst-kix_f44wt6l5fd2z-6>li:before{content:"\0025cf "}ul.lst-kix_7tyt6bpkpeun-1{list-style-type:none}ul.lst-kix_7tyt6bpkpeun-0{list-style-type:none}.lst-kix_2mieegahdh2w-6>li:before{content:"\0025cf "}.lst-kix_9lopuf4j9p0n-7>li:before{content:"\0025cb "}.lst-kix_gdjmrlbf1bc0-6>li:before{content:"\0025cf "}.lst-kix_91g62kqwec1n-1>li:before{content:"\0025cb "}ul.lst-kix_lfdxqe331k89-0{list-style-type:none}ul.lst-kix_lfdxqe331k89-1{list-style-type:none}ul.lst-kix_lfdxqe331k89-2{list-style-type:none}ul.lst-kix_lfdxqe331k89-3{list-style-type:none}.lst-kix_d07eoiemqszj-1>li:before{content:"\0025cb "}.lst-kix_gkrhy9ftmdx5-6>li:before{content:"\0025cf "}.lst-kix_5xn4xca12dzt-7>li:before{content:"\0025cb "}.lst-kix_hhgio4gd2kqu-2>li:before{content:"\0025a0 "}.lst-kix_7zjzqbwrpkjm-4>li:before{content:"\0025cb "}ul.lst-kix_rfxe804vasvo-0{list-style-type:none}ul.lst-kix_rfxe804vasvo-2{list-style-type:none}.lst-kix_5xn4xca12dzt-4>li:before{content:"\0025cb "}ul.lst-kix_rfxe804vasvo-1{list-style-type:none}.lst-kix_jearh3bkcya2-7>li:before{content:"\0025cb "}ul.lst-kix_5xn4xca12dzt-6{list-style-type:none}.lst-kix_lfdxqe331k89-0>li:before{content:"\0025cf "}ul.lst-kix_rfxe804vasvo-8{list-style-type:none}ul.lst-kix_5xn4xca12dzt-5{list-style-type:none}ul.lst-kix_rfxe804vasvo-7{list-style-type:none}.lst-kix_rfxe804vasvo-7>li:before{content:"\0025cb "}ul.lst-kix_5xn4xca12dzt-8{list-style-type:none}ul.lst-kix_5xn4xca12dzt-7{list-style-type:none}ul.lst-kix_5xn4xca12dzt-2{list-style-type:none}ul.lst-kix_bghnjgxvc7ij-6{list-style-type:none}ul.lst-kix_rfxe804vasvo-4{list-style-type:none}ul.lst-kix_5xn4xca12dzt-1{list-style-type:none}ul.lst-kix_bghnjgxvc7ij-7{list-style-type:none}ul.lst-kix_rfxe804vasvo-3{list-style-type:none}ul.lst-kix_5xn4xca12dzt-4{list-style-type:none}ul.lst-kix_rfxe804vasvo-6{list-style-type:none}ul.lst-kix_bghnjgxvc7ij-8{list-style-type:none}ul.lst-kix_5xn4xca12dzt-3{list-style-type:none}ul.lst-kix_rfxe804vasvo-5{list-style-type:none}.lst-kix_v4kywwnawwi1-3>li:before{content:"\0025cf "}.lst-kix_d07eoiemqszj-8>li:before{content:"\0025a0 "}ul.lst-kix_5xn4xca12dzt-0{list-style-type:none}.lst-kix_bghnjgxvc7ij-2>li:before{content:"\0025a0 "}.lst-kix_5xn4xca12dzt-2>li:before{content:"\0025a0 "}.lst-kix_gkrhy9ftmdx5-8>li:before{content:"\0025a0 "}.lst-kix_9vpbdt1zxr8p-7>li:before{content:"\0025cb "}.lst-kix_jearh3bkcya2-8>li:before{content:"\0025a0 "}.lst-kix_9vpbdt1zxr8p-2>li:before{content:"\0025a0 "}.lst-kix_bghnjgxvc7ij-3>li:before{content:"\0025cf "}.lst-kix_hhgio4gd2kqu-1>li:before{content:"\0025cb "}.lst-kix_yganm4mrgvck-5>li:before{content:"\0025a0 "}.lst-kix_91g62kqwec1n-3>li:before{content:"\0025cf "}.lst-kix_yganm4mrgvck-4>li:before{content:"\0025cb "}.lst-kix_rfxe804vasvo-3>li:before{content:"\0025cf "}.lst-kix_pa29iojpk15k-2>li:before{content:"\0025a0 "}.lst-kix_pa29iojpk15k-7>li:before{content:"\0025cb "}.lst-kix_ieibnn9zk9zy-4>li:before{content:"\0025cb "}.lst-kix_91g62kqwec1n-0>li:before{content:"\0025cf "}.lst-kix_7zjzqbwrpkjm-7>li:before{content:"\0025cb "}.lst-kix_pa29iojpk15k-4>li:before{content:"\0025cb "}.lst-kix_hhgio4gd2kqu-4>li:before{content:"\0025cb "}.lst-kix_9vpbdt1zxr8p-1>li:before{content:"\0025cb "}.lst-kix_2mieegahdh2w-5>li:before{content:"\0025a0 "}.lst-kix_gkrhy9ftmdx5-1>li:before{content:"\0025cb "}.lst-kix_9lopuf4j9p0n-6>li:before{content:"\0025cf "}.lst-kix_ieibnn9zk9zy-5>li:before{content:"\0025a0 "}.lst-kix_rfxe804vasvo-4>li:before{content:"\0025cb "}ul.lst-kix_2mieegahdh2w-8{list-style-type:none}.lst-kix_gdjmrlbf1bc0-1>li:before{content:"\0025cb "}.lst-kix_9lopuf4j9p0n-2>li:before{content:"\0025a0 "}ul.lst-kix_v4kywwnawwi1-3{list-style-type:none}ul.lst-kix_v4kywwnawwi1-2{list-style-type:none}ul.lst-kix_v4kywwnawwi1-5{list-style-type:none}ul.lst-kix_v4kywwnawwi1-4{list-style-type:none}ul.lst-kix_v4kywwnawwi1-7{list-style-type:none}ul.lst-kix_v4kywwnawwi1-6{list-style-type:none}ul.lst-kix_hhgio4gd2kqu-8{list-style-type:none}ul.lst-kix_v4kywwnawwi1-8{list-style-type:none}ul.lst-kix_hhgio4gd2kqu-6{list-style-type:none}.lst-kix_9vpbdt1zxr8p-6>li:before{content:"\0025cf "}ul.lst-kix_2mieegahdh2w-5{list-style-type:none}ul.lst-kix_hhgio4gd2kqu-7{list-style-type:none}.lst-kix_pa29iojpk15k-8>li:before{content:"\0025a0 "}ul.lst-kix_2mieegahdh2w-4{list-style-type:none}.lst-kix_9lopuf4j9p0n-4>li:before{content:"\0025cb "}ul.lst-kix_hhgio4gd2kqu-4{list-style-type:none}ul.lst-kix_2mieegahdh2w-7{list-style-type:none}ul.lst-kix_hhgio4gd2kqu-5{list-style-type:none}ul.lst-kix_2mieegahdh2w-6{list-style-type:none}ul.lst-kix_hhgio4gd2kqu-2{list-style-type:none}ul.lst-kix_2mieegahdh2w-1{list-style-type:none}ul.lst-kix_hhgio4gd2kqu-3{list-style-type:none}ul.lst-kix_2mieegahdh2w-0{list-style-type:none}ul.lst-kix_v4kywwnawwi1-1{list-style-type:none}ul.lst-kix_hhgio4gd2kqu-0{list-style-type:none}ul.lst-kix_2mieegahdh2w-3{list-style-type:none}ul.lst-kix_v4kywwnawwi1-0{list-style-type:none}ul.lst-kix_hhgio4gd2kqu-1{list-style-type:none}ul.lst-kix_2mieegahdh2w-2{list-style-type:none}.lst-kix_weegr7e6utbi-4>li:before{content:"\0025cb "}.lst-kix_pa29iojpk15k-5>li:before{content:"\0025a0 "}.lst-kix_yganm4mrgvck-7>li:before{content:"\0025cb "}.lst-kix_7zjzqbwrpkjm-5>li:before{content:"\0025a0 "}.lst-kix_9lopuf4j9p0n-1>li:before{content:"\0025cb "}.lst-kix_ieibnn9zk9zy-3>li:before{content:"\0025cf "}.lst-kix_9lopuf4j9p0n-8>li:before{content:"\0025a0 "}.lst-kix_bghnjgxvc7ij-4>li:before{content:"\0025cb "}.lst-kix_yganm4mrgvck-3>li:before{content:"\0025cf "}.lst-kix_7zjzqbwrpkjm-6>li:before{content:"\0025cf "}.lst-kix_jearh3bkcya2-3>li:before{content:"\0025cf "}.lst-kix_9lopuf4j9p0n-5>li:before{content:"\0025a0 "}.lst-kix_jearh3bkcya2-0>li:before{content:"\0025cf "}.lst-kix_5xn4xca12dzt-1>li:before{content:"\0025cb "}.lst-kix_ieibnn9zk9zy-7>li:before{content:"\0025cb "}.lst-kix_pa29iojpk15k-6>li:before{content:"\0025cf "}.lst-kix_weegr7e6utbi-8>li:before{content:"\0025a0 "}.lst-kix_v4kywwnawwi1-0>li:before{content:"\0025cf "}.lst-kix_gdjmrlbf1bc0-8>li:before{content:"\0025a0 "}.lst-kix_hhgio4gd2kqu-8>li:before{content:"\0025a0 "}.lst-kix_5xn4xca12dzt-3>li:before{content:"\0025cf "}.lst-kix_weegr7e6utbi-2>li:before{content:"\0025a0 "}.lst-kix_5xn4xca12dzt-8>li:before{content:"\0025a0 "}.lst-kix_gkrhy9ftmdx5-7>li:before{content:"\0025cb "}ul.lst-kix_yganm4mrgvck-0{list-style-type:none}ul.lst-kix_yganm4mrgvck-2{list-style-type:none}ul.lst-kix_yganm4mrgvck-1{list-style-type:none}.lst-kix_gdjmrlbf1bc0-3>li:before{content:"\0025cf "}.lst-kix_5xn4xca12dzt-0>li:before{content:"\0025cf "}ul.lst-kix_lfdxqe331k89-8{list-style-type:none}ul.lst-kix_lfdxqe331k89-6{list-style-type:none}ul.lst-kix_lfdxqe331k89-7{list-style-type:none}ul.lst-kix_lfdxqe331k89-4{list-style-type:none}ul.lst-kix_lfdxqe331k89-5{list-style-type:none}.lst-kix_rfxe804vasvo-5>li:before{content:"\0025a0 "}.lst-kix_bghnjgxvc7ij-8>li:before{content:"\0025a0 "}.lst-kix_v4kywwnawwi1-7>li:before{content:"\0025cb "}.lst-kix_f44wt6l5fd2z-8>li:before{content:"\0025a0 "}.lst-kix_d07eoiemqszj-5>li:before{content:"\0025a0 "}.lst-kix_91g62kqwec1n-7>li:before{content:"\0025cb "}ul.lst-kix_7zjzqbwrpkjm-5{list-style-type:none}ul.lst-kix_7zjzqbwrpkjm-4{list-style-type:none}.lst-kix_d07eoiemqszj-0>li:before{content:"\0025cf "}ul.lst-kix_7zjzqbwrpkjm-7{list-style-type:none}.lst-kix_2mieegahdh2w-0>li:before{content:"\0025cf "}ul.lst-kix_7zjzqbwrpkjm-6{list-style-type:none}ul.lst-kix_7zjzqbwrpkjm-8{list-style-type:none}.lst-kix_d07eoiemqszj-7>li:before{content:"\0025cb "}.lst-kix_jearh3bkcya2-6>li:before{content:"\0025cf "}.lst-kix_gkrhy9ftmdx5-4>li:before{content:"\0025cb "}.lst-kix_2mieegahdh2w-1>li:before{content:"\0025cb "}.lst-kix_5xn4xca12dzt-5>li:before{content:"\0025a0 "}.lst-kix_v4kywwnawwi1-5>li:before{content:"\0025a0 "}ul.lst-kix_gdjmrlbf1bc0-5{list-style-type:none}ul.lst-kix_gdjmrlbf1bc0-6{list-style-type:none}ul.lst-kix_gdjmrlbf1bc0-7{list-style-type:none}ul.lst-kix_gdjmrlbf1bc0-8{list-style-type:none}.lst-kix_f44wt6l5fd2z-0>li:before{content:"\0025cf "}.lst-kix_2mieegahdh2w-2>li:before{content:"\0025a0 "}ol{margin:0;padding:0}.c0{padding-left:0pt;widows:2;orphans:2;direction:ltr;margin-left:72pt}.c2{widows:2;orphans:2;direction:ltr;page-break-after:avoid}.c24{max-width:468pt;background-color:#ffffff;padding:72pt 72pt 72pt 72pt}.c4{widows:2;orphans:2;direction:ltr}.c1{color:#1155cc;text-decoration:underline;font-weight:bold}.c13{color:#93c47d;font-weight:bold}.c6{color:#8e7cc3;font-weight:bold}.c9{margin:0;padding:0}.c23{font-size:13pt;font-family:"Trebuchet MS"}.c7{padding-left:0pt;margin-left:36pt}.c11{color:#1155cc;text-decoration:underline}.c8{color:inherit;text-decoration:inherit}.c12{background-color:#d9d9d9;font-family:"Consolas"}.c22{padding-left:0pt;margin-left:108pt}.c5{color:#f6b26b;font-weight:bold}.c20{margin-left:54pt}.c3{padding-top:10pt}.c16{font-weight:bold}.c14{font-style:italic}.c15{height:11pt}.c17{color:#cc4125}.c10{margin-left:36pt}.c19{margin-left:18pt}.c21{color:#bf9000}.c18{padding-top:8pt}.title{widows:2;padding-top:0pt;line-height:1.15;orphans:2;text-align:left;color:#000000;font-size:21pt;font-family:"Trebuchet MS";padding-bottom:0pt;page-break-after:avoid}.subtitle{widows:2;padding-top:0pt;line-height:1.15;orphans:2;text-align:left;color:#999999;font-size:11pt;background-color:#efefef;font-family:"Consolas";padding-bottom:0pt}li{color:#000000;font-size:11pt;font-family:"Arial"}p{color:#000000;font-size:11pt;margin:0;font-family:"Arial"}h1{widows:2;padding-top:10pt;line-height:1.15;orphans:2;text-align:left;color:#000000;font-size:16pt;font-family:"Trebuchet MS";padding-bottom:0pt;page-break-after:avoid}h2{widows:2;padding-top:10pt;line-height:1.15;orphans:2;text-align:left;color:#000000;font-size:13pt;font-family:"Trebuchet MS";font-weight:bold;padding-bottom:0pt;page-break-after:avoid}h3{widows:2;padding-top:8pt;line-height:1.15;orphans:2;text-align:left;color:#666666;font-size:12pt;font-family:"Trebuchet MS";font-weight:bold;padding-bottom:0pt;page-break-after:avoid}h4{widows:2;padding-top:8pt;line-height:1.15;orphans:2;text-align:left;color:#666666;font-size:11pt;text-decoration:underline;font-family:"Trebuchet MS";padding-bottom:0pt;page-break-after:avoid}h5{widows:2;padding-top:8pt;line-height:1.15;orphans:2;text-align:left;color:#666666;font-size:11pt;font-family:"Trebuchet MS";padding-bottom:0pt;page-break-after:avoid}h6{widows:2;padding-top:8pt;line-height:1.15;orphans:2;text-align:left;color:#666666;font-style:italic;font-size:11pt;font-family:"Trebuchet MS";padding-bottom:0pt;page-break-after:avoid}</style><p></head><body class="c24"></p>
<p class="c4 c15"><span></span></p>
<p class="c4 c15 c19"><span class="c11"></span></p>
<p class="c4"><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Flatinamerica2015.drupal.org%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGJrgwnj274TDCl2SC8jCcTR-MdIg">DrupalCon Bogot&aacute;</a></span><span>&nbsp;just finished up, and </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fstatus%5B0%5D%3D1%26status%5B1%5D%3D13%26status%5B2%5D%3D8%26status%5B3%5D%3D14%26status%5B4%5D%3D4%26priorities%5B0%5D%3D400%26categories%5B0%5D%3D1%26categories%5B1%5D%3D2%26version%5B0%5D%3D8.x&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNF8nVOE_XYO8vT4zxqVhLbjBEDpXQ">critical issue</a></span><span>-wise</span><span>&nbsp;we&#39;ve managed to stay in the 50s for a few days (down from a high of 150 in the summer of 2013!), so now seems like as good a time as any to write down what&#39;s left to </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fdrupal-8.0%2Fget-involved&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGBWBAEHObfCfWKwarFwozMIh50rQ">ship Drupal 8</a></span><span>!</span></p>
<p class="c4 c15"><span></span></p>
<p class="c4"><span>This post will attempt to document all of the remaining 55 criticals (as of this writing), and attempt to offer a somewhat &quot;plain English&quot; (or at least &quot;Drupal English&quot; ;)) description of each, loosely categorized into larger areas in which we could really use extra help. There are over </span><span class="c11"><a class="c8" href="http://www.google.com/url?q=http%3A%2F%2Fdrupalcores.com%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHGpEysQ8In8V6ElYae14OKAKpjlg">2,600 contributors to Drupal 8</a></span><span>&nbsp;at this time, please </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fdrupal-8.0%2Fget-involved%23help&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNE8wZbctf2QLIuB8mY3GwARruilbQ">join us</a></span><span>!</span></p>
<p class="c4 c15"><span></span></p>
<p class="c4"><span class="c14">(Note: These descriptions might not be 100% accurate; this is my best approximation based on the issue summary and last few comments of each issue. If I got the description of your pet issue wrong, please update your issue summary. ;))</span></p>
<!--break--><p class="c4 c15"><span class="c14"></span></p>
<h1 class="c2"><a name="h.inl72dbedobg"></a><span>Table of contents</span></h1>
<p class="c4 c19"><span class="c11"><a class="c8" href="#h.ypqccthuaogu">Quick vocabulary lesson</a></span></p>
<p class="c4 c19"><span class="c11"><a class="c8" href="#h.t6s6dg6hbxhn">Current state of critical issues</a></span></p>
<p class="c4 c10"><span class="c11"><a class="c8" href="#h.p75y1r4tm9nv">Security</a></span></p>
<p class="c4 c20"><span class="c11"><a class="c8" href="#h.c3q69feo7cmi">Security Parity with Drupal 7</a></span></p>
<p class="c4 c20"><span class="c11"><a class="c8" href="#h.6deq2nteoql6">Session and User Authentication API</a></span></p>
<p class="c4 c20"><span class="c11"><a class="c8" href="#h.6kuo2v4augba">REST</a></span></p>
<p class="c4 c20"><span class="c11"><a class="c8" href="#h.em182923ghii">New security improvements</a></span></p>
<p class="c4 c10"><span class="c11"><a class="c8" id="performance" href="#h.biagh7n8rgpt">Performance</a></span></p>
<p class="c4 c20"><span class="c11"><a class="c8" href="#h.i2oyr5rqaj4x">Profiling</a></span></p>
<p class="c4 c20"><span class="c11"><a class="c8" href="#h.z6xejabnynw">Fix regressions relative to Drupal 7</a></span></p>
<p class="c4 c10"><span class="c11"><a class="c8" href="#h.sumg6cigkyfo">Entity Field API</a></span></p>
<p class="c4 c10"><span class="c11"><a class="c8" href="#h.pvyrwdfyvdc0">Views</a></span></p>
<p class="c4 c10"><span class="c11"><a class="c8" href="#h.yssr9b6rl72a">Configuration system</a></span></p>
<p class="c4 c10"><span class="c11"><a class="c8" href="#h.744pljan9umi">&quot;Fix it, or else&quot;</a></span></p>
<p class="c4 c10"><span class="c11"><a class="c8" href="#h.h46w1jnuchnr">General house-keeping</a></span></p>
<p class="c4 c10"><span class="c11"><a class="c8" href="#h.rmvhprdt1fbk">Other</a></span></p>
<p class="c4 c19"><span class="c11"><a class="c8" href="#h.bf4k5phhkgn7">Thrilling conclusion! (also known as &quot;TL;DR&quot;)</a></span></p>
<p class="c4 c15"><span></span></p>
<h1 class="c2"><a name="h.ypqccthuaogu"></a><span>Quick vocabulary lesson</span></h1>
<p class="c4"><span>Within this list, there are numerous &quot;markers&quot; used to signify that some of the issues in this list are more important to fix ASAP. These are:</span></p>
<p class="c4 c15"><span></span></p>
<ul class="c9 lst-kix_9vpbdt1zxr8p-0 start">
<li class="c4 c7"><span class="c5">D8 upgrade path</span><span>: An issue tagged </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%3Fissue_tags%3DD8%2520upgrade%2520path&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEXNqQsm8FbF5G9RG2BykCXaeQvDw">D8 upgrade path</a></span><span>&nbsp;(currently, 13) means it blocks a beta-to-beta upgrade path for Drupal 8, generally because they materially impact the data schema or they impact security. Once we resolve all of these blockers, early adopters will no longer need to reinstall Drupal between beta releases, but can just run the update.php script as normal. This is currently our biggest priority.</span></li>
<li class="c4 c7"><span class="c16 c17">Blocker</span><span>: An issue tagged </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26issue_tags_op%3D%253D%26issue_tags%3Dblocker&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFnReuY9Oi3etLjtLzttlaaRGhnHw">blocker</a></span><span>&nbsp;(currently, 5) means it blocks other issues from being worked on. This is currently our second-biggest priority (or 0th priority in the case an issue blocks a D8 upgrade path issue :D). I&#39;ve noted these as &quot;sub-bullets&quot; of the issues that are blocking them.</span></li>
<li class="c4 c7"><span class="c6">Postponed</span><span>: Issues that are marked </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26version%255B%255D%3D8.x%26issue_tags_op%3D%253D&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEjNZ9RiYEbx9e3p6ABvoXyTCygpQ">postponed</a></span><span>&nbsp;(currently, 9)</span><span>&nbsp;are either currently blocked by one of the &quot;Blocker&quot; issues, or we&#39;ve deliberately chosen to leave off until later.</span></li>
<li class="c4 c7"><span class="c16 c21">&gt;30 days</span><span>: These patches have a patch more than 30 days old, and/or were last meaningfully commented on &gt;30 days ago. If you&#39;re looking for a place to start, re-rolling these is always helpful!</span></li>
<li class="c4 c7"><span class="c13">Needs triage</span><span>: Anything with a </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26version%255B%255D%3D8.x%26issue_tags_op%3D%253D%26issue_tags%3DTriaged%2BD8%2Bcritical&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGaB5_Sc2-opKWSaLV68wAud8g_WA">Triaged D8 critical</a></span><span>&nbsp;tag (33 as of today) means that at least a couple of Drupal core&#39;s </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fcontribute%2Fcore-maintainers&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNH9j_1FsbLsnsHVxNIOBTM5rXyutQ">branch maintainers</a></span><span>&nbsp;have agreed that this issue should indeed block Drupal 8&#39;s release. Conversely, those tagged </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26version%255B%255D%3D8.x%26issue_tags_op%3D%253D%26issue_tags%3DNeeds%2BD8%2Bcritical%2Btriage&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNH_MEdp-Hw9tFn1lm9WfiT11Rog4w">Needs D8 critical triage</a></span><span>&nbsp;(11 as of today),</span><span>&nbsp;and also those issues without either tag, are those that may or may not actually be critical and still need looking over. As a result, before dumping a bunch of time into solving these, they should be evaluated against the </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fcore%2Fissue-priority&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFiyf9ymltg-1np4IS9JfZ19GAaPQ">priority levels of issues</a></span><span>&nbsp;document to see if they can be downgraded.</span></li>
<li class="c4 c7"><span class="c16">No patch</span><span>: This issue doesn&#39;t have a patch yet. Oh the humanity! Want to give it a shot?</span></li>
</ul>
<p class="c4 c15"><span></span></p>
<p class="c4"><span>Other weird core issue nomenclature:</span></p>
<ul class="c9 lst-kix_d07eoiemqszj-0 start">
<li class="c4 c7"><span>&quot;meta&quot; means a discussion/planning issue, with the actual patch action happening in related/child issues.</span></li>
<li class="c4 c7"><span>&quot;PP-3&quot; means &quot;this issue is postponed on 3 other issues&quot; (PP-1 means 1 other issue; you get the drift).</span></li>
</ul>
<h1 class="c2"><a name="h.t6s6dg6hbxhn"></a><span>Current state of critical issues</span></h1>
<p class="c4"><span>Sections roughly organized from &quot;scariest&quot; to &quot;least scary&quot; in terms of how likely they are to make Drupal 8 take a longer time to come out.</span></p>
<h2 class="c2 c3"><a name="h.p75y1r4tm9nv"></a><span>Security</span></h2>
<p class="c4"><span>Because Drupal 8 hasn&#39;t shipped yet, it&#39;s not following Drupal&#39;s standard </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fsecurity&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNE6hXR2nTFHqCu3OvDgPLfu_y0Osw">Security Advisory</a></span><span>&nbsp;policy, so there are still outstanding, public </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26version%255B%255D%3D8.x%26issue_tags_op%3D%253D%26issue_tags%3Dsecurity&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEE-dzgLOIyDKSjRNfsHuZCz5V5jQ">security</a></span><span>&nbsp;issues (13 as of this writing). We need to resolve most of these prior to providing a Drupal 8 beta-to-beta upgrade path, as this is the time when we signal to early adopters that it&#39;s an OK time to start </span><span class="c14">cautiously</span><span>&nbsp;building real sites on Drupal 8.</span></p>
<p class="c4 c15"><span></span></p>
<p class="c4"><span class="c16">Skills needed:</span><span>&nbsp;Various</span></p>
<h3 class="c2 c18"><a name="h.c3q69feo7cmi"></a><span>Security Parity with Drupal 7</span></h3>
<p class="c4"><span>This class of security issue is to ensure that when Drupal 8 ships, it won&#39;t have any regressions security-wise relative to Drupal 7.</span></p>
<p class="c4 c15"><span></span></p>
<ul class="c9 lst-kix_yganm4mrgvck-0 start">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2419941&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGK1L8XgveCFCz6l1g6qPhNcOcUhw">Check every Drupal 7 contrib SA that may affect Drupal 8 core modules</a></span><span>&nbsp;(</span><span class="c5">D8 upgrade path</span><span>)</span><span>&nbsp;</span><span>In order to ship Drupal 8, we need to ensure that there are no outstanding security advisories for contributed modules that were pushed into Drupal 8 core. </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fu%2Fnickwaring89&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHx40Z5ftf-hlxruq3c_PeaRk6mPA">nickwaring89</a></span><span>&nbsp;has started a </span><span class="c11"><a class="c8" href="https://docs.google.com/a/acquia.com/spreadsheets/d/1kULeE6-Kpd181d4-1eBOi1mInbV-nbfS4kyUzzkPSvM/edit">fantabulous spreadsheet</a></span><span>&nbsp;for tracking this.</span></li>
</ul>
<ul class="c9 lst-kix_yganm4mrgvck-1 start">
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2419923&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHbxhTjkzh6PXzA6AKaWOZoZvpxHw">Port SA-CONTRIB-2013-096 to D8</a></span><span>&nbsp;(</span><span class="c5">D8 upgrade path</span><span>)</span><span>&nbsp;</span><span>Here&#39;s one such issue for Entity Reference module. </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2140237&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNE_Q1z7h0E-5PgopAMTZ0GEjAZ_OQ">SA-CONTRIB-2013-096</a></span><span>&nbsp;addressed a relatively esoteric remote access bypass bug, and the patch needs to be forward-ported to Drupal 8.</span></li>
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2426389&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEBR15tqk_V6vSj-1k_ZSjhOtnfJg">Port SA-CONTRIB-2015-039 to D8</a></span><span>&nbsp;(</span><span class="c5">D8 upgrade path</span><span>) &nbsp;</span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2424403&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNG77PvXsIeFn7NNNnsmB1TfaCcq4w">SA-CONTRIB-2015-039</a></span><span>&nbsp;addressed two issues in Views module, a redirect and default permissions for disabled views. The first was fixed in D8, but access checks are still missing from a few views for the second.</span></li>
</ul>
<ul class="c9 lst-kix_yganm4mrgvck-0">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2421503&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEikiGzTxTjIYmAJVNiYwxdgkE1iA">SA-CORE-2014-002 forward port only checks internal cache</a></span><span>&nbsp;(</span><span class="c5">D8 upgrade path</span><span>) Oopsie. Missed a spot. :P </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2FSA-CORE-2014-002&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFeY1YGG7yO-Cp9bJ2eNUfTub1dvA">SA-CORE-2014-002</a></span><span>&nbsp;was a moderately critical Form API issue, where anonymous users&#39; form entries on cached forms could potentially leak to other anonymous users. It was partially fixed, but not for reverse-proxies.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2099137&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNG7-dmCg0gmcbaJig_AG4X0LPt4Ng">Entity/field access and node grants not taken into account with core cache contexts</a></span><span class="c16">&nbsp;</span><span>We need to figure out and document what the API looks like for field/entity access modules that interact with the new render cache in Drupal 8.</span></li>
</ul>
<p class="c4 c15"><span></span></p>
<h3 class="c2"><a name="h.6deq2nteoql6"></a><span>Session and User Authentication API</span></h3>
<p class="c4"><span>Because of various intricate dependencies, the </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%3Fprojects%3D%26project_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26issue_tags_op%3D%253D%26issue_tags%3Dauthentication&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHUVxi3Nzd7xh8WMJ5yV2ZyWr4e7g">authentication</a></span><span>&nbsp;part of Drupal 8 isn&#39;t yet converted to object-oriented code, and prevents us from further optimizing bootstrap. This set of issues fixes various problems with this part of the code, and ensures these important security APIs are complete and ready to ship.</span></p>
<p class="c4 c15"><span></span></p>
<ul class="c9 lst-kix_yganm4mrgvck-0">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2371629&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEPNBsa6yiO9TJTXxrrFHPZuf5R0Q">[meta] Finalize Session and User Authentication API</a></span><span>&nbsp;(</span><span class="c16 c17">Blocker, </span><span class="c13">Needs triage</span><span>)</span><span>&nbsp;The main tracking issue for work in this area. </span></li>
</ul>
<ul class="c9 lst-kix_yganm4mrgvck-1 start">
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2286971&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNE3qHai1PTtt4NZof7Ov5HTm3cwlg">Remove dependency of current_user on request and authentication manager</a></span><span>&nbsp;(</span><span class="c13">Needs triage</span><span>) Aims to solve a circular dependency when implementing alternative authentication schemes, and move authentication to only happening once per request, closing a potential security hole.</span></li>
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2283637&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHotmL3gf7a_UsK2mlM7DXxxHePLA">Session for an authenticated user can only be set by Cookie AuthenticationProvider</a></span><span>&nbsp;(</span><span class="c16 c21">&gt;30 days</span><span>, </span><span class="c16">No patch, </span><span class="c13">Needs triage</span><span>) Currently, alternative authentication providers, such as </span><span class="c11"><a class="c8" href="http://www.google.com/url?q=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FBasic_access_authentication&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNE1YdRxSeAnkCI6OWfgrKUjQ2HtGQ">HTTP basic authentication</a></span><span>, do not play nicely with the default login form, because Cookie trumps all.</span></li>
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2286591&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFq3Rn3xjTMFFxUtBkIpi4gMAXP8Q">[meta] Security audit the Authentication component</a></span><span>&nbsp;(</span><span class="c6">Postponed, </span><span class="c13">Needs triage</span><span>) Since the Authentication component is new to Drupal 8, this issue proposes performing a security audit on it once it&#39;s complete, and prior to a release candidate.</span></li>
</ul>
<h3 class="c2"><a name="h.6kuo2v4augba"></a><span>REST</span></h3>
<ul class="c9 lst-kix_yganm4mrgvck-0">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2418119&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNE5DhudRAsbbsLBpOwYBUDMWh2myg">REST user updates bypass tightened user account change validation</a></span><span>&nbsp;(</span><span class="c5">D8 upgrade path</span><span>) Since Drupal 7, when you edit your user account, you have to provide the existing password when you want to change the password or e-mail. This security feature is currently by-passed by REST user updates as you can change the password or e-mail without providing the password.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2364011&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHiSSvwiGTekNKdi9DIloIaXDKdGA">External caches mix up response formats on URLs where content negotiation is in use</a></span><span>&nbsp;(</span><span class="c16 c21">&gt;30 days</span><span>) Drupal 8&#39;s request processing system is currently based on </span><span class="c11"><a class="c8" href="http://www.google.com/url?q=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FContent_negotiation&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHcBrGVQONVoIMLN5YSMYElSdT8BA">content negotiation</a></span><span>&nbsp;(which allows you to serve multiple versions of a document at the same URI based on what headers are sent e.g. </span><span class="c12">Accept: text/html</span><span>&nbsp;or </span><span class="c12">Accept: application/json</span><span>). This is generally considered the &quot;right way&quot; to do REST. However, various external caches and CDNs have trouble with this mechanism, and can mix them up and can send random formats back. The issue proposes changing from content negotiation to separate, distinct paths such as </span><span class="c12">/node/1.json</span><span>.</span></li>
</ul>
<p class="c4 c15"><span></span></p>
<h3 class="c2"><a name="h.em182923ghii"></a><span>New security improvements</span></h3>
<p class="c4"><span>These issues affect new security improvements we want to make over and above what Drupal 7 does.</span></p>
<p class="c4 c15"><span></span></p>
<ul class="c9 lst-kix_yganm4mrgvck-0">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2280965&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNE6yDK--MVpSZgZP0ksjjcY_pFPyw">[meta] Document or remove every SafeMarkup::set() call</a></span><span>&nbsp;One of the big security improvements in Drupal 8 is the introduction of </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2296163&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHzHdi5mifH6_l5xc_Ydw1MBTrjqw">Twig&#39;s autoescape feature</a></span><span>, which ensures that all output to the browser is escaped by default. However, this is quite a big change that requires all of the code that was previously escaping content to stop doing that, else it gets double-escaped (so you start seeing &amp;lt; and &amp;quot; and whatnot in the UI). We originally introduced the ability to manually mark markup safe with SafeMarkup::set(), but the recommended approach is actually to use Twig everywhere, so this issue is to ensure that all remaining instances of the manual way are fixed, or at least documented to explain why they&#39;re using the non-recommended method.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2273925&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHPAbdYg2eVFILdxr4wSf9Wv4Y2XA">Passing in #markup to drupal_render is problematic</a></span><span>&nbsp;(</span><span class="c16 c21">&gt;30 days, </span><span class="c13">Needs triage</span><span>) Another issue in the Twig autoescape space, we need to ensure that markup set by the &quot;#markup&quot; in e.g. form definitions is properly escaped.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2388255&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNG_pyMR6BJLQviWq_GJ2zG4nRUAlQ">Limit PDO MySQL to executing single statements if PHP supports it</a></span><span>&nbsp;(</span><span class="c13">Needs triage</span><span>) Remember </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2FSA-CORE-2014-005&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEQRTkLmxQjO-2mhrfqYZjegbotJQ">SA-CORE-2014-005</a></span><span>? Yeah, so do we. ;) This issue is to make sure that if another SQL injection vulnerability is ever found again, the damage it can do is more limited by eliminating the ability for MySQL to execute multiple queries per PDO statement.</span></li>
</ul>
<p class="c4 c15"><span></span></p>
<h2 class="c2"><a name="h.biagh7n8rgpt"></a><span>Performance</span></h2>
<p class="c4"><span>Tied with security, 13 of the remaining issues are tagged </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26version%255B%255D%3D8.x%26issue_tags_op%3D%253D%26issue_tags%3DPerformance&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNG98Y_gFvVEV5XHo5qZ8GarKoAm_w">Performance</a></span><span>. While it may seem odd/scary to have this be a big chunk of the work left, it&#39;s a common practice to avoid </span><span class="c11"><a class="c8" href="http://www.google.com/url?q=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FProgram_optimization&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEmMdOMhBEUKJH-GUvIFKxDC8Yngw">premature optimization</a></span><span>, and instead focus on optimization once all of the foundations are in place.</span></p>
<p class="c4 c15"><span></span></p>
<p class="c4"><span class="c16">Skills needed:</span><span>&nbsp;Profiling, caching, optimization, render API</span></p>
<h3 class="c2 c18"><a name="h.i2oyr5rqaj4x"></a><span>Profiling</span></h3>
<p class="c4"><span>Here are a sub-set of issues where we need </span><span class="c11"><a class="c8" href="http://www.google.com/url?q=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FProfiling_%2528computer_programming%2529&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHX9Ju8VdZb8SednN4ujo8eHdEANQ">performance profiling</a></span><span>&nbsp;to determine what gives us the biggest bang for our effort.</span></p>
<p class="c4 c15"><span></span></p>
<ul class="c9 lst-kix_rfxe804vasvo-0 start">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2289201&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNE6oVI4QL1UrYjSq5Q8K40EBFdZAw">[Meta] Make drupal install and run within reasonable php memory limits so we can reset the memory requirements to lower levels</a></span><span>&nbsp;Due to a variety of issues, including the YAML parsing slowness mentioned above, Drupal 8 currently requires 64M of memory to install, which will only go up as contrib modules are added. The goal is to reduce that significantly, more towards Drupal 7&#39;s numbers. The issue contains a number of profiling results and sub-issues that help.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2407177&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEAR3vsrB_mQMMCTimAuF7SYnAo3Q">Profile to determine which services should be lazy</a></span><span>&nbsp;Drupal 8 exposes a number of </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2133171&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNH8McLuguuXUNZGAfuw9HdNfSj4jQ">Services</a></span><span>&nbsp;(which contain re-usable functionality and allow for pluggability/replacement). Normally, all services that are dependencies of other services are loaded on page load. However, we recently introduced the </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F1973618&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEULKE_uS7GX-6HWjuW1-FGs5P8NA">ability to mark individual services as &quot;lazy&quot;</a></span><span>&mdash;meaning, to only load them on-demand. This issue is to determine which services are currently loading on every request, yet unneeded for most, so we can mark them as such.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2241377&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGvBaynn0ugVU6K_QVHT2n1T_Ke0g">Profile/rationalise cache tags</a></span><span>&nbsp;Drupal 8&#39;s caching API introduces the notion of </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F1884800&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFZMLi5pOcaHkbac-4UTkZiJrsZ3Q">cache tags</a></span><span>, allowing for much more focused and targeted cache clears for much better performance. This issue involves investigating our usage of cache tags in D8 and seeing how they could be optimized/improved.</span></li>
</ul>
<h3 class="c2"><a name="h.z6xejabnynw"></a><span>Fix regressions relative to Drupal 7</span></h3>
<ul class="c9 lst-kix_5xn4xca12dzt-0 start">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F1744302&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGumXl7Vciwe3NdIB9dXRKVsaU2jA">[meta] Resolve known performance regressions in Drupal 8</a></span><span>&nbsp;This is the main tracking issue in this space. During the 8.x cycle we&#39;ve introduced several known performance regressions compared to Drupal 7 (sometimes to make progress on features/functionality, other times because we introduced changes that we hoped would buy us better scalability down the line), which we need to resolve before release so that Drupal 8 isn&#39;t slower than Drupal 7. The performance team meets weekly and tracks their progress in a </span><span class="c11"><a class="c8" href="https://docs.google.com/a/acquia.com/spreadsheet/ccc?key=0AgIiMuY_XxscdFZobFRaVjFnNkZmRUYyd2tqbmRvSGc&amp;usp=drive_web#gid=0">detailed spreadsheet</a></span><span>. </span></li>
</ul>
<ul class="c9 lst-kix_5xn4xca12dzt-1 start">
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2395143&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFteJLZwA3olK2UJ_HrZySQ3dJkGQ">YAML parsing is very slow, cache it with APCu in Drupal\Core\Config\FileStorage::read</a></span><span>&nbsp;(</span><span class="c16 c17">Blocker</span><span>) Installation in Drupal 8 is not as quick as it otherwise would be due to the slowness of parsing YAML files, sometimes more than once. This issue proposes to add a caching layer to speed things up, and also help eliminate noise found in profiling.</span></li>
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2351015&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGSS8ymNv0hzyoGkkCorrHKOeCrvQ">Convert menu CSRF tokens to use #post_render_cache</a></span><span>&nbsp;(</span><span class="c16 c17">Blocker</span><span>, </span><span class="c16 c21">&gt;30 days</span><span>) &nbsp;Drupal employs robust </span><span class="c11"><a class="c8" href="http://www.google.com/url?q=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FCross-site_request_forgery&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGNxgWLDXkph21PuNF3gXAzYceNYg">Cross-Site Request Forgery</a></span><span>&nbsp;protection which involves appending a user-specific token on forms and links. However, this is both a bit overkill (in most systems there is just a single CSRF token per request) and also prevents caching of CSRF-protected forms/links.</span></li>
</ul>
<ul class="c9 lst-kix_5xn4xca12dzt-2 start">
<li class="c4 c22"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F1805054&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHcoAuK7nmE8y_UEa_gkEcp9-F5Kg">[PP-1] Cache localized, access filtered, URL resolved, (and rendered?) menu trees</a></span><span>&nbsp;(</span><span class="c6">Postponed</span><span>, </span><span class="c16 c21">&gt;30 days</span><span>) &nbsp;An </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F1805054%23comment-8806959&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNELAJoATN0Vbf36CyXoDmysllW81Q">impressive performance improvement</a></span><span>&nbsp;for the new D8 toolbar, as well as menu blocks.</span></li>
<li class="c4 c22"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F1965074&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHX7OevQ7GNN5MS13aHU3y_N4EsvA">Add cache wrapper to the UrlGenerator</a></span><span>&nbsp;In Drupal 8, the url() function has been replaced by the </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2046643&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGbzAYyB329l3-xqRgIPMBy00PkUg">UrlGenerator</a></span><span>&nbsp;class instead. This issue is proposing to add caching to make it able to not re-do work once it&#39;s already generated a given URL on the page.</span></li>
</ul>
<ul class="c9 lst-kix_5xn4xca12dzt-0">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F356399&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHJEkurZMY_J_lseygRmlU6bJA4rw">Optimize the route rebuilding process to rebuild on write</a></span><span>&nbsp;Rebuilding the list of routes is expensive, and can result in race conditions (this also </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2425259&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNF_ZTbyYnjr1lCGReNjTPrEuUJIIw">affects Drupal 7</a></span><span>). This issue proposes to move menu rebuilding to write-only requests, which are expected to be expensive anyway.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2263569&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGcgPe5UQGwbp0nUt5w4tu4WYMT6A">Cache-enabled forms generate cached form data for every user on every request</a></span><span>&nbsp;(</span><span class="c16">No patch</span><span>) There&#39;s currently a bug exposed by Views&mdash;</span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2252763&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGYKD-eZUSuloKkdIKw-I4bFH6-8A">Views exposed filter form causes enormous form state cache entries</a></span><span>&mdash;but also visible in other forms that employ caching, which results in the form cache ballooning out of control. Needs to be fixed.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2396333&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHmOWAPpp3HItML1p8-7Egm5Y8ogQ">BlockContentBlock ignores cache contexts required by the block_content entity</a></span><span>&nbsp;This is a bug fix (critical because there could be access control implications if a custom block has access-controlled fields on it) that ensures that a block and its associated block content both share the same list of cache contexts (e.g. language, roles, etc.).</span></li>
</ul>
<h2 class="c2"><a name="h.sumg6cigkyfo"></a><span>Entity Field API</span></h2>
<p class="c4"><span>Tracked under the </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26version%255B%255D%3D8.x%26issue_tags_op%3D%253D%26issue_tags%3DEntity%2BField%2BAPI&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNH5xucBYr72OGkC1CJGy5b6Z9qr7A">Entity Field API</a></span><span>&nbsp;tag (currently 6 issues).</span></p>
<p class="c4 c15"><span></span></p>
<p class="c4"><span class="c16">Skills needed:</span><span>&nbsp;Entity/Field API, Form API, Schema API</span></p>
<p class="c4 c15"><span></span></p>
<ul class="c9 lst-kix_gkrhy9ftmdx5-0 start">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2423213&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEm8zigRoETiM0xpgzyoHiJ7PEWNw">Schema for newly defined entity types is never created</a></span><span>&nbsp;(</span><span class="c5">D8 upgrade path</span><span>) When you first install a module that defines an entity type (for example, Comment), its database tables are correctly generated. However, if an entity definition is later added by a developer to an already-installed module, the related database schema won&#39;t get created, nor will it be detected in update.php as an out-of-date update to run.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2405469&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNF6wft03zVHvuEyt9diRWr3opMtsA">FileFormatterBase should extend EntityReferenceFormatterBase</a></span><span>&nbsp;(</span><span class="c5">D8 upgrade path</span><span>) Entity Reference fields define a EntityReferenceFormatterBase class, which contains logic about which entities to display in the lookup, including non-existing entities and autocreated entities. File field&#39;s FileFormatterBase class currently duplicates that logic, except it misses some parts, including access checking, which makes this a security issue. The issue proposes to simply make File field&#39;s base class a sub-class of Entity Reference&#39;s, removing the need of &quot;sort of but not quite the same&quot; code around key infrastructure.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2227227&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFvSPNVJUSYpsaaC3je8mUVmSrEVg">FieldTypePluginManager cannot instantiate FieldType plugins, good thing TypedDataManager can instantiate just about anything</a></span><span>&nbsp;Currently, you get a fatal error if you attempt to use Drupal 8&#39;s </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fdeveloping%2Fapi%2F8%2Fplugins&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGHDJTI-JgUDgHDVY3h2LK4-As6Mg">Plugin API</a></span><span>&nbsp;to create a new instance of a field type. The current code in core is avoiding this problem by going roundabout via the </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F1794140&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNE7bW8j1L2jjLD1_nS4nCvjsW14ow">Typed Data API</a></span><span>&nbsp;instead. This issue&#39;s critical because these are two of the most central APIs in Drupal 8, and they should work as expected.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F1696648&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEEchonPMehGXhlW8w9B6bEaTtMBg">[META] Untie content entity validation from form validation</a></span><span>&nbsp;Despite all the work to modernize Drupal 8 into a first-class REST server, there still remain places where validation is within form validation functions, rather as part of the proper entity validation API, which means REST requests (or other types of workflows that bypass form submissions) are missing validation routines. This meta issue tracks progress of moving the logic to its proper place.</span></li>
</ul>
<ul class="c9 lst-kix_gkrhy9ftmdx5-1 start">
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2002180&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNF9xvqIvcl67YwKnFshYuhlejx2Gw">Entity forms skip validation of fields that are edited without widgets</a></span><span>&nbsp;(</span><span class="c16 c21">&gt;30 days</span><span>) If a field can be edited with a form element that is not a Field API widget, we do not validate its value at the field-level (i.e., check it against the field&#39;s constraints). Fixing this issue requires ensuring that all entity forms only use widgets for editing field values.</span></li>
</ul>
<ul class="c9 lst-kix_gkrhy9ftmdx5-2 start">
<li class="c4 c22"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2395831&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNH-RDl70ORNNulODzZ6hS4JX5UCEg">Entity forms skip validation of fields that are not in the EntityFormDisplay</a></span><span>&nbsp;(</span><span class="c16">No patch, </span><span class="c16 c21">&gt;30 days</span><span>) Drupal 8 has a new feature called &quot;form modes&quot; (basically analogous to &quot;</span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F1577752&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEjeFtdJbjqlLQkga6WGx_XxRZhoA">view modes</a></span><span>&quot; in Drupal 7, except allowing you to set up multiple forms for a given entity instead). Currently, we&#39;re only validating fields that are displayed on a given form mode, even though those fields might have validation constraints on other fields that are not displayed. Critical because it could present a security issue.</span></li>
</ul>
<h2 class="c2 c3"><a name="h.pvyrwdfyvdc0"></a><span>Views</span></h2>
<p class="c4"><span>Views issues are generally tracked with the </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26issue_tags_op%3D%253D%26issue_tags%3DVDC&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGdFWFDDaUn7RV5xlUPP96K0BfhcQ">VDC</a></span><span>&nbsp;tag. There are currently 6 criticals at this point which touch on Views (some already covered in earlier sections).</span></p>
<p class="c4 c15"><span></span></p>
<ul class="c9 lst-kix_9lopuf4j9p0n-0 start">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2342045&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFYkCUijOMV0LTQJWAEiqXdwIsKZw">Views base fields need to use same rendering as Field UI fields, for formatting, access checking, and translation consistency</a></span><span>&nbsp;(</span><span class="c5">D8 upgrade path, </span><span class="c16 c17">Blocker</span><span>) This is a critical blocker to multilingual functionality; right now, Views mixes up languages when a node title (base field) and body (field UI field) are in the same view. However, it&#39;s also the cause of various other inconsistencies, like the inability to select formatters and formatter options on base fields. This issue proposes treating base entity fields the same as Field UI fields in Views.</span></li>
</ul>
<ul class="c9 lst-kix_9lopuf4j9p0n-1 start">
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2385443&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEyACbu7oe819jdX0twm-CxjsxRxA">[PP-1] Base entity fields using &#39;standard&#39; plugin added via EntityViewsData to not respect field level access</a></span><span>&nbsp;(</span><span class="c5">D8 upgrade path, </span><span class="c6">Postponed</span><span>) Basically, a subset of the same problem. It&#39;s postponed because the above issue may end up solving it.</span></li>
</ul>
<ul class="c9 lst-kix_9lopuf4j9p0n-0">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2381217&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFmL59VCm0NjAb1b-T29tkrR94qQQ">Views should set cache tags on its render arrays, and bubble the output&#39;s cache tags to the cache items written to the Views output cache</a></span><span>&nbsp;This one is critical because it could result in Views showing stale content due to not correctly associating the cache tags of content displayed inside a view with the view itself.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2252763&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGYKD-eZUSuloKkdIKw-I4bFH6-8A">Views exposed filter form causes enormous form state cache entries</a></span><span>&nbsp;Because serialized views are ginormous, the size of the form cache grows exponentially on repeated load of a view with an exposed filter. This issue aims to reduce what is cached by views to stop this from happening.</span></li>
</ul>
<h2 class="c2 c3"><a name="h.yssr9b6rl72a"></a><span>Configuration system</span></h2>
<p class="c4"><span>The </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%3Fprojects%3D%26project_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26issue_tags_op%3D%253D%26issue_tags%3DConfiguration%2Bsystem&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFeeu8qmScm4vhXlSzmkbs5O7D-EQ">configuration system</a></span><span>&nbsp;is remarkably close to being shippable! Only 4 critical issues left. We&#39;re now working on finalizing the niggly bits around edge cases that involve configuration that depends on other configuration.</span></p>
<p class="c4 c15"><span></span></p>
<p class="c4"><span class="c16">Skills needed:</span><span>&nbsp;Configuration system, Entity Field API, Views</span></p>
<p class="c4 c15"><span></span></p>
<ul class="c9 lst-kix_gdjmrlbf1bc0-0 start">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2345225&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGrRIuplFmdAu3if6E4EPcVjezoMQ">[meta-3] CMI path to release</a></span><span>: The main tracking issue for CMI-related issues.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2090115&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFOWVft_KgKgMIWO4d3EjnoyfTncw">Don&#39;t install a module when its default configuration has unmet dependencies</a></span><span>&nbsp;(</span><span class="c5">D8 upgrade path</span><span>) Seems like a good idea. :P Basically handles the situation where a module provides some default configuration (say, a default View), which references a dependency on some other module (say, an Entity Reference field). You want to ensure that the module&#39;s default configuration can&#39;t be installed unless all the various dependencies it needs are there.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2420107&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNH8NyvaOIPZhA1l_kWXwnn0nDSXZw">Determine which config entities can be fixed and which will be deleted when a dependency is removed</a></span><span>&nbsp;(</span><span class="c16 c17">Blocker</span><span>) When we uninstall a module we list which other configuration will be &quot;affected&quot; by the uninstallation. This issue proposes to add new functionality to the configuration system to work out what is going to happen when a specified dependency (or set of dependencies in the case of multiple modules) is going to be removed.</span></li>
</ul>
<ul class="c9 lst-kix_gdjmrlbf1bc0-1 start">
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2416409&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHtcw1ZuRdAtOsplntKct5pHLI_mw">[PP-1] Delete dependent config entities that don&#39;t implement onDependencyRemoval() when a config entity is deleted</a></span><span>&nbsp;(</span><span class="c5">D8 upgrade path</span><span>) In the case where dependent configuration is part of the main configuration (for example, fields on a node type) we want to ensure clean-up is done when the main configuration is deleted.</span></li>
</ul>
<h2 class="c2"><a name="h.744pljan9umi"></a><span>&quot;Fix it, or else&quot;</span></h2>
<p class="c4"><span>This subset of issues are things that are part of core currently, and we would </span><span class="c14">really</span><span>&nbsp;like to keep, but are willing to make some hard choices in the event they are among the last remaining criticals blocking release. The &quot;postponed&quot; among this list means &quot;postponed until we&#39;re down to only a handful of criticals left.&quot; If these issues end up remaining in the list, we will move their functionality to contrib, and hope to add it back to core in a later point release if it gets fixed up.</span></p>
<p class="c4 c15"><span></span></p>
<p class="c4"><span class="c16">Skills required:</span><span>&nbsp;Various, but mainly low-level infrastructure and non-MySQL database skills.</span></p>
<p class="c4 c15"><span></span></p>
<ul class="c9 lst-kix_hhgio4gd2kqu-0 start">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2267715&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGoAdO3NRztXRE9gIlciA5vz63pBQ">[meta] Drupal.org (websites/infra) blockers to a Drupal 8 release</a></span><span>&nbsp;(</span><span class="c16 c17">Blocker</span><span>) This issue contains a &quot;grab bag&quot; of Drupal.org blockers that prevent an optimal Drupal 8 release, including things like semantic versioning support, testing support for multiple PHP/database versions, and support for Composer-based installations. If this issue is one of the last remaining criticals, we might choose to ship Drupal 8 anyway, and jettison one or more features in the process, such as&hellip;</span></li>
</ul>
<ul class="c9 lst-kix_hhgio4gd2kqu-1 start">
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2157455&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEgTsGRSmLI-OiIWf5A7QYErFfAKA">[Meta] Make Drupal 8 work with PostgreSQL</a></span><span>&nbsp;(</span><span class="c13">Needs triage</span><span>) The meta/planning issue for fixing PostgreSQL (both in terms of functionality and in terms of failing tests).</span><span>&nbsp;</span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fu%2Fbzrudi71&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFUCvi3AYakspUgohzh2ZplWqKK9Q">bzrudi71</a></span><span>&nbsp;is predominantly leading the charge here and making steady progress, but more hands would be greatly appreciated.</span></li>
</ul>
<ul class="c9 lst-kix_hhgio4gd2kqu-2 start">
<li class="c4 c22"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F1013034&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHk2hD-OQrWA37h_ROJJoNXzydlng">PostgreSQL constraints do not get renamed by db_rename_table()</a></span><span>&nbsp;One of the sub-issues of the above, critical because it causes failing tests.</span></li>
<li class="c4 c22"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2160433&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFzZCC_NtbjKPeItf7ZZUzJdbPREQ">[policy, no patch] Move PostgreSQL driver support into contrib</a></span><span>&nbsp;(</span><span class="c6">Postponed, </span><span class="c13">Needs triage</span><span>) If efforts to fix PostgreSQL fails or we don&#39;t get testbot support for PostgreSQL in time, it&#39;s off to contrib-land (where, sadly, it is even </span><span class="c14">less</span><span>&nbsp;likely to survive regressions).</span></li>
</ul>
<ul class="c9 lst-kix_hhgio4gd2kqu-1">
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2318191&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHtt1ORniAF6M1YVYgRXILWF56vJA">[meta] Database tests fail on SQLite</a></span><span>&nbsp;(</span><span class="c16 c21">&gt;30 days</span><span>) Same deal as PostgreSQL but for SQLite. </span><span class="c14">Unlike</span><span>&nbsp;PostgreSQL</span><span>&nbsp;though, this one doesn&#39;t have anyone leading the charge at this time, and it&#39;s also a lot harder to punt this to contrib, since we use it for various things such as testbot. </span><span class="c16">Help wanted!</span></li>
</ul>
<ul class="c9 lst-kix_hhgio4gd2kqu-0">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2352637&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEIKMTpX4Cqss6MWuSotfn1WZIijQ">Remove the UI for installing/updating modules from update module if it is not fixed in time for release</a></span><span>&nbsp;(</span><span class="c6">Postponed</span><span>) One major security improvement of Drupal 7 was providing the ability to install/update modules and themes directly from the browser. However, the feature has atrophied in Drupal 8 due to lack of test coverage and lack of active use/maintenance, and now the functionality is broken. And while the feature&#39;s very useful, it&#39;s not useful enough to further delay Drupal 8&#39;s release if it&#39;s one of the last critical issues left. </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fu%2Fjoelpittet&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFfBXaLfc0AvUBAlJYUWbX-abqotw">joelpittet</a></span><span>&nbsp;is making a valiant effort to try and save this feature in </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2042447&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFHXswMfBDsyPh_0-7fw3CzSYNpZQ">Install a module user interface does not install modules (or themes)</a></span><span>, but the issue would definitely benefit from other helping hands, particularly for extra testing/patch reviews.</span></li>
</ul>
<p class="c4 c15"><span></span></p>
<h2 class="c2 c3"><a name="h.h46w1jnuchnr"></a><span>General house-keeping</span></h2>
<p class="c4"><span>These are all basic things we need to keep on top of between now and release, to ensure that when we&#39;re down to only a handful of criticals, we&#39;re ready to ship a release candidate. The good news is, these are also all generally really easy patches to make, and often also to test.</span></p>
<p class="c4 c15"><span></span></p>
<p class="c4"><span class="c16">Skills needed:</span><span>&nbsp;Basic patch rolling / reviewing / testing skills. (</span><span class="c16">good for newbies!</span><span>)</span></p>
<p class="c4 c15"><span></span></p>
<ul class="c9 lst-kix_2mieegahdh2w-0 start">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2400407&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFRZ0NVFJ9hzUREQoci8LdyxYiI2g">[meta] Ensure vendor (PHP) libraries are on latest stable release</a></span><span>&nbsp;Basically, exactly what it says. :) Making sure that all of the external libraries referenced in core&#39;s </span><span class="c11"><a class="c8" href="http://www.google.com/url?q=http%3A%2F%2Fcgit.drupalcode.org%2Fdrupal%2Ftree%2Fcore%2Fcomposer.json&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGO-TwEbV5aj3Iownn5YY8Mo1HDSw">composer.json</a></span><span>&nbsp;file are up to the latest stable releases.</span></li>
</ul>
<ul class="c9 lst-kix_2mieegahdh2w-1 start">
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2343035&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEW3ZFmLx2OmjxyKCFTJOepPkAYmg">Upgrade validator integration for Symfony versions 2.5+</a></span><span>&nbsp;This one is called out specially because doing this brings us inline with Symfony 3, which is important for future-proofing Drupal 8.</span></li>
</ul>
<ul class="c9 lst-kix_2mieegahdh2w-0">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2203431&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHOSbRNiJ3zQjyCwhQEJ9plR1dtxQ">[meta] Various asset (JavaScript) libraries have to be updated to a stable release prior to 8.0.0</a></span><span>&nbsp;(</span><span class="c16 c17">Blocker</span><span>) Same deal, but for JavaScript libraries, which are generally located in the</span><span><a class="c8" href="http://www.google.com/url?q=http%3A%2F%2Fcgit.drupalcode.org%2Fdrupal%2Ftree%2Fcore%2Fassets%2Fvendor&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFG_0GAO6J-92wsByJe5bRkPNpTsg">&nbsp;</a></span><span class="c11"><a class="c8" href="http://www.google.com/url?q=http%3A%2F%2Fcgit.drupalcode.org%2Fdrupal%2Ftree%2Fcore%2Fassets%2Fvendor&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFG_0GAO6J-92wsByJe5bRkPNpTsg">http://cgit.drupalcode.org/drupal/tree/core/assets/vendor</a></span><span>&nbsp;folder.</span></li>
</ul>
<ul class="c9 lst-kix_2mieegahdh2w-1 start">
<li class="c0"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F1341792&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEQTZKeukQyAohsQq7NyOBJH_lMCA">[meta] Ship minified versions of external JavaScript libraries</a></span><span>&nbsp;(</span><span class="c6">Postponed</span><span>) Basically, in the Gilded Mobile Age&trade; we want to ensure that we&#39;re sending as little over the wire as possible, so scrunching various JS libraries down to the smallest possible file size needs to be the default. Separate issue from above because it needs to happen for both updated and existing JS libraries. Postponed because there&#39;ll be less work to do once all of the out-of-date JS libraries are updated and minified at the same time.</span></li>
</ul>
<ul class="c9 lst-kix_2mieegahdh2w-0">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F1393358&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGOIY3qJRsir5uzh2g1aAQUiNtDZw">[META-12] Review &#39;revisit before release candidate&#39; tag</a></span><span>&nbsp;There are a number of issues that for one reason or another (for example, because we made a decision in order to unblock progress but weren&#39;t completely sure if it&#39;d be the right one N months/years later when D8 shipped) we&#39;ve tagged </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Ftext%3D%26assigned%3D%26submitted%3D%26project_issue_followers%3D%26version%255B%255D%3D8.x%26issue_tags_op%3D%253D%26issue_tags%3Drevisit%2Bbefore%2Brelease%2Bcandidate&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEJatKhMZfWls7LEr7Eh-hZLy4P0w">revisit before release candidate</a></span><span>. We need to make sure this list is down to zero in order to ship Drupal 8.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2341575&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHF8XConzj3-XAM793BbCFUYi7hTw">[meta] Provide a beta to beta upgrade path</a></span><span>&nbsp;(</span><span class="c5">D8 upgrade path, </span><span class="c6">Postponed</span><span>) A policy issue that documents what holds up a beta-to-beta upgrade path, and what happens after we ship an &quot;upgrade path beta.&quot; Postponed until all other critical D8 upgrade path issues are fixed.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2362647&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNE_-a_R6YC72WmazGwZ4RIsnm2T6Q">[policy, no patch] 8.0.0 release candidates, release, patch versions, 8.1.x</a></span><span>&nbsp;A policy discussion about what happens once we reach zero critical issues. Needs to be figured out before that happens. :)</span></li>
</ul>
<h2 class="c2"><a name="h.rmvhprdt1fbk"></a><span>Other</span></h2>
<p class="c4"><span>I couldn&#39;t figure out a nice heading for these, so here&#39;s the rest.</span></p>
<p class="c4 c15"><span></span></p>
<ul class="c9 lst-kix_91g62kqwec1n-0 start">
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2372507&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGys0U30HBIgCI6WvtvKxBPNqI0qw">Remove _system_path from $request-&gt;attributes</a></span><span>&nbsp;(</span><span class="c13">Needs triage</span><span>)</span><span>&nbsp;Symfony provides a $request object, which has an &quot;attributes&quot; property for the purpose of storing various contextual bits. But the problem with $request-&gt;attributes-&gt;get(&#39;_MAGIC_KEY&#39;) is that the values are undocumented, there&#39;s no IDE autocompletion, and it&#39;s not clear which are internal vs. public properties, so we have an issue at </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2124749&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHi1yhUwzJ6piRLwPao-x5CH0MNqg">[meta] Stop using $request-&gt;attributes-&gt;get(MAGIC_KEY) as a public API</a></span><span>. to try and stop doing that. <br><br>However, _system_path in particular is used a ton, since it&#39;s very common to want to know the path of the current request. The patch exposes a &quot;CurrentPath&quot; service instead, which eliminates all of those issues.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2421263&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFVGxFRDovFv321NlON0HBDCOenUg">Potential data loss: concurrent node edits leak through preview</a></span><span>&nbsp;(</span><span class="c13">Needs triage</span><span>) Because the temp store that Drupal 8&#39;s new node preview system employs uses an entity&#39;s ID as the key, rather than something uniquely identifiable to a user, if two users are editing the same node and hit preview at the same time, one of them is going to lose data due to a race condition.</span></li>
<li class="c4 c7"><span class="c1"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fnode%2F2339491&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHIErRFTx4OrpIE4iyKqvg4Pu7GYQ">Ajax file uploads fail on IE 9</a></span><span>&nbsp;Pretty much exactly what it says on the tin. :P</span></li>
</ul>
<h1 class="c2"><a name="h.bf4k5phhkgn7"></a><span>Thrilling conclusion! (also known as &quot;TL;DR&quot;)</span></h1>
<p class="c4"><span>Well, not so thrilling, but at least a conclusion. :)</span></p>
<p class="c4 c15"><span></span></p>
<ul class="c9 lst-kix_f44wt6l5fd2z-0 start">
<li class="c4 c7"><span>Anywhere you see a </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26issue_tags_op%3D%253D%26issue_tags%3Dblocker&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFnReuY9Oi3etLjtLzttlaaRGhnHw">blocker</a></span><span>&nbsp;issue, attack it with fire. Those are holding other criticals up.</span></li>
<li class="c4 c7"><span>The biggest area of focus right now is </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%3Fissue_tags%3DD8%2520upgrade%2520path&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEXNqQsm8FbF5G9RG2BykCXaeQvDw">D8 upgrade path</a></span><span>&nbsp;blockers. Many of them are </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26version%255B%255D%3D8.x%26issue_tags_op%3D%253D%26issue_tags%3Dsecurity&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEE-dzgLOIyDKSjRNfsHuZCz5V5jQ">security</a></span><span>&nbsp;issues.</span></li>
<li class="c4 c7"><span>Another big area is </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26version%255B%255D%3D8.x%26issue_tags_op%3D%253D%26issue_tags%3DPerformance&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNG98Y_gFvVEV5XHo5qZ8GarKoAm_w">Performance</a></span><span>, both fixing existing regressions, and profiling to determine where our biggest wins are.</span></li>
<li class="c4 c7"><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26issue_tags_op%3D%253D%26issue_tags%3DVDC&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGdFWFDDaUn7RV5xlUPP96K0BfhcQ">Views</a></span><span>&nbsp;and </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26version%255B%255D%3D8.x%26issue_tags_op%3D%253D%26issue_tags%3DEntity%2BField%2BAPI&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNH5xucBYr72OGkC1CJGy5b6Z9qr7A">Entity Field API</a></span><span>&nbsp;are tied in third place for number of remaining criticals. Let&#39;s have a race, shall we? ;)</span></li>
<li class="c4 c7"><span>The </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%3Fprojects%3D%26project_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26issue_tags_op%3D%253D%26issue_tags%3DConfiguration%2Bsystem&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFeeu8qmScm4vhXlSzmkbs5O7D-EQ">configuration system</a></span><span>&nbsp;is looking pretty good, but still has a handful of sticky issues left.</span></li>
<li class="c4 c7"><span>There are a series of </span><span class="c11"><a class="c8" href="#h.744pljan9umi">important features we&#39;ll lose</a></span><span>&nbsp;if they&#39;re not fixed up in time.</span></li>
<li class="c4 c7"><span>If you&#39;re looking for something somewhat easy/mundane, help yourself to one of the </span><span class="c11"><a class="c8" href="#h.h46w1jnuchnr">general house-keeping</a></span><span>&nbsp;issues.</span></li>
<li class="c4 c7"><span>Don&#39;t forget about the </span><span class="c11"><a class="c8" href="#h.rmvhprdt1fbk">other miscellaneous issues</a></span><span>&nbsp;I was too tired to categorize.</span></li>
<li class="c4 c7"><span>You&#39;re safer fixing a </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fproject%2Fissues%2Fsearch%2Fdrupal%3Fproject_issue_followers%3D%26status%255B%255D%3D1%26status%255B%255D%3D13%26status%255B%255D%3D8%26status%255B%255D%3D14%26status%255B%255D%3D4%26priorities%255B%255D%3D400%26categories%255B%255D%3D1%26categories%255B%255D%3D2%26version%255B%255D%3D8.x%26issue_tags_op%3D%253D%26issue_tags%3DTriaged%2BD8%2Bcritical&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGaB5_Sc2-opKWSaLV68wAud8g_WA">Triaged D8 critical</a></span><span>&nbsp;issue, since those are all guaranteed to block release, while others may be downgraded in the future.</span></li>
</ul>
<p class="c4 c15"><span></span></p>
<p class="c4"><span>Sorry this post was so long (and probably has its share of inaccuracies) but I hope it will be helpful to some. It&#39;s basically what I needed to get back up to speed after taking a few months off of Drupal 8, so figured I&#39;d </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.lullabot.com%2Fblog%2Farticle%2Fdrupal-best-practice-document-your-way-understanding&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFB0FT6TPrt2Xb8M1Uj53Urc9PVRA">document my way to understanding</a></span><span>.</span></p>
<p class="c4 c15"><span></span></p>
<p class="c4"><span>Now, let&#39;s </span><span class="c11"><a class="c8" href="https://www.google.com/url?q=https%3A%2F%2Fwww.drupal.org%2Fdrupal-8.0%2Fget-involved&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGBWBAEHObfCfWKwarFwozMIh50rQ">get &#39;er done</a></span><span>! :D</span></p>
<p></body></html></p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Tags:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/63" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal 8</a></div><div class="field-item odd"><a href="/taxonomy/term/1" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal</a></div><div class="field-item even"><a href="/drupal-core-diaries" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal core diaries</a></div></div></div>Sat, 14 Feb 2015 09:09:15 +0000webchick127 at http://webchick.nethttp://webchick.net/critical-rundown-bogota#commentsDrupal core committer takes Acquia Certification exam. You won't believe what happens next!http://webchick.net/node/125
<div class="field field-name-upload field-type-file field-label-hidden"><div class="field-items"><div class="field-item even"><table class="sticky-enabled">
<thead><tr><th>Attachment</th><th>Size</th> </tr></thead>
<tbody>
<tr class="odd"><td><span class="file"><img class="file-icon" alt="" title="application/pdf" src="/modules/file/icons/application-pdf.png" /> <a href="http://webchick.net/files/AcquiaCertificationStudyGuide.pdf" type="application/pdf; length=124176">AcquiaCertificationStudyGuide.pdf</a></span></td><td>121.27 KB</td> </tr>
<tr class="even"><td><span class="file"><img class="file-icon" alt="" title="image/png" src="/modules/file/icons/image-x-generic.png" /> <a href="http://webchick.net/files/logo.png" type="image/png; length=6137">logo.png</a></span></td><td>5.99 KB</td> </tr>
</tbody>
</table>
</div></div></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>TL;DR I passed. :P Here's a run-down of what the experience was like.</p>
<p><em>Up-front disclaimer: I work for <a href="http://www.acquia.com/">Acquia</a>. However, I was not involved in the creation of <a href="http://www.acquia.com/products-services/acquia-certification-program-overview">Acquia Certification</a> and had no insight to the test beforehand apart from a single sample question. I'm also writing this on my personal blog, rather than Acquia.com, because these are *my* thoughts/impressions, and haven't been vetted by anyone else. :) Carry on!</em></p>
<h3>Some background</h3>
<p>I'm originally from the United States (<a href="http://www.buzzfeed.com/babymantis/the-truth-behind-duck-duck-goose-a-visual-gui-1opu">Duck, Duck, Gray Duck</a> represent!) and moved to Canada in my early 20s to be with my now wife of 15 years. :) I had no family in Canada and very little work experience, so my only option was to come into Canada as a student. As a foreign student in Canada, you are only allowed to earn money through a job at the school you're attending. So, since I was already a huge nerd who'd been building all of my family's computers since I was a teenager, I knuckled down and got my <a href="http://certification.comptia.org/getCertified/certifications/a.aspx">A+ Certification</a> and then taught computer hardware and A+ prep courses in the evenings.</p>
<p>So while I empathize with <a href="http://certifiedtorock.com/criticisms-of-certification-programs">detractors of certification</a>, and I'm sure <em>lots</em> of people would criticize A+ Certification in particular—and they'd pretty much be right on all counts—I do think certifications have their place. For me, it was an important enabler at a time when I was young and unestablished in my career, which allowed me to combine what I already knew from hands-on experience with a bit of book-cramming to get a piece of paper that allowed me to get a quite decent job. Many of the people I taught were older adults doing late-life career changes, or younger people like me trying to augment skills and knowledge they'd acquired as hobbyists into something that could be meaningful to a prospective employer (or at least their HR department).</p>
<p>My interest in teaching is also what got me into Drupal in the first place. During <a href="https://developers.google.com/open-source/soc/">Google Summer of Code</a> in 2005, Drupal stood out among the list of mentoring organizations, not just because I'd seen it used on the old <a href="http://www.spreadfirefox.com/">Spread Firefox</a> website (which originally put Drupal on my radar), but also because one of the GSoC project ideas was the <a href="https://drupal.org/project/quiz">Quiz module</a>, which could help educators like me deliver web-based learning built on open source software. Cool! So I applied to write Quiz module for Drupal, and lo-and-behold that decision seems to have worked out pretty well. ;)</p>
<p>However, although I've been very active in the Drupal community for almost 10 years(!), the last time I actually <em>built</em> a Drupal site of any level of seriousness was back in the Drupal 6 era, circa 2009. In late 2008, <a href="https://groups.drupal.org/node/126104">I was becoming more of a "project manager" at work</a> while at the same time <a href="http://buytaert.net/angela-webchick-byron">I was appointed Drupal 7 core co-maintainer</a> (which basically made me a "project manager" in the community as well), so although I read lots and lots of code, my knowledge of day-to-day troubleshooting of "real world" problems on Drupal sites is on much shakier ground these days. OTOH, I could tell you the <em>reason</em> behind almost every weird inconsistency in core, and also the names of all the main core developers' pets, so you know, there's that. ;)</p>
<p>So, basically, I have a background in both taking and delivering training around certification, so I was of course intrigued to see what Acquia's take on Drupal certification was all about, and how it compared. I was also very curious how I would do on this exam, given I have several years of hard-fought "real world" experience on Drupal 4.6 => Drupal 6, but then much more academic (although <em>deeply</em> academic, since I read most of the core patches at one point or another) knowledge of Drupal 7, though a lot of it lost to the fog of Drupal 8, where we're actively removing most of that stuff. ;)</p>
<h3>Preparation</h3>
<p>Start by taking a look at the <a href="http://www.acquia.com/products-services/acquia-certified-developer-exam-blueprint">Acquia Certified Developer Exam Blueprint</a> which nicely outlines the "domains" (subject matter) that the test covers:</p>
<hr />
<blockquote><p>
<strong>Domain 1.0: Fundamental Web Development Concepts</strong></p>
<p>1.1. Demonstrate knowledge of HTML and CSS<br />
1.2. Identify PHP programing concepts<br />
1.3. Identify JavaScript and jQuery programing concepts<br />
1.4. Demonstrate the use of Git for version control</p>
<p><strong>Domain 2.0: Site Building</strong></p>
<p>2.1 Demonstrate ability to create and configure Content Types with appropriate fields and field settings for building basic data structures<br />
2.2. Demonstrate ability to configure field display and view modes for content types<br />
2.3 Demonstrate ability to create and use Taxonomy vocabularies and terms for classification and organization of content<br />
2.4 Demonstrate ability to configure Blocks for building layouts from information widgets<br />
2.5 Demonstrate ability to build main and alternative navigation systems by using Menus<br />
2.6 Demonstrate ability to create and configure Views for building content list pages, blocks and feeds</p>
<p><strong>Domain 3.0: Front end development (theming)</strong></p>
<p>3.1 Given a scenario, demonstrate ability to create a custom theme or sub theme<br />
3.2 Demonstrate knowledge of theming concepts<br />
3.3 Demonstrate ability to build or override PHP templates for defining layout content<br />
3.4 Demonstrate ability to use theme () functions for overriding custom output<br />
3.5 Demonstrate ability to write template pre-process functions for overriding custom output</p>
<p><strong>Domain 4.0: Back end development (coding)</strong></p>
<p>4.1 Demonstrate ability to develop Custom Modules using Drupal API for extending Drupal functionality<br />
4.2 Demonstrate ability to work with Drupal's Database Abstraction Layer for managing tables and CRUD operations on data<br />
4.3 Demonstrate ability to debug code and troubleshoot site problems<br />
4.4 Demonstrate ability to write code using Drupal Coding Standards<br />
4.5 Demonstrate ability to analyze and resolve site performance issues arising from site configuration and custom code<br />
4.6 Demonstrate ability to analyze and resolve security issues arising from site configuration and custom code
</p></blockquote>
<hr />
<p>My impression of this curriculum-wise is that it's a pretty complete list. If someone actually has knowledge of all of these concepts, as well as a couple of years experience learning what to do / what not to do in practical terms, they'd be a really decent, well-rounded Drupal developer.</p>
<p>One thing I'd love to see in future revisions of the exam is a "Community" domain that demonstrates knowledge of how to engage and participate in the Drupal community. I terms of overall Drupal success, community interaction is just as fundamental a skill as knowing how to properly debug code or troubleshoot site problems, in my experience.</p>
<p>I've attached a <a href="http://webchick.net/files/AcquiaCertificationStudyGuide.pdf">"study guide"</a> to the bottom of this post, which I prepared by going around and gathering links to free resources under each of these headings in case it's helpful to other folks rounding out their skills. (In particular, I needed to study up on performance and JavaScript, for example.) Since I prepared this <em>before</em> taking the exam, I don't think it will give anyone any particular advantage, but it'll at least save you a good half hour of Googling. :)</p>
<h3>Exam pre-requisites</h3>
<p>A couple of things you need to know ahead of time:</p>
<p>1) There are two ways you can take the exam: either in "real life" through <a href="http://www.kryteriononline.com/host_locations/">one of Kryterion's worldwide test centers</a>, or online "proctored" exam via <a href="https://www.webassessor.com/">Web Assessor</a>.</p>
<p>(Note: "Proctored" sounds like something horrible that might happen to you at a doctor's office, but it means "supervised" — they are going to record your face and your computer movements while you take the test and this will be reviewed by a human to make sure you're not cheating.)</p>
<p>2) Whether you take it in real life or online, <strong>you *must* schedule a time for the exam</strong> <del>at least 24 hours in advance</del> (my bad — thanks, Wayne Eaker!). You do that at <a href="https://www.webassessor.com/wa.do?page=publicHome&amp;branding=ACQUIA">Acquia Certification Program</a> site:</p>
<ul>
<li>Register for an account</li>
<li>Pick the exam style you want ("onsite" vs "online" — be careful to click on the right one, the distinction is very subtle ;))</li>
<li>Pay for it ($250, which puts it more on the low end... A+ is about $200 vs. Cisco/Microsoft which can be upwards of $1500). Unless of course you work for Acquia, since employees can get vouchers to take the exam for free. (<a href="https://www.acquia.com/careers">Did I mention we're hiring? ;)</a>)</li>
<li>Pick a date/time. </li>
</ul>
<p>3) If you're doing the online method, you also need to download and install a software called "Sentinel Secure" to record your webcam/microphone/screen during the test (and this needs to be installed on your <em>actual</em> machine, not in e.g a virtual machine, since you could very easily cheat on the host machine if that were the case), as well as provide a "biometric profile." This involves typing your name like 12 times on the keyboard, and then taking a picture of your face via your web cam (you're required to have a web cam to take the test).</p>
<p>If all of that sounds overly creepy to you, you should register for a real-life exam instead. ;)</p>
<h3>Taking the exam</h3>
<p>I went the online route, and here's what that experience was like.</p>
<p>First, remember that you need to be at the computer the entire time until you finish the 60 question exam, which means up to 90 minutes. And while that sounds like plenty of time, the questions often require reading and re-reading to make sure you have all the details before picking an answer. So make sure you are properly hydrated, caffeinated, and have urinated ;) before your test time.</p>
<p>Also, make sure you are in a quiet place and don't have any "real life" distractions happening during that 90 minutes. Web Assessor doesn't mess around. For example, a co-worker had to re-take the exam because he took the test in an office setting where people were seen walking behind his desk (because they could've been looking at his screen and whispering answers to him, presumably). For my part, I started mumbling along as I was reading a question and it gave me a warning to not read the test questions aloud. :P I'm sure if I'd kept that up, I would've had to do a force-retake as well.</p>
<p>Then, close out of everything except for Firefox, IE, or Safari (for whatever bizarre reason you can't use Chrome). Log back into the <a href="https://www.webassessor.com/wa.do?page=publicHome&amp;branding=ACQUIA">Acquia Certification Program</a> site and you should see a link to your exam that becomes active within a few minutes of your test time.</p>
<p>(Note: If you're like me and you do a dumb thing and accidentally pick the wrong date for your exam, you will find Kryterion's support actually helpful. I was able to call an 866 number and get a person on the phone within 30 seconds, and they had me up and rescdeduled in about 2 minutes. w00t!)</p>
<p>Once in, it'll repeat your bio profile, you'll have to agree to a terms of use which basically says you're not allowed to talk about what's on the exam (so I'll be very vague about it here), and then you're off to the races.</p>
<p>All questions are multiple choice. Most are single-answer, but a few are multiple answer. On any question you're allowed to check a box and "flag" it for later review, so if you're not sure of something you can always come back to it. You can review all of your answers at any time, the ones you've flagged will be starred so they stand out.</p>
<p>Then at the end, you'll get your mark, as well as a breakdown of how you did per-domain, and you get this e-mailed to you as well (since obviously you can't take screenshots or copy/paste out of the Secure Sentinel app :P). A few minutes later you'll also get a fancy certificate to print out and badge for your website e-mailed to you as well.</p>
<h3>Blah, blah, blah. How'd you do already?</h3>
<p>I got.... <strong>85%</strong>! Which I was actually pretty happy with, especially since I've been told the highest exam mark atm is under 90%. :) (I did the worst on the "Basic Web Concepts" part. Damn you, CSS/JS.) Overall I'd say about 30% of the questions were easy for me, another 50% made me go "Hmmm" and about 20% I needed to flag, a handful of which required resorting to Wild Ass Guesses. ;)</p>
<p>The reason I was able to score relatively high despite my lack of extensive hands-on D7 experience is that most of the questions on the exam are "scenarios" that are highly focused around common issues you hit in the "real world" while building Drupal sites, and most of these are pretty timeless (especially the site builder-related topics). This also makes the exam much harder to "book-cram" for, because unless you've smacked your head into the desk a few times with Drupal, you could have a hard time because all of the answers at least <em>sound</em> plausible.</p>
<p>I found this format very refreshing and very <em>unlike</em> the A+ certification, which was to a large extent (at least back when I took it) a bunch of mindless memorization of useless facts. For example, I will forever have the number of pins in an IDE vs. floppy cable etched into my memory, even though that is <em>completely useless knowledge</em> because you know what? One fits, and the other one doesn't. :P~ So don't expect your ability to recite all of the hook_menu() bitmask flags from memory to help you much on this exam. (Darn, I had worked so hard on developing that party trick, too.)</p>
<p>I also did spot a few typos and some places where question wording could be more clear, and I'll try and work with the certification team to clean those up (it'd be nice if there was a "report a problem with this question" link for things like that). But overall, this seems like a pretty solid entry point into certification for Drupal, and I'm looking forward to see what the team comes up with for the more focused and "hardcore" exams.</p>
<p>Do you need to take this exam? If you've worked on Alexa top 1000 sites and/or have a great track record of public contributions on Drupal.org, obviously no: <a href="http://certifiedtorock.com/">your resume speaks for itself.</a> But if you've been prevented by either personal or professional circumstances from having built up a robust D.o profile or client base over the years, this certification seems like a pretty solid way to get your foot in the door at a Drupal company.</p>
<p><img src="http://webchick.net/files/logo.png" alt="\m/" title="\m/" /></p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Tags:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/1" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal</a></div><div class="field-item odd"><a href="/taxonomy/term/62" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">acquia</a></div></div></div>Mon, 24 Mar 2014 20:43:40 +0000webchick125 at http://webchick.nethttp://webchick.net/node/125#commentsDrupal 8 development explained for Drupal 7 developershttp://webchick.net/node/124
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>I've seen some Drupal module developers out there have a lot of trepidation about moving to Drupal 8, most often via hearsay from others or via occasionally dipping in to look around and being spooked by newfangeldy stuff like namespaces, object-oriented code, and weird directory structures.</p>
<p>Alex Bronstein, long-time core developer and first-time blogger ;), has written an excellent piece offering a small introduction to changes to Drupal 8 for people who are less familiar with modern PHP and more familiar with traditional Drupal code, on what to expect, how to map your current knowledge to the new paradigms, and some of the rationale for these changes and why they're a good thing for Drupal.</p>
<p>You can read it here: <a href="http://effulgentsia.drupalgardens.com/content/drupal-8-hello-oop-hello-world">http://effulgentsia.drupalgardens.com/content/drupal-8-hello-oop-hello-w...</a></p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Tags:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/1" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal</a></div><div class="field-item odd"><a href="/taxonomy/term/63" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal 8</a></div></div></div>Fri, 02 Aug 2013 20:14:02 +0000webchick124 at http://webchick.nethttp://webchick.net/node/124#commentsHeads up: Maternity leave starting next weekhttp://webchick.net/node/123
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>(Sorry for spamming Drupal Planet with this, but a few people on IRC were saying it might be a good idea for people to get a wider heads-up, given the number of Drupal community hats I wear.)</p>
<p>In a week, we're heading down to Minnesota to <a href="http://webchick.net/plus-one">pick up our new addition to the family</a>, and so starting May 6 I'll be on maternity leave for 3 months, until ~August 1 (thank you, <a href="http://acquia.com/">Acquia</a>!!).</p>
<p>Here's an outline of how that may or may not affect you, and who to talk to instead:</p>
<ul><li>For Drupal core commits, the wonderful <a href="http://drupal.org/user/157725">Alex Pott</a> has been brought on board, and is doing a great job of mowing down RTBC patches. I'm sure I'll still be poking around in the queues myself from time to time, as well, as goodness only knows what Drupal 8 could turn into by August. :D</li>
<li>For more "meta" D8 stuff, as well as general Drupal community-related topics not covered below, reach out to the fabulous <a href="http://drupal.org/user/65776">xjm</a>, who is holding down the fort on that side of things.</li>
<li>On the <a href="http://drupal.org/project/spark">Spark</a> engineering management side of things, the lovely <a href="http://drupal.org/user/4166">Gábor Hojtsy</a> is holding the reins.</li>
<li>For <a href="https://association.drupal.org/">Drupal Association</a> stuff, the marvelous <a href="http://drupal.org/user/112345">Donna Benjamin</a> will handle Secretarial duties during board meetings, and <a href="http://drupal.org/user/999848">Tatiana</a> has been doing a great job keeping the community appraised on <a href="http://groups.drupal.org/drupalorg">d.o upgrade process</a>.</li>
<li>On the <a href="http://drupal.org/project/governance">Drupal[.org] governance</a> side of things, I still have some outstanding todos, which I'm going to try and finish up this week. <a href="http://drupal.org/user/1">Dries</a> is the main point of contact about this going forward.</li>
<li>On <a href="https://developers.google.com/open-source/soc/">Google Summer of Code</a>-related matters, <a href="http://drupal.org/user/53667">Cary Gordon</a> is leading a BoF discussion at <a href="http://portland2013.drupal.org/">DrupalCon Portland</a> on how to better gear up for next year.</li>
<li>Speaking of DrupalCon Portland, I unfortunately won't be attending, so please have <em>double</em> the fun for me, ok? :D</li>
</ul><p>Whew! I think that's everything. :) See you all on the other side of parenthood! EEEEE!</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Tags:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/1" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal</a></div><div class="field-item odd"><a href="/taxonomy/term/68" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">adoption</a></div></div></div>Mon, 29 Apr 2013 01:19:33 +0000webchick123 at http://webchick.nethttp://webchick.net/node/123#commentsStep-by-step: Converting modules from Drupal 7 to Drupal 8http://webchick.net/upgrade-modules-d8
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>As Gábor pointed out, <a href="http://hojtsy.hu/blog/2013-feb-07/learn-drupal-8-now-helping-make-it-more-unified-and-userdeveloper-friendly">now's the time to help make Drupal 8 more unified and user/developer friendly</a>. A great way to do that is try porting your modules, <em>now</em>, while there's still time to fix the APIs before code freeze.</p>
<p>Here's the video and slides from my <a href="http://sydney2013.drupal.org/program/core-conversations">Upgrading your modules to Drupal 8</a> talk at <a href="http://sydney2013.drupal.org">DrupalCon Sydney 2013</a>, featuring the <a href="http://drupal.org/project/pants">Pants module</a>.</p>
<iframe width="420" height="315" src="http://www.youtube.com/embed/0HTafIHU21A" frameborder="0" allowfullscreen></iframe><p>
Slides: <a href="https://dl.dropbox.com/u/10160/Upgrading%20Modules%20to%20Drupal%208.pdf">PDF</a> | <a href="https://dl.dropbox.com/u/10160/Upgrading%20Modules%20to%20Drupal%208.ppt">PPT</a> | <a href="https://dl.dropbox.com/u/10160/Upgrading%20Modules%20to%20Drupal%208.key">KEY (the canonical version)</a></p>
<p>But wait, there's more! ;)</p>
<!--break--><p>
The DrupalCon talk was only an hour, so wasn't nearly long enough to walk through the actual steps involved in each API. However! Thanks to the magic of Git (and particularly <code>git rebase -i</code> ;)), you can actually step through each step in the porting process.</p>
<p><code><br />
$ git clone --recursive --branch 7.x-1.x http://git.drupal.org/project/pants.git<br />
</code></p>
<p>This will get you the 7.x version of the Pants module so you can look at code that hopefully looks somewhat familiar. :)</p>
<p>From there, you can step through each of the steps as follows:</p>
<p><code><br />
$ git branch -a<br />
* 7.x-1.x<br />
8.x-01-basics<br />
8.x-02-tests<br />
8.x-03-config<br />
8.x-04-blocks<br />
8.x-05-router<br />
8.x-06-twig<br />
8.x-1.x</p>
<p>$ git checkout 8.x-01-basics<br />
$ git log<br />
</code></p>
<p>Note: Each commit message cross-references the <a href="http://drupal.org/list-changes">change notification</a> for that particular issue. (They're more granular at the beginning than at the end; sorry. :\)</p>
<p>There's also kind of a "brain-dump" of notes if you want to present these at your local user group: <a href="http://drupal.org/node/1911346">http://drupal.org/node/1911346</a></p>
<p>Note: This is accurate now, but not necessarily tomorrow or especially not next week. ;) Nevertheless, I hope this is able to help someone out there get involved in Drupal core! :) There's a global sprint happening <a href="http://groups.drupal.org/node/277768">tomorrow</a>!</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Tags:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/1" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal</a></div><div class="field-item odd"><a href="/taxonomy/term/63" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal 8</a></div></div></div>Fri, 08 Feb 2013 09:55:48 +0000webchick118 at http://webchick.nethttp://webchick.net/upgrade-modules-d8#commentsThe story of my first DrupalConhttp://webchick.net/node/117
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><em>This was originally posted to the <a href="http://groups.drupal.org/node/90569">"The influence of subtlety" thread</a> on the <a href="http://groups.drupal.org/drupalchix">Drupalchix</a> group back in 2010, but since that was awhile ago now, and since I'm giving a talk on <a href="http://sydney2013.drupal.org/how-create-ravenously-passionate-contributors">How to Create Ravenously Passionate Contributors</a> at <a href="http://sydney2013.drupal.org">DrupalCon Sydney</a> (and this experience played a huge part) I figured I'd post this to Drupal Planet as well.</em></p>
<p>Here are some highlights from my <a href="http://drupal.org/node/46559">first DrupalCon</a> (Vancouver, 2006).</p>
<!--break--><p>
For context, to those who didn't know me back then, imagine the most introverted, shyest, mousiest little geek you can imagine, whose big ice breaker plan was to put on a <a href="https://developers.google.com/open-source/soc/2005">Google Summer of Code</a> shirt and tuck herself into a corner in the lounge of the hotel everyone was staying at, hoping desperately that someone would maybe, possibly recognize her and come talk to her, since she was too shy to actually introduce herself to anyone. ;) That was me, <del>4.5</del> 7 years ago. My interactions at my first DrupalCon had a *huge* impact on the future direction of my life.</p>
<ul>
<li><strong>Inclusiveness:</strong> <a href="http://drupal.org/user/1337">Adrian Rossouw</a>, Drupal mad scientist extraordinaire, was talking super excitedly about crazy next-generation Form API stuff and I was sitting there nodding vaguely, kind of deer in the headlights about it. He paused and said basically, "Oh, sorry. Did that not make sense? Here, let me try explaining it a different way, because it's REALLY AWESOME and I want you to be as excited about it as I am." And then proceeded to do so, and I was. :)
<p>Note that he didn't end the conversation and then go off and talk to someone else more at his level, nor did he ask me if I was in the wrong room, implying I wasn't smart enough to be part of this interesting conversation. Instead he saw me as an equal who just needed to get brought up to speed, and made a conscious effort to include me in the discussion.</li>
<li><strong>Role models:</strong> Though there were other women at that Drupalcon who I bonded with, I remember being particularly drawn to <a href="http://drupal.org/user/15091">Allie Micka</a>, because she was <em>hardcore</em>. She is a total geek (meant in the most complimentary way!), runs her own hosting company, can rattle off random unix sysadmin facts like nobody's business, and at Drupalcon she was leading or co-leading talks on brain-blowing stuff like relationships API. And the guys <em>respected</em> her. When she talked about why a certain approach was good or bad, they'd sit back and listen, and took her seriously.
<p>While I wasn't *remotely* at Allie's level (and still am not now, and never will be :)), I saw someone I could relate to, and received confirmation that if someone like that was at home in this community, there was a place for me, too.</p>
<p>This is why all types of diversity initiatives in our community are really important. We want people from <em>all</em> walks of life, backgrounds, interests, skill levels, etc. to see someone they can relate to kicking ass in our community in an environment of mutual respect.</li>
<li><strong>Challenges:</strong> One evening we were all seated around a big long table in one of the hotel's conference rooms, <a href="http://drupal.org/user/23">Moshe</a> at the helm, handing out release-blocker bugs for the folks there to look at so we could get Drupal 4.7 out the door (deja vu, anyone? ;)). I wanted to help, but wasn't sure where to start. Moshe fired me off a couple of bugs to look into. One was way over my head, and I told him so, but he told me to stick with it and do what I could, asking for help if I needed it. I started with a basic code review, but it actually revealed a deeper bug, which would've led to further regressions had it not been cleaned up. It was a little thing, but I felt a profound sense of accomplishment for making some tiny little contribution to helping 4.7 come out faster.
<p>I hope that we can retain this same "spirit" in code sprints today, even though there are several hundred rather than a dozen or so people around the "table". It's invaluable for communicating the Drupal community's "spirit" of contributing, and getting people hooked. :)
</li>
<li><strong>Encouragement:</strong> At lunch with Allie, <a href="http://drupal.org/user/26979">Earl</a>, and some other folks, we were talking about what sessions we wanted to attend, and I told everyone I was planning on attending the module development tutorial for newbies. I got some chuckles in return, saying "No, you seriously don't need to attend that session. You've been coding modules for 9 months now." It was a silly thing, but it opened my eyes to the fact that "oh, hey, maybe I *do* know something after all." :P~
<p>I see this come up a lot at the Drupalchix BoFs. A woman will introduce herself as "not a coder" and then go on to detail all of the very-much-code-related things she does: theming, front-end development, putting together code snippets from the repository into something that works, etc. With some encouragement, I think there'd be far less devaluing of skills all around, and more people taking big leaps they hadn't taken before.
</li>
</ul>
<p>The subtlety in these interactions was key. If any one of those instances had gone differently (had, for example, the guys rolled their eyes at Allie when she attempted to explain her approach towards relationship API, or had I been politely asked to leave when I joined the core bug squashing sprint and didn't know anything), I don't know the effect it would've had. But I do know that together, they formed the perfect concoction for getting me totally hooked on the Drupal community and sticking around long-term. :)</p>
<p>I think we can do a lot to off-set this trend by changing some of our default assumptions:</p>
<ul>
<li><em>Assume</em> that the next person you interact with could become the next $prolific_contributor if only they were given the right guidance.</li>
<li><em>Assume</em> that people at DrupalCons belong, unless they've told you otherwise, or have explicitly asked for help.</li>
<li><em>Assume</em> that someone who starts out their interactions with the community in a blundering fashion could become totally engaged and one of your biggest assets, if they're only shown "the Drupal way".</li>
</ul>
<p>And most of all, if you see someone mousy and shy, hiding in the corner at Drupalcon who doesn't have anyone to talk to, go talk to 'em. You might just change their life. :)</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Tags:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/1" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal</a></div><div class="field-item odd"><a href="/taxonomy/term/20" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupalcon</a></div></div></div>Mon, 04 Feb 2013 06:16:49 +0000webchick117 at http://webchick.nethttp://webchick.net/node/117#commentsWant to help improve Drupal.org at DrupalCon?http://webchick.net/node/111
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>Join Tatiana / <a href="http://drupal.org/user/999848">tvn</a>, Drupal.org Project Coordinator, for a series of BoFs on major new features for Drupal.org and how <em>you</em> can help!</p>
<p>Wednesday</p>
<p>13:00-14:00 Drupal.org office hours BOF<br /><a href="http://munich2012.drupal.org/content/drupalorg-office-hours">http://munich2012.drupal.org/content/drupalorg-office-hours</a></p>
<p>Come meet the Drupal.org team and learn more about how you can help make awesome changes to Drupal.org!</p>
<p>17:00-18:00 Drupal.org project ratings and reviews BOF<br /><a href="http://munich2012.drupal.org/content/drupalorg-project-ratings-and-reviews">http://munich2012.drupal.org/content/drupalorg-project-ratings-and-reviews</a></p>
<p>The #1 most-requested feature on Drupal.org; provide feedback on the prototype and help us take it home!</p>
<p>Thursday</p>
<p>10:45-11:45 Drupal.org support system<br /><a href="http://munich2012.drupal.org/content/drupalorg-support-system">http://munich2012.drupal.org/content/drupalorg-support-system</a></p>
<p>What improvements can we make to our support systems to better help both support providers and support askers?</p>
<p>13:00-14:00 Drupal.org reputation system<br /><a href="http://munich2012.drupal.org/content/drupalorg-reputation-system">http://munich2012.drupal.org/content/drupalorg-reputation-system</a></p>
<p>How do we incentivize contributors? How do we help newcomers to the community discover who's who? These and other topics will be covered; help us come up with something awesome!</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Tags:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/1" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal</a></div><div class="field-item odd"><a href="/taxonomy/term/20" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupalcon</a></div><div class="field-item even"><a href="/taxonomy/term/67" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal.org</a></div></div></div>Wed, 22 Aug 2012 00:30:08 +0000webchick111 at http://webchick.nethttp://webchick.net/node/111#commentsDrupalCon Happenings around Spark in Drupal 8 corehttp://webchick.net/node/110
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>The <a href="http://drupal.org/project/spark">Spark distribution</a> is a Drupal 7 distribution which aims to prototype cutting-edge authoring experience improvements that we hope to propose for inclusion in Drupal 8 core, <a href="http://buytaert.net/announcing-spark-authoring-improvements-for-drupal-7-and-drupal-8">announced</a> back in May. Please <a href="http://ftp.drupal.org/files/projects/spark-7.x-1.0-alpha4-core.tar.gz">download the latest release</a> and check it out, and give us lots of <a href="http://drupal.org/project/issues/spark">feedback</a>! (And/or patches! ;))</p>
<p>The next step is to propose the changes added to Spark so far as Drupal 8 core improvements. We’ve set up a number of events and Birds of a Feather (BoF) sessions at DrupalCon to help facilitate this, most of which are happening on Tuesday (first official day of the conference). (There’s also a <a href="https://www.google.com/calendar/embed?src=acquia.com_daeggpr8v5dia20bmtjf69lvg4@group.calendar.google.com&amp;ctz=Europe/Berlin&amp;gsessionid=AnrV1e_HN0tE-ZFHhheSiw">handy calendar</a> of these and other Spark-related community sessions.)</p>
<h2>Tuesday, August 21</h2>
<ul>
<li><strong>Tuesday, 9am - 10:15am</strong> @ Westin, main room: <a href="http://munich2012.drupal.org/speakers/keynote/dries-buytaert">Dries’s “The State of Drupal" Keynote</a>
<p>During this presentation, in addition to other Drupal 8 improvements, Dries will be showing videos of various Spark functionality, including inline editing, responsive layout builder, and mobile authoring.</li>
<li><strong>Tuesday, 10:45am - 12pm</strong> @ Westin, St. Moritz room (lower level) : <a href="http://munich2012.drupal.org/content/spark-drupal-8-core-mobile-toolbar">BoF: Spark in Drupal 8 core: Mobile authoring BoF</a></a>
<p>After the keynote, we’ll be holding a BoF session for any interested community members who’d like to help brainstorm about how best to move mobile authoring experience improvements into Drupal 8 core, led by Jesse Beach.</li>
<li><strong>Tuesday, 1pm - 2pm</strong> @ Westin, Chamonix room (lower level) <a href="http://munich2012.drupal.org/content/spark-drupal-8-core-inline-editing-wysiwyg">BoF: Spark in Drupal 8 core: In-Place editing + WYSIWYG</a>
<p>After lunch, meet up with Wim Leers to strategize about how best to attack the <a href="http://drupal.org/node/1706688">In-place editing, inline macros, editables, and Wysiwyg in core battleplan</a>. Members from the Aloha Editor team will be on-hand for questions.</li>
<li><strong>Tuesday, 2:15pm - 3:15pm</strong> @ Westin, Chamonix room (lower level) <a href="http://munich2012.drupal.org/content/spark-drupal-8-core-responsive-layouts-and-mobile-preview">BoF: Spark in Drupal 8 core: Responsive Layouts</a>
<p>Just after Wim’s session, Jesse Beach and Gábor Hojtsy will lead a BoF on getting the responsive layout builder functionality into core, layering on top of the <a href="http://groups.drupal.org/scotch">Blocks and Layouts initiative</a>.
</li>
<li><strong>Tuesday, 3:45pm - 4:15pm</strong> @ <strong>Sheraton</strong>, Asam I <a href="http://munich2012.drupal.org/content/spark-authoring-experience-drupal-8-core">Spark: Authoring Experience++ in Drupal 8 core</a>
<p>A core conversation providing more information about Spark, as well as a demonstration of its features by its features. We'll even be joined by members of the Aloha Editor team!
</li>
<li><strong>Tuesday, 4:20pm</strong> @ <strong>Westin</strong>, Chamonix room (lower level) <a href="http://munich2012.drupal.org/content/aloha-editor-starts-1620http://munich2012.drupal.org/content/aloha-editor-starts-1620">Aloha Editor / Spark "after BoF" Q&amp;A</a>
<p>A place for overflow Spark/Aloha questions/discussion. IMPORTANT LOCATION NOTE: If there is room outside the core conversations room we will most likely just have this in the hallway there in the Sheraton rather than walk all the way back to the Westin. :P
</li>
<li>
<h2>Wednesday, Thursday: Ad-hoc sprints/conversations in the Contribution Lounge @ Westin, lower level</h2>
</li>
<li>
<h2>Friday, August 24</h2>
<p><strong>Friday, all day</strong> <a href="http://munich2012.drupal.org/program/schedule/2012-08-24">Sprints</a></p>
<p>Both Wim Leers and Jesse Beach will be leading sprints around mobile authoring, responsive layouts, and inline editing/WYSIWYG issues in the Drupal core and Spark queues. If you’d like to contribute to these initiatives, please join us!</p>
<p>If you’re <em>totally</em> new to core development, stop by the “Core Office Hours" sprint first, where helpful mentors will be there to get you set up with a development environment and provide orientation as to how things work.</li>
</ul>
<p>There are only about <em>15 short weeks</em> before <a href="http://buytaert.net/drupal-8-feature-freeze-december-1st-2012">feature freeze</a>, so let’s help Drupal’s authoring experience kick ass! :)</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Tags:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/1" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal</a></div><div class="field-item odd"><a href="/taxonomy/term/63" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">drupal 8</a></div><div class="field-item even"><a href="/taxonomy/term/66" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Spark distribution</a></div></div></div>Wed, 15 Aug 2012 16:46:16 +0000webchick110 at http://webchick.nethttp://webchick.net/node/110#comments