Core Conversations

10:45 - 11:15 Automated UI Testing with Selenium

Room: 
Centennial Suite
Problem: 

Simpletest doesn't allow us to test Javascripts, upload files.

Proposed solution: 

One of the greatest thing we have in drupal 7 is unit testing. But still we have some limitation about things that we can test. In simpletest we have custom browser that can open pages, submit forms and other nice things. What we really miss is automated testing of the javascripts.

That is what Selenium framework can help us with. Selenium 2 (aka Webdriver) communicates with browser and can emulate user behavior completely. We can open pages, click on elements, execute javascripts, open popups.. even upload files.

This is really great next step in our testing system that can cover drupal javascripts.

In this session I will go into details about how we can test drupal with Selenium and what is done in direction of integrating Selenium testing to simpletest framework that we alreay have. Yes, we alreay can run Selenium tests in simpletest sandbox with Firefox!

We will take a look for some examples in order to have some practical knowledge of writing tests.

Lets move our testing coverage forward!

Drupal 8 Update / Keynote Follow-up


Room: 
Centennial Suite
Problem: 

Drupal 8 Update

Proposed solution: 

Dries is going to round up the Core Conversations with a follow up of his keynote.

15:00 - 15:30 Updates from the Drupal 8 Initiative Owners Continued

Room: 
Centennial Suite
Problem: 

Updates on current initiatives.

Proposed solution: 

Updates on the Drupal 8 core initiatives:

Updates from the Drupal 8 Initiative Owners

Room: 
Centennial Suite
Problem: 

Updates on current initiatives.

Proposed solution: 

Updates on the Drupal 8 core initiatives:

Developing and Site Building for *.drupal.org & Prairie Initiative - Pushing Some Projects Forward

Room: 
Centennial Suite
Problem: 

*.Drupal.org can be better.

Proposed solution: 

Our infrastructure for developing *.drupal.org is better than ever. We need to get the word out, organize efforts, and continue to improve the infrastructure.

13:30 - 14:00 Need for a more usable process for usability

Problem: 

It is encouraging to see the growing awareness towards usability within the community. However, usability studies are few and far between with a somewhat adhoc process. The problem is two fold: Drupal needs more usability testing but also an effective plan to prioritize, implement the test and follow up on actionable issues. Currently, most of this is an after thought. To make it scalable for usable Drupal 8, there is an obvious need to start early.

Proposed solution: 

This presentation proposes a framework how to overcome these challenges strategically. It also encourages discussion to fill in the gaps in the proposed solution.

11:15 - 11:45 Document-Oriented Storage

Room: 
Centennial Suite
Problem: 

Drupal 6 was strongly tied to MySQL and its table format. Drupal 7 introduced the concept of Entities and Fields. Now comes Drupal 8, and it needs a new Copernican Revolution: switching to storing and managing generic semi-structured "documents".

We need to review the state of the art in this domain and discuss implementation options. The objective is to solve some of our current pain points:

  • A single API can store both content and configuration (because they are the same)
  • The API can have built-in synchronization options to easily push both content and configuration between environments
  • The API can improve our scalability by materializing some of our queries (... and removing the need for the two manual denormalizations we have in Drupal 7 core: tracker and taxonomy)
Proposed solution: 

We will discuss the idea of implementing a Document-oriented API in Drupal 8. The potential features of the API could be:

  • Stores document as-is, without transformation
  • Can perform queries deep inside the documents (à la MongoDB), including across relationships; and can also materialize them (ie. save the result set and maintain it across time)
  • Revisions everything and addresses content by their revision IDs (à la Git)
  • Supports mixed storage, allowing querying across several storages (including local filesystem storage, database storage, remote storage, etc.)
  • Can leverage both standard SQL (via DBTNG) and proper document-oriented database engines (MongoDB, CouchDB, ...)

17:00 - 17:30 Burnout!

Room: 
Centennial Suite
Problem: 

We have an incredible group of people who invest deeply in our common project. Some significant portion of this group is near burnout at any given time, and we've lost important contributors, some famously, as a result of this.

The more general problem is: How can we help our contributors to manage their work so they don't get so close to burnout? How can we help people find (or regain) balance while dealing with the technical and social problems of contributing to our great project?

Proposed solution: 

* Begin a concentrated initiative to grow and keep our contributors, and to keep them happy.
* Make this a goal a key project responsibility.
* Learn from other organizations and resources ways to approach this.

For background you may be interested in reading

15:30 - 16:00 D8 Needs a Better Editorial Workflow in Core

Room: 
Centennial Suite
Problem: 

This session focuses on the gaps with the existing workflow around publishing content. Be it the new user or an existing one, they have their own share of issues. It is against the new users’ mental model that “Save” publishes content. But concerns go beyond “Save” and “Publish”. At such instances, the argument about having support revision for different states always comes up. Drupal allows only for a binary publication state and associates this state with the entire node, making even simple content moderation workflows difficult to implement. As we move forward for D8, issues like these need to be addressed to improve the overall user experience.

Proposed solution: 

- Design for the 80% use case and how?

- Explore options for a more robust approach that does support workflow states, transitions and the UI elements.

14:00 - 14:30 Making Core Useful: Balancing Simplicity, Functionality, and Contrib

Room: 
Centennial Suite
Problem: 

As Drupal has grown and evolved, the complexity of the average Drupal site has skyrocketed. Heavy reliance on contributed APIs and addon modules have put most site building tasks on the opposite side of a "learning ledge" for new users.

Usability research has shown us quite a bit of low-hanging fruit, but a larger challenge remains: the limited feature set of Drupal Core, and the necessity of engaging with the immense Contrib landscape before building a "real" site. The inclusion of FieldAPI in Drupal 7 has dramatically improved some aspects of the problem, but the only polished mechanism for displaying content is a global "front page."

Users do not need infinite flexibility when building their first simple sites, but they need much better than this if Drupal is to be a useful tool. How can we balance the dueling needs of simplicity and flexibility? Should we pursue a feature-rich Core despite the presence of a well-stocked contrib ecosystem?

These are hard questions we must answer together.

Proposed solution: 

Regarding core functionality, several paths are open to us. One is to accept that Drupal Core cannot be used to build "real" web sites, that its primary purpose is to serve as a starting point for contrib-driven projects.

Another option is to begin the work of migrating the Views module and CTools into Drupal core. With those tools, custom core-only modules for many functions would be unnecessary. (Although much work would be needed to ensure that simple tasks for end users remained simple: building Views, as common as it is, is an 'advanced' activity.)

A final option is is to build focused pieces of key functionality into Drupal core. For example:

  • An optional listing page of teasers for each content type.
  • An optional sidebar block and RSS feed for each content type.
  • A 'View [type] content' access permission for each content type.
  • The ability to display children of a Book page as node teasers, rather than bulleted links.

While limited in scope, even these simple tools for displaying separate pools of content would give site builders a much richer palette while learning.

Platinum Sponsors