Web Design and Development

Introducing Sections on Drupal.org

Drupal - Mon, 02/29/2016 - 06:00

Last year Drupal Association staff—in collaboration with Forum One—analyzed the state of content on Drupal.org. We developed a content strategy aimed at improving its quality and findability. Various recommendations were made for content structure, organization, and governance.

One of the main recommendations was to restructure content around areas of user activity instead of the content type used to create the content. On Drupal.org, content about a topic is often scattered, because some content types are only available in certain areas. But we’d rather have a single place for content on a particular topic, no matter which content types are used to create that content.

User research gave us a number of general areas of user activity or tasks, which we used as a base for top level content grouping. We’ve called those groupings “sections.” Each section is based around a particular set of common user tasks and has a clear purpose and audience. We started implementing these sections a few weeks ago.

Each of them will also have a slightly different governance structure. Some of the sections will have more editorial/curated content, while others will be open to edits by everyone. We wanted the flexibility of having different user roles with different permissions in different sections. We also wanted the flexibility of being able to display a single piece of content in multiple sections if needed, and perhaps even use a different theme per section.

To meet those requirements we decided to use Organic Groups. The work on getting all the modules ready on Drupal.org began in August last year. After a few rounds of performance testing and configuration review, Organic Groups and a few accompanying modules were in place to enable us to work on sections. The first couple of them were launched simultaneously with the Drupal 8 release.

Drupal.org section

At first, we wanted to test out our ideas and assumptions on a less visible area of the site with lower traffic. So, the first section we created was about Drupal.org itself. It consists of various information about the website, aimed at those who follow or take part in Drupal.org development. Its content is mostly produced by our internal team.

About section

The first highly visible section we tackled was About. It is a source of general information about Drupal and promotional materials. The content is curated and aimed primarily at evaluators, and the Newcomer and Learner personas.

To create the section, we audited all the content in the old “About Drupal” area (which was using the old book page content type), rewrote most of it, and re-created it using the new content types. While the initial round of work on the section is complete, there are a few more things we want to do, so expect additions to the section throughout the year.

Because of the curated nature of the content, this section has tight edit permissions, and is managed by the Drupal Association staff. Feedback is always welcome, however, so if you do notice a problem please use the Content issue queue to report it.

A big part of the About section is talking about the features of the Drupal software. And specifically with the Drupal 8 launch, we wanted to do it well, which brings us to...

Drupal 8 section

It is the landing page for Drupal 8 release, and the main source of high level information about Drupal 8 and its features. And it is a section too, created using Organic Groups and located inside of the About section.

This one was created from scratch. All the content was written specifically for it, by the Drupal Association's communications team with a lot of help, review, and feedback from Core committers team.

For this section, we went one step further. Not only does it have unique content, it was also designed to look completely different from the rest of Drupal.org. To make it happen, we created a separate theme, based on Omega, and used og_theme module to make it possible to use the theme on only one particular section of the site. This worked really well.

Again, this section has curated content and edit permissions are locked down. If you do find a problem, please report via the Content issue queue.

What's next?

These new sections don’t only introduce a new governance model and navigation patterns. They also introduce a new way we create dynamic content. I will talk more about this, as well as the sections we are working on right now, in following posts.

The Rise of Drupal in India

Drupal - Fri, 02/26/2016 - 11:58

Republished from buytaert.net

Earlier this week I returned from DrupalCon Asia, which took place at IIT Bombay, one of India's premier engineering universities. I wish I could have bottled up all the energy and excitement to take home with me. From dancing on stage, to posing for what felt like a million selfies, to a motorcycle giveaway, this DrupalCon was unlike any I've seen before.

A little over 1,000 people attended the first DrupalCon in India. For 82% of the attendees, it was their first DrupalCon. There was also much better gender diversity than at other DrupalCons.

The excitement and interest around Drupal has been growing fast since I last visited in 2011. DrupalCamp attendance in both Delhi and Mumbai has exceeded 500 participants. There have also been DrupalCamps held in Hyderabad, Bangalore, Pune, Ahmedabad Jaipur, Srinagar, Kerala and other areas.

Indian Drupal companies like QED42, Axelerant, Srijan and ValueBound have made meaningful contributions to Drupal 8. The reason? Visibility on Drupal.org through the credit system helps them win deals and hire the best talent. ValueBound said it best when I spoke to them: "With our visibility on drupal.org, we no longer have to explain why we are a great place to work and that we are experts in Drupal.".

Also present were the large System Integrators (Wipro, TATA Consultancy Services, CapGemini, Accenture, MindTree, etc). TATA Consultancy Services has 400+ Drupalists in India, well ahead of the others who have between 100 and 200 Drupalists each. Large digital agencies such as Mirum and AKQA also sent people to DrupalCon. They are all expanding their Drupal teams in India to service the needs of growing sales in other offices around the world. The biggest challenge across the board? Finding Drupal talent. I was told that TCS allows many of its developers to contribute back to Drupal, which is why they have been able to hire faster. More evidence that the credit system is working in India.

The government is quickly adopting Drupal. MyGov.in is one of many great examples; this portal was established by India's central government to promote citizen participation in government affairs. The site reached nearly two million registered users in less than a year. The government's shifting attitude toward open source is a big deal because historically, the Indian government has pushed back against open source because large organizations like Microsoft were funding many of the educational programs in India. The tide changed in 2015 when the Indian government announced that open source software should be preferred over proprietary software for all e-government projects. Needless to say, this is great news for Drupal.

Another initiative that stood out was the Drupal Campus Ambassador Program. The aim of this program is to appoint Drupal ambassadors in every university in India to introduce more students to Drupal and help them with their job search. It is early days for the program, but I recommend we pay attention to it, and consider scaling it out globally if successful.

Last but not least there was FOSSEE (Free and Open Source Software for Education), a government-funded program that provides affordable computers to Indian students. To date, 2,000 universities participate in the program and nearly 2 million units have been sold. With curriculum translated into 22 local languages, students gain the ability to self-study and foster their education outside of the classroom. I was excited to hear that FOSSEE plans to add a Drupal course to its offerings. There is a strong demand for affordable Drupal training and certifications throughout India's technical colleges, so the idea of encouraging millions of Indian students to take a free Drupal course is very exciting -- even if only 1% of them decides to contribute back this could be a total game changers.

Open source makes a lot of sense for India's thriving tech community. It is difficult to grasp the size of the opportunity for Drupal in India and how fast its adoption has been growing. I have a feeling I will be back in India more than once to help support this growing commitment to Drupal and open source.

Continue the conversation on buytaert.net

Front page news: Drupal News

Drupal 8.0.4, 7.43, and 6.38 released, and Drupal 6 reaches its end of life (EOL)

Drupal - Wed, 02/24/2016 - 09:36

Drupal 8.0.4, Drupal 7.43, and Drupal 6.38, maintenance releases which contain fixes for security vulnerabilities, are now available for download.

See the Drupal 8.0.4, Drupal 7.43, and Drupal 6.38 release notes for further information.

Download Drupal 8.0.4
Download Drupal 7.43
Download Drupal 6.38

Upgrading your existing Drupal 8, 7, and 6 sites is strongly recommended. There are no new features nor non-security-related bug fixes in these releases. For more information about the Drupal 8.0.x release series, consult the Drupal 8 overview. More information on the Drupal 7.x release series can be found in the Drupal 7.0 release announcement, and more information on the Drupal 6.x release series can be found in the Drupal 6.0 release announcement.

Security information

We have a security announcement mailing list and a history of all security advisories, as well as an RSS feed with the most recent security advisories. We strongly advise Drupal administrators to sign up for the list.

Drupal 8 and 7 include the built-in Update Manager module, which informs you about important updates to your modules and themes. Drupal 6 has reached its end of life (EOL) and will not get further updates.

Bug reports

Both Drupal 8.0.x and 7.x are being maintained, so given enough bug fixes (not just bug reports) more maintenance releases will be made available, according to our monthly release cycle.

Drupal 6 has reached its end of life (EOL), so it will not receive further bug fixes or official releases.

Change log

Drupal 8.0.4 is a security release only. For more details, see the 8.0.4 release notes. A complete list of all changes in the stable 8.0.x branch can be found in the git commit log.

Drupal 7.43 is a security release only. For more details, see the 7.43 release notes. A complete list of all changes in the stable 7.x branch can be found in the git commit log.

Drupal 6.38 is a security release only. For more details, see the 6.38 release notes. A complete list of all changes in the end-of-life 6.x branch can be found in the git commit log.

Security vulnerabilities

Drupal 8.0.4, 7.43, and 6.38 were released in response to the discovery of security vulnerabilities. Details can be found in the official security advisories:

To fix the security problem, please upgrade to either Drupal 8.0.4, Drupal 7.43, or Drupal 6.38.

Update notes

See the 8.0.4, 7.43, or 6.38 release notes for details on important changes in this release.

Known issues

See the 8.0.4, 7.43, or 6.38 release notes for a list of known issues affecting each release.

Front page news: Planet DrupalDrupal version: Drupal 6.xDrupal 7.xDrupal 8.x

Thanking Drupal.org Working Group members

Drupal - Fri, 02/12/2016 - 09:51

Drupal.org, the home of the Drupal community, has grown organically for many years. At some point it grew so large that a clear decision making structure became a necessity. The Drupal Association staff was not in the place to provide it at that time: our entire technology team for Drupal.org, including all its sub-sites and services, consisted of only two people, myself and Neil Drumm—so we turned to community for help.

In the summer of 2013, the three Drupal.org Working Groups were announced. Governance committees, consisting of community members and staff, created to act as a collective 'product owner' for the website. In the following two and a half years, with their guidance and feedback, we implemented many new features, performed user research, developed content strategy, and drastically improved the infrastructure behind Drupal.org.

At the same time the Drupal Association staff kept growing. We hired our first full-time infrastructure staff member, brought in the CTO and customer service coordinator a few months later, then a developer and two more infrastructure team members. And finally, we hired a project manager, a web designer, and one more Drupal developer. Our communications team grew, too: over the last two years, the Drupal Association brought in a content strategist and a dedicated writer. Overall, our capacity increased and a lot of gaps in skills and experience were filled.

Having skilled staff working full-time on Drupal.org, we were finally able to provide product direction, set a roadmap, and execute on it. We adopted Scrum as our project management methodology, with a new sprint starting every two weeks. This encourages iteration and pivoting based on the situation, instead of working against a 'set in stone' year long plan. As our staffing situation changed, we started to realize that the valuable time of dedicated community volunteers can be spent more efficiently than making them sit in countless planning and update meetings with staff.

At the end of last year, the Drupal Association Board, with the input of several Working Group members, made a decision that it is time for staff to work on Drupal.org improvements directly with the community. This means that the Drupal.org Working Groups will transition into an advisory group, with former Drupal.org Working Groups members available as advisors to provide feedback and input on specific initiatives the team is working on, relevant to their own skills and expertise.

The only requirement the Board and Drupal.org Working Groups themselves put out before the transition could happen is this: they asked that the Association staff create a clear process for community members to be able to suggest items on the Drupal.org roadmap, and provide a path for those community members to volunteer to help with implementation. With the input from the Working Groups and the Board, we created such a process. It was
launched last week.

As we reach the end of an era, I'd like to personally thank each member who served at various times on Drupal.org Working Groups over the past three years. Your time, skills, and experience you shared with us has been invaluable.

Gerhard Killesreiter / killes
Narayan Newton / nnewton
Melissa Anderson / eliza411
Angela Byron / webchick
Kim Pepper / kim.pepper
George DeMet / gdemet
Jeff Eaton / eaton
Roy Scholten / yoroy
David Hernandez / davidhernandez
Cathy Theys / YesCT

Thank you! It's been a pleasure to share all those moments, conversations, ideas, debates, and workshops.

While the role of these wonderful people is shifting to a less formal advisory one, we will still be calling on their expertise and help as we continue our work on making Drupal.org a better place.

Image by Roy Scholten.

Turning Drupal outside-in

Drupal - Wed, 02/10/2016 - 11:01

Republished from buytaert.net

There has been a lot of discussion around the future of the Drupal front end both on Drupal.org (#2645250, #2645666, #2651660, #2655556) and on my blog posts about the future of decoupled Drupal, why a standard framework in core is a good idea, and the process of evaluating frameworks. These all relate to my concept of "progressive decoupling", in which some portions of the page are handed over to client-side logic after Drupal renders the initial page (not to be confused with "full decoupling").

My blog posts have drawn a variety of reactions. Members of the Drupal community, including Lewis Nyman, Théodore Biadala and Campbell Vertesi, have written blog posts with their opinions, as well as Ed Faulkner of the Ember community. Last but not least, in response to my last blog post, Google changed Angular 2's license from Apache to MIT for better compatibility with Drupal. I read all the posts and comments with great interest and wanted to thank everyone for all the feedback; the open discussion around this is nothing short of amazing. This is exactly what I hoped for: community members from around the world brainstorming about the proposal based on their experience, because only with the combined constructive criticism will we arrive at the best solution possible.

Based on the discussion, rather than selecting a client-side JavaScript framework for progressive decoupling right now, I believe the overarching question the community wants to answer first is: How do we keep Drupal relevant and widen Drupal's adoption by improving the user experience (UX)?

Improving Drupal's user experience is a topic near and dear to my heart. Drupal's user experience challenges led to my invitation to Mark Boulton to redesign Drupal 7, the creation of the Spark initiative to improve the authoring experience for Drupal 8, and continued support for usability-related initiatives. In fact, the impetus behind progressive decoupling and adopting a client-side framework is the need to improve Drupal's user experience.

It took me a bit longer than planned, but I wanted to take the time to address some of the concerns and share more of my thoughts about improving Drupal's UX (and JavaScript frameworks).

To iterate or to disrupt?

In his post, Lewis writes that the issues facing Drupal's UX "go far deeper than code" and that many of the biggest problems found during the Drupal 8 usability study last year are not resolved with a JavaScript framework. This is true; the results of the Drupal 8 usability study show that Drupal can confuse users with its complex mental models and terminology, but it also shows how modern features like real-time previews and in-page block insertion are increasingly assumed to be available.

To date, much of our UX improvements have been based on an iterative process, meaning it converges on a more refined end state by removing problems in the current state. However, we also require disruptive thinking, which is about introducing entirely new ideas, for true innovation to happen. It's essentially removing all constraints and imagining what an ideal result would look like.

I think we need to recognize that while some of the documented usability problems coming out of the Drupal 8 usability study can be addressed by making incremental changes to Drupal's user experience (e.g. our terminology), other well-known usability problems most likely require a more disruptive approach (e.g. our complex mental model). I also believe that we must acknowledge that disruptive improvements are possibly more impactful in keeping Drupal relevant and widening Drupal's adoption.

At this point, to get ahead and lead, I believe we have to do both. We have to iterate and disrupt.

From inside-out to outside-in

Let's forget about Drupal for a second and observe the world around us. Think of all the web applications you use on a regular basis, and consider the interaction patterns you find in them. In popular applications like Slack, the user can perform any number of operations to edit preferences (such as color scheme) and modify content (such as in-place editing) without incurring a single full page refresh. Many elements of the page can be changed without the user's flow being interrupted. Another example is Trello, in which users can create new lists on the fly and then add cards to them without ever having to wait for a server response.

Contrast this with Drupal's approach, where any complex operation requires the user to have detailed prior knowledge about the system. In our current mental model, everything begins in the administration layer at the most granular level and requires an unmapped process of bottom-up assembly. A user has to make a content type, add fields, create some content, configure a view mode, build a view, and possibly make the view the front page. If each individual step is already this involved, consider how much more difficult it becomes to traverse them in the right order to finally see an end result. While very powerful, the problem is that Drupal's current model is "inside-out". This is why it would be disruptive to move Drupal towards an "outside-in" mental model. In this model, I should be able to start entering content, click anything on the page, seamlessly edit any aspect of its configuration in-place, and see the change take effect immediately.

Drupal 8's in-place editing feature is actually a good start at this; it enables the user to edit what they see without an interrupted workflow, with faster previews and without needing to find what thing it is before they can start editing.

Making it real with content modeling

Eight years ago in 2007, I wrote about a database product called DabbleDB. I shared my belief that it was important to move CCK and Views into Drupal's core and learn from DabbleDB's integrated approach. DabbleDB was acquired by Twitter in 2010 but you can still find an eight-year-old demo video on YouTube. While the focus of DabbleDB is different, and the UX is obsolete, there is still a lot we can learn from it today: (1) it shows a more integrated experience between content creation, content modeling, and creating views of content, (2) it takes more of an outside-in approach, (3) it uses a lot less intimidating terminology while offering very powerful capabilities, and (4) it uses a lot of in-place editing. At a minimum, DabbleDB could give us some inspiration for what a better, integrated content modeling experience could look like, with the caveat that the UX should be as effortless as possible to match modern standards.

Other new data modeling approaches with compelling user experiences have recently entered the landscape. These include back end-as-a-service (BEaaS) solutions such as Backand, which provides a visually clean drag-and-drop interface for data modeling and helpful features for JavaScript application developers. Our use cases are not quite the same, but Drupal would benefit immensely from a holistic experience for content modeling and content views that incorporates both the rich feature set of DabbleDB and the intuitive UX of Backand.

This sort of vision was not possible in 2007 when CCK was a contributed module for Drupal 6. It still wasn't possible in Drupal 7 when Views existed as a separate contributed module. But now that both CCK and Views are in Drupal 8 core, we can finally start to think about how we can more deeply integrate the two. This kind of integration would be nontrivial but could dramatically simplify Drupal's UX. This should be really exciting because so many people are attracted to Drupal exactly because of features like CCK and Views. Taking an integrated approach like DabbleDB, paired with a seamless and easy-to-use experience like Slack, Trello and Backand, is exactly the kind of disruptive thinking we should do.

What most of the examples above have in common are in-place editing, immediate previews, no page refreshes, and non-blocking workflows. The implications on our form and render systems of providing configuration changes directly on the rendered page are significant. To achieve this requires us to have robust state management and rendering on the client side as well as the server side. In my vision, Twig will provide structure for the overall page and non-interactive portions, but more JavaScript will more than likely be necessary for certain parts of the page in order to achieve the UX that all users of the web have come to expect.

We shouldn't limit ourselves to this one example, as there are a multitude of Drupal interfaces that could all benefit from both big and small changes. We all want to improve Drupal's user experience — and we have to. To do so, we have to constantly iterate and disrupt. I hope we can all collaborate on figuring out what that looks like.

Special thanks to Preston So and Kevin O'Leary for contributions to this blog post and to Wim Leers for feedback.

Continue the conversation on buytaert.net

Front page news: Drupal NewsDrupal version: Drupal 8.x