Feed aggregator

Janez Urevc: Want to learn Entity browser?

Planet Drupal -

Want to learn Entity browser? slashrsm Wed, 15.02.2017 - 16:17

One way to start is to check the session that gave at the Drupal dev days Milano in June 2016. I went through the architecture of the module and most common use cases.

I also proposed a Media workshop for Drupal dev days Seville where I want to cover the entire Drupal 8 Media ecosystem from the site builder's perspective. Besides that I also proposed a session about my recent experiments with Elixir. Not necessarily Drupal or PHP related, but I think that looking beyond our bubble can be very beneficial.

Enjoyed this post? There is more! Playing with the Sculpin static site generator Possible solution for knowledge sharing in the Drupal 8 media domain Join us at the next Drupal Media sprint at the Mountain camp in Davos!

Roy Scholten: Designer wanted for the new Drupal core demo

Planet Drupal -

A quick reminder that there are a few days left to apply as the designer for the new demo installation for Drupal 8.

Drupal wants to make a better impression fresh out of the box and for that, we need to put something nice in the box first. We now have the opportunity to experiment with sample content in a new “Demo” install profile. That’s why we are now looking for a designer to make that sample content look and feel good.

If you are a designer and want to have a big impact on the initial Drupal core user experience, have a look at the plan and consider joining this cool project.

Fair warning: getting design work done in Drupal has been notoriously hard, but this project is well scoped and has buy in from the product managers, so I do hope you (or the designer friend you will pass this link on to) will put your name in the hat. Thank you!

Tags: drupaldrupalplanetdesignSub title: Putting something in the box

TheodorosPloumis blog: Turn Drupal 8.x menu into select list with Twig

Planet Drupal -

One a recent 8.x web project I had to get a menu as a select list to use it on the mobile versions of the website. The menu was 2 level depth but the pattern can be used for every level menus. Each select list options havs a data-url value taken from the menu path so the select list can be used with js to trigger a page redirect on select change event.

So here are the steps to manage it.

1) Create a Menu

menu-jump.html_.twig_.txt

OSTraining: Building Conditional Webforms in Drupal 7

Planet Drupal -

One of our OSTraining members asked us how to configure webforms with conditions and we prepared for you this tutorial to show you how you can do just that.

For this tutorial, you will need the following Drupal modules:

Once you downloaded the, please go to modules are make sure you have enabled them.

You should have the following module options ticked:

  • Chaos tools
  • Form builder
  • Form builder Webform UI
  • Token
  • Options element
  • Views
  • Views UI.

Under Structure > Content types, you will see that you now have the 'Webform' content type. Review the default settings of this content type. I personally removed the "Published By" but this is my own personal preference.

Now that we have everything installed, let's start building our webform.

Go to Content > Add Content and select the Webform. We need to give this form a title and for ease of access I am also going to assign it a menu link.


Now, using the form builder GUI, you can easily drag and drop the configuration elements that we need for this webform.


I have created a feedback form that will be asking for Name, Email and to rate a service.


We want to set up a condition, which will then trigger a feedback textarea if 'Not Happy' option is selected. We want this textarea to display on the same page, so we will not use a page break for this form element. 


As we now have configured our webform, let's make sure it works. While 'Very Happy' is set, you do not see the feedback textarea field:


If, however, you select 'Not happy option', to record a feedback from the user, then right away its corresponding textarea field will show up.


As you have now learned in this tutorials, using conditionals in Dripal, you can add many complex responses to your webforms, add some cool features to them and collect all the information you need.

Still have questions? Please submit them in the comments below.

NCC Group's Cryptography Services audits our Go TLS 1.3 stack

Cloudflare Blog -

The Cloudflare TLS 1.3 beta is run by a Go implementation of the protocol based on the Go standard library, crypto/tls. Starting from that excellent Go codebase allowed us to quickly start experimenting, to be the first wide server deployment of the protocol, and to effectively track the changes to the specification draft.

Of course, the security of a TLS implementation is critical, so we engaged NCC Group's Cryptography Services to perform an audit at the end of 2016.

You can find the codebase on the Cloudflare GitHub. It's a drop-in replacement for crypto/tls and comes with a go wrapper to patch the standard library as needed.

The code is developed in the open but is currently targeted only at internal use: the repository is frequently rebased and the API is not guaranteed to be stable or fully documented. You can take a sneak peek at the API here.

The final goal is to upstream the patches to the Go project so that all users of the Go standard library benefit from it. You can follow the process here.

Below we republish the article about the audit first appeared on the NCC Group's blog.

NCC Group's Cryptography Services Complete an Audit of Cloudflare's TLS1.3

NCC Group's Cryptography Services practice recently completed a two-week audit of Cloudflare's TLS 1.3 implementation. The audit took place between November 11, 2016 and December 9, 2016.

The TLS standard was last updated almost ten years ago and this version brings new features and a simplified handshake to the protocol. Many old cryptographic algorithms have been replaced with more modern ones, key exchanges have forward secrecy by default, the handshake phase will be faster, certificates will be able to enjoy security-proven signature schemes, MAC-then-Encrypt constructions are out—the weakest features of older TLS versions have been updated or removed.

Cryptography Services analyzed Cloudflare's TLS 1.3 implementation for protocol-level flaws and for deviations from the draft specification. The team found a small number of issues during the review—all of which were promptly fixed—and was pleased with the quality of the code.

Cloudflare built their implementation of TLS 1.3 on the Go programming language's standard TLS library, making use of the existing base to correctly and safely parse TLS packets. While building on top of older versions can be challenging, Cloudflare has added TLS 1.3 code in a safe and segregated way, with new defenses against downgrade attacks being added in the final implementation of the specification. This permits support for older versions of TLS while being free from unexpected conflicts or downgrades.

Using Go and its standard libraries enables Cloudflare to avoid common implementation issues stemming from vulnerable strcpy and memcpy operations, pointer arithmetic and manual memory management while providing a best-in-class crypto API.

Cloudflare implemented a conservative subset of the TLS 1.3 specification. State-of-the-art algorithms, such as Curve25519, are given priority over legacy algorithms. Session resumption is limited to the forward secure option. Cloudflare's implementation also considers efficiency, using AES-GCM if it detects accelerated hardware support and the faster-in-software Chacha20-Poly1305 in its absence.

There is still work to be done before TLS 1.3 enjoys large scale adoption. Cloudflare is paving the way with its reliable server implementation of TLS 1.3, and Firefox and Chrome's client implementations make end-to-end testing of the draft specification possible. NCC Group applauds the work of the IETF and these early implementers.

Written by: Scott Stender

Drupal.org Industry Pages Are Live!

Drupal News -

We are excited to announce that the first three industry pages are now live on Drupal.org, highlighting the power of Drupal solutions in higher education, government and media/publishing. The pages are designed to quickly inform and inspire technical evaluators and connect them to service providers and technology vendors who can help them move further through their Drupal adoption journey.

The Drupal Association is incredibly proud to showcase the Drupal community’s innovation, creativity, and ability to solve end users’ challenging problems. More importantly, these pages are a resource that Drupal businesses can point to as they convince potential clients that Drupal is the right choice for them. We know this is a needed resource not only because Drupal agencies have asked for this, but because our user research was resoundingly positive. One government digital director said “I wish this was around when I was pitching my state CIO on Drupal”.

This launch is the first phase for this initiative. We will learn and iterate to keep improving the pages and we will expand the industries to include pages like healthcare, finance, ecommerce, and more.

The Research We Used

Building the industry pages was a community effort. Drupal Association staff framed the concept and then reached out to end-users of Drupal in these industries, service providers who've built solutions for these markets, and the community at large. We listened to all of you who shared your thoughts in the original blog post about this initiative.

We conducted user research, interviewing decision makers and influencers at end user organizations to make sure the pages resonated strongly with them. We talked to organizations like Weather.com, Burda Media, State of North Carolina, Georgia Technology Authority, Duke University, Cornell University - and more!

We also talked to people at agencies who pitch Drupal solutions all day long such as Acquia, Ashday, Blackmesh, Digital Echidna, FFW, Forum One, ImageX Media, Kwall, Lingotek, Lullabot, Palantir.net, Pantheon, and Phase2.

We will continue to take feedback from our global community. Our goal is to keep iterating on these industry pages as we learn more.

About The Pages

The industry pages are part of the About Drupal section and they are promoted from the Drupal.org front page. The homepage of Drupal.org receives about 350,000 visits a month, and about 50% of those visitors are new to Drupal.org The front page is primarily technical evaluators coming to learn more about Drupal and we see this as they click on our evaluator resources like About Drupal, TryDrupal, and Case Studies.

Based on user research, we know that before someone comes to the industry pages, they likely know that Drupal is an open source community-built CMS and their organization is leaning towards an open source solution. However, we did make sure the pages do not assume the visitor already knows what Drupal is, because some will find the page through search.

Another key feature is geo-targeting. Currently, we serve localized content for the Americas, EMEA, and AP/Australia/New Zealand regions. This allows us to showcase case studies that will resonate to visitors based on their location. For example, on the Americas page, we highlight the Department of Energy - a U.S federal agency. In EMEA, we highlight City of London - a UK city, and in AP/Australia/New Zealand we highlight the State Revenue Office of Victoria, Australia - a federal agency.  We took this approach because business owners at digital agencies from each region said that having localized brand names and case studies helps them convince their potential clients that Drupal is a viable option for them.

The Story We Are Telling

The story that the pages tell to visitors is:

  1. Drupal is the open source CMS of choice for this industry. Just look at the strong adoption rate, industry brand names, and their success stories.

  2. Build amazing Drupal solutions to solve problems related to your industry.

  3. Solutions are made up of Drupal and third party software and hosting solutions. Plus, you can use industry-specific distributions to accelerate your build.

  4. Because of Drupal’s extensibility and our robust ecosystem of third-party technology integrations, modules, Drupal hosting, and distributions, you can tailor a solution to solve your unique problems or create new opportunities. Check out some featured industry-specific vendors.

  5. Read case studies to learn how big names in your industry achieved business gains with a Drupal solution.

  6. These solutions were built by people at well-respected Drupal agencies who are top contributors to Drupal.

  7. If you want to talk to someone about creating a Drupal solution, fill out the form and all three will contact you.

  8. Want to meet your peers? Attend the industry summit at DrupalCon Baltimore.

For the Americas region we have secured partners for Drupal evaluators to reach out to discuss their industry needs. However, we have not yet secured agency and vendor sponsors for these pages. It takes a lot of work to line up those relationships and tee-up the content and we wanted to launch sooner than later so we could start learning how to optimize the pages. So for now, we've selected initial case study content for these regions, and we are promoting a link to the marketplace to show agencies who have industry experience in these regions. Over time, we will open up the opportunity for agencies to sponsor the pages similar to our approach in the Americas region.

Thank you to our sponsors

Contribution comes in three forms: Time, Talent, and Treasure. Many people shared their time and talent to help us create these pages for the community. We could not have built something of value without them. And, there were several companies who contributed treasure as well by investing financially to sponsor these pages. Those companies are: Acquia, Ashday, Blackmesh, Digital Echidna, FFW, Forum One, ImageX Media, Kwall, Lingotek, Lullabot, Palantir.net, Pantheon, and Phase2.

Because the industry pages give premier visibility and sponsorship is so limited, we wanted to be as fair as possible when opening up this sponsorship opportunity. As we say amongst staff, we want to “sell with a soul”. We decided to only sell these sponsorship opportunities to those who are top contributors. We looked at companies’ code contribution levels and how long they supported the Drupal Association financially and came up with an internal ranking system. Only those above a certain threshold were invited to sponsor.

This means that not only are these sponsors contributing time, talent, and treasure to this specific initiative, but they are long time contributors to the Project, helping Drupal thrive over time. It’s important to the Association that we highlight and reward good Drupal citizenship. When good Drupal citizens are doing well, we all do well. When successful, businesses can hire more Drupal talent and sponsor their contributions back to the Project. They can fund more camps and DrupalCon so we can unite and accelerate the Project in person, and they can fund Drupal.org hosting and engineers so the community can build the Project together online. We are thankful for our sponsors' generous giving and proud to work with them on this initiative.

We've created value together

We see this initiative as a great demonstration of serving our mission - “to unite the community to help them build and promote the software”. We united members from all facets of the community: end-users, service providers, and the community at large. The pages promote the software by showing that Drupal is a winning choice for evaluators in these key industries.

This project is a reflection of Drupal’s amazing spirit and culture of respecting diverse opinions, collaboration, and striving to do the best. Thank you to everyone involved in this project for working so well together, listening to each other’s different ideas, and finding ways to incorporate them so together we can build something amazing.

Drupal Association blog: Drupal.org Industry Pages Are Live!

Planet Drupal -

We are excited to announce that the first three industry pages are now live on Drupal.org, highlighting the power of Drupal solutions in higher education, government and media/publishing. The pages are designed to quickly inform and inspire technical evaluators and connect them to service providers and technology vendors who can help them move further through their Drupal adoption journey.

The Drupal Association is incredibly proud to showcase the Drupal community’s innovation, creativity, and ability to solve end users’ challenging problems. More importantly, these pages are a resource that Drupal businesses can point to as they convince potential clients that Drupal is the right choice for them. We know this is a needed resource not only because Drupal agencies have asked for this, but because our user research was resoundingly positive. One government digital director said “I wish this was around when I was pitching my state CIO on Drupal”.

This launch is the first phase for this initiative. We will learn and iterate to keep improving the pages and we will expand the industries to include pages like healthcare, finance, ecommerce, and more.

The Research We Used

Building the industry pages was a community effort. Drupal Association staff framed the concept and then reached out to end-users of Drupal in these industries, service providers who've built solutions for these markets, and the community at large. We listened to all of you who shared your thoughts in the original blog post about this initiative.

We conducted user research, interviewing decision makers and influencers at end user organizations to make sure the pages resonated strongly with them. We talked to organizations like Weather.com, Burda Media, State of North Carolina, Georgia Technology Authority, Duke University, Cornell University - and more!

We also talked to people at agencies who pitch Drupal solutions all day long such as Acquia, Ashday, Blackmesh, Digital Echidna, FFW, Forum One, ImageX Media, Kwall, Lingotek, Lullabot, Palantir.net, Pantheon, and Phase2.

We will continue to take feedback from our global community. Our goal is to keep iterating on these industry pages as we learn more.

About The Pages

The industry pages are part of the About Drupal section and they are promoted from the Drupal.org front page. The homepage of Drupal.org receives about 350,000 visits a month, and about 50% of those visitors are new to Drupal.org The front page is primarily technical evaluators coming to learn more about Drupal and we see this as they click on our evaluator resources like About Drupal, TryDrupal, and Case Studies.

Based on user research, we know that before someone comes to the industry pages, they likely know that Drupal is an open source community-built CMS and their organization is leaning towards an open source solution. However, we did make sure the pages do not assume the visitor already knows what Drupal is, because some will find the page through search.

Another key feature is geo-targeting. Currently, we serve localized content for the Americas, EMEA, and AP/Australia/New Zealand regions. This allows us to showcase case studies that will resonate to visitors based on their location. For example, on the Americas page, we highlight the Department of Energy - a U.S federal agency. In EMEA, we highlight City of London - a UK city, and in AP/Australia/New Zealand we highlight the State Revenue Office of Victoria, Australia - a federal agency.  We took this approach because business owners at digital agencies from each region said that having localized brand names and case studies helps them convince their potential clients that Drupal is a viable option for them.

The Story We Are Telling

The story that the pages tell to visitors is:

  1. Drupal is the open source CMS of choice for this industry. Just look at the strong adoption rate, industry brand names, and their success stories.

  2. Build amazing Drupal solutions to solve problems related to your industry.

  3. Solutions are made up of Drupal and third party software and hosting solutions. Plus, you can use industry-specific distributions to accelerate your build.

  4. Because of Drupal’s extensibility and our robust ecosystem of third-party technology integrations, modules, Drupal hosting, and distributions, you can tailor a solution to solve your unique problems or create new opportunities. Check out some featured industry-specific vendors.

  5. Read case studies to learn how big names in your industry achieved business gains with a Drupal solution.

  6. These solutions were built by people at well-respected Drupal agencies who are top contributors to Drupal.

  7. If you want to talk to someone about creating a Drupal solution, fill out the form and all three will contact you.

  8. Want to meet your peers? Attend the industry summit at DrupalCon Baltimore.

For the Americas region we have secured partners for Drupal evaluators to reach out to discuss their industry needs. However, we have not yet secured agency and vendor sponsors for these pages. It takes a lot of work to line up those relationships and tee-up the content and we wanted to launch sooner than later so we could start learning how to optimize the pages. So for now, we've selected initial case study content for these regions, and we are promoting a link to the marketplace to show agencies who have industry experience in these regions. Over time, we will open up the opportunity for agencies to sponsor the pages similar to our approach in the Americas region.

Thank you to our sponsors

Contribution comes in three forms: Time, Talent, and Treasure. Many people shared their time and talent to help us create these pages for the community. We could not have built something of value without them. And, there were several companies who contributed treasure as well by investing financially to sponsor these pages. Those companies are: Acquia, Ashday, Blackmesh, Digital Echidna, FFW, Forum One, ImageX Media, Kwall, Lingotek, Lullabot, Palantir.net, Pantheon, and Phase2.

Because the industry pages give premier visibility and sponsorship is so limited, we wanted to be as fair as possible when opening up this sponsorship opportunity. As we say amongst staff, we want to “sell with a soul”. We decided to only sell these sponsorship opportunities to those who are top contributors. We looked at companies’ code contribution levels and how long they supported the Drupal Association financially and came up with an internal ranking system. Only those above a certain threshold were invited to sponsor.

This means that not only are these sponsors contributing time, talent, and treasure to this specific initiative, but they are long time contributors to the Project, helping Drupal thrive over time. It’s important to the Association that we highlight and reward good Drupal citizenship. When good Drupal citizens are doing well, we all do well. When successful, businesses can hire more Drupal talent and sponsor their contributions back to the Project. They can fund more camps and DrupalCon so we can unite and accelerate the Project in person, and they can fund Drupal.org hosting and engineers so the community can build the Project together online. We are thankful for our sponsors' generous giving and proud to work with them on this initiative.

We've created value together

We see this initiative as a great demonstration of serving our mission - “to unite the community to help them build and promote the software”. We united members from all facets of the community: end-users, service providers, and the community at large. The pages promote the software by showing that Drupal is a winning choice for evaluators in these key industries.

This project is a reflection of Drupal’s amazing spirit and culture of respecting diverse opinions, collaboration, and striving to do the best. Thank you to everyone involved in this project for working so well together, listening to each other’s different ideas, and finding ways to incorporate them so together we can build something amazing.

fluffy.pro. Drupal Developer's blog: Ctools: custom relationships plugin

Planet Drupal -

Relationships plugins are "bridge" between existing context (that is already set up in a panel) and a context which you want to get from existing one. Let's say your panel contains "Node" context and you want to get a node author (user from node:uid property). To do that you can just set up "Node author" relationship in a panel (under a "contexts" tab) and that's all. That's why relationships plugins are so important - they provide easy way for getting context from existing contexts. Please have a look at this post before continue reading - there is described how to create module integrated with ctools API which allows us to define own plugins.
Read more »

xjm: Help triage major bugs at the Florida DrupalCamp or your local camp (yes, you!)

Planet Drupal -

Help triage major bugs at the Florida DrupalCamp or your local camp (yes, you!)

Florida Drupalcamp 2017 is less than a week away, February 17-19, in vibrant Orlando. Not only is the camp schedule packed with great sessions and trainings, but there's also a contribution sprint that both helps Drupal 8 core maintainers, and gives you a chance to contribute and learn about Drupal 8.

To join the sprint, you should already be familiar with Drupal... and that's it! You don't need to be an expert. You don't need to be a coder. You don't even need to know much about Drupal 8, although a little knowledge helps. This particular sprint is a great fit for:

  • anyone with some Drupal knowledge who is interested in contributing for the first time
  • on-and-off contributors
  • project managers (you will be great at this!)
  • anyone interested in learning more about how Drupal core gets made
  • anyone concerned about Drupal 8 bugs!
  • anyone interested in helping maintainers (or even becoming maintainers someday themselves)

I'm not teasing with that last one, either. This sprint can be rewarding for anyone from a newbie contributor to a core committer. (If you are skeptical about that, join this beginner camp session from Drupal 8's frontend committer, Cottser: One Step at a Time: Lessons Learned from Drupal Newbie to Core Committer.)

If you can't make it to Florida, you can also host the same kind of sprint at your local Drupal camp. Read on for what this sprint is all about, and why it matters for Drupal 8.

Getting our priorities in order

In Drupal core, we define the issue priority of core bugs based on how many users are affected and how severe the problem is, and many contributors respond accordingly to prioritize what is fixed first. Over time, we've refined what specific kinds of bugs are critical, major, or normal priority.

Before we released Drupal 8.0.0 in November 2015, we fixed all the critical bugs we could identify, so that Drupal was safe and production-ready for most users. Our intense focus on fixing those release-blocking issues for such a significant overhaul of Drupal meant that many issues that were not as critical took second place, even though some were still quite problematic. In the past year, now that Drupal 8 has stable releases, we have been able to shift focus to fixing more of the remaining major bugs (as well as adding new features).

Still, there are only so many hours in the day, and many people who've spent time with Drupal before will know how long it can take to find the right bug report! This is where issue triage comes in. The first step to fixing the most important bugs is simply making sure the bug reports are up to date and actionable.

Major triage in 2016

During 2016, with the help of subsystem maintainers and a couple small groups of sprinters, we assessed the status of over 200 major bugs. Of the major bugs we triaged, only about half were confirmed as major priority. Roughly one in three were downgraded to normal priority, and one in twenty turned out to be critical priority. The remainder were no longer relevant.

Within the past year, the community also fixed over 250 additional major bugs... but more than 200 new ones were filed at the same time. So, while the triaged issues significantly reduce the size of the major issue queue, there is still much more work to be done to catch up. Core maintainers need your help to close the gap.

How you can help

Finding (and fixing) the bugs that are most important is a group effort. We use a two-phase process:

  1. Contributors verify the current status of the major issues, make sure they are up to date, and close issues that are no longer relevant.
  2. Core committers and subsystem maintainers collaborate to assess the verified issues.

Phase 1 is where you come in! This flowchart illustrates the workflow we use at major issue triage sprints:

(You can also read the detailed instructions in the major triage meta issue.)

This process can take awhile, but it is great for "unsticking" issues. Plus, once you have triaged an issue as valid, core committers will follow up on it to confirm its priority and make sure you are credited for your triage contribution to the issue on Drupal.org once the bug is fixed.

Once the current state of these bug reports is verified, Drupal 8 core committers and subsystem maintainers will prioritize them, deciding which are indeed major, which are just normal bugs, and even which ones are critical issues in disguise.

DrupalCamp NJ 2017

A week ago, more than 10 sprinters participated in the DrupalCamp New Jersey major triage sprint. We verified numerous issues in the Menu, DateTime, Views, JavaScript, Node, and Update subsystems (and the DateTime major queue is now fully triaged!). Thanks to cilefen, davidhernandez, dinarcon, djdevin, ednawig, mpdonadio, pwolanin, sugaroverflow, techmsi, tim.plunkett, wquiceno, and YesCT for their help at the sprint! (Also: if I missed you on this list, let me know so I can make sure you get issue credit.)

Florida DrupalCamp 2017

The next stop on the major triage international tour is Orlando! Come to the Florida DrupalCamp contribution sprints to join the experience. The main sprint day is Sunday, February 19. Start the weekend off with a training on Friday, attend some fabulous sessions on Saturday, and then come sprint on Sunday -- or, do what DrupalCamp veterans do and hang out sprinting for the whole camp. nerdstein and the amazing YesCT will be right there with you to help you sprint (probably along with other mentors as well). Also be sure to thank ultimike and other camp organizers for hosting the sprint.

Or, organize your own sprint!

Do you have an upcoming local Drupal camp or regional summit? Are your superpowers more for organizing events than testing bugs? Consider hosting a Drupal 8 major issue triage sprint at your event.

To host the sprint, it works best to have a few sprint leads who are either experienced mentors or know Drupal 8, or who have attended another of our Drupal 8 major triage sprints themselves. (Past major triage sprints have been at DrupalCons Los Angeles, Barcelona, Mumbai, and New Orleans, as well as at this year's DrupalCamp New Jersey.)

If you are interested in hosting a core major triage sprint, contact me on Drupal.org. I can help you decide if the sprint is a good fit for your event and share ideas.

Let's shine the lights on some bugs!

xjm Tue, 02/14/2017 - 22:35

Drupal core announcements: 7.x-2.x version of API module ready for testing

Planet Drupal -

Neil Drumm (drumm) and I have been working lately on the API module (used to build API documnentation sites like https://api.drupal.org and others). We've made a 7.x-2.x branch of the project, which works quite differently from the 7.x-1.x branch. The major changes are that it uses a different (and external) parsing library for parsing PHP files, and it uses Composer to manage its external library dependencies.

We have a bunch of automated tests for the module, which all pass, and I've successfully used it to parse the latest 8.x and 7.x Drupal Core code. But there are several other users of the API module out there (for instance, the Drush project), and we've changed the public API of the module (functions have moved, changed names, been removed, etc.).

So before we make a full 7.x-2.0 release of the API module (and drop support for the 7.x-1.x branch), I would like to invite users of the API module to test out the 2.x branch on their sites, and create issues in the API project if they encounter any problems. The public API can still be changed at this point, up until we have a new release, so now would be a good time to test.

If you want to test... some links:

Looking forward to hearing about the results of your testing!

Dries Buytaert: Distributions remain a growing opportunity for Drupal

Planet Drupal -

Yesterday, after publishing a blog post about Nasdaq's Drupal 8 distribution for investor relations websites, I realized I don't talk enough about "Drupal distributions" on my blog. The ability for anyone to take Drupal and build their own distribution is not only a powerful model, but something that is relatively unique to Drupal. To the best of my knowledge, Drupal is still the only content management system that actively encourages its community to build and share distributions.

A Drupal distribution packages a set of contributed and custom modules together with Drupal core to optimize Drupal for a specific use case or industry. For example, Open Social is a free Drupal distribution for creating private social networks. Open Social was developed by GoalGorilla, a digital agency from the Netherlands. The United Nations is currently migrating many of their own social platforms to Open Social.

Another example is Lightning, a distribution developed and maintained by Acquia. While Open Social targets a specific use case, Lightning provides a framework or starting point for any Drupal 8 project that requires more advanced layout, media, workflow and preview capabilities.

For more than 10 years, I've believed that Drupal distributions are one of Drupal's biggest opportunities. As I wrote back in 2006: Distributions allow us to create ready-made downloadable packages with their own focus and vision. This will enable Drupal to reach out to both new and different markets..

To capture this opportunity we needed to (1) make distributions less costly to build and maintain and (2) make distributions more commercially interesting.

Making distributions easier to build

Over the last 12 years we have evolved the underlying technology of Drupal distributions, making them even easier to build and maintain. We began working on distribution capabilities in 2004, when the CivicSpace Drupal 4.6 distribution was created to support Howard Dean's presidential campaign. Since then, every major Drupal release has advanced Drupal's distribution building capabilities.

The release of Drupal 5 marked a big milestone for distributions as we introduced a web-based installer and support for "installation profiles", which was the foundational technology used to create Drupal distributions. We continued to make improvements to installation profiles during the Drupal 6 release. It was these improvements that resulted in an explosion of great Drupal distributions such as OpenAtrium (an intranet distribution), OpenPublish (a distribution for online publishers), Ubercart (a commerce distribution) and Pressflow (a distribution with performance and scalability improvements).

Around the release of Drupal 7, we added distribution support to Drupal.org. This made it possible to build, host and collaborate on distributions directly on Drupal.org. Drupal 7 inspired another wave of great distributions: Commerce Kickstart (a commerce distribution), Panopoly (a generic site building distribution), Opigno LMS (a distribution for learning management services), and more! Today, Drupal.org lists over 1,000 distributions.

Most recently we've made another giant leap forward with Drupal 8. There are at least 3 important changes in Drupal 8 that make building and maintaining distributions much easier:

  1. Drupal 8 has vastly improved dependency management for modules, themes and libraries thanks to support for Composer.
  2. Drupal 8 ships with a new configuration management system that makes it much easier to share configurations.
  3. We moved a dozen of the most commonly used modules into Drupal 8 core (e.g. Views, WYSIWYG, etc), which means that maintaining a distribution requires less compatibility and testing work. It also enables an easier upgrade path.

Open Restaurant is a great example of a Drupal 8 distribution that has taken advantage of these new improvements. The Open Restaurant distribution has everything you need to build a restaurant website and uses Composer when installing the distribution.

More improvements are already in the works for future versions of Drupal. One particularly exciting development is the concept of "inheriting" distributions, which allows Drupal distributions to build upon each other. For example, Acquia Lightning could "inherit" the standard core profile – adding layout, media and workflow capabilities to Drupal core, and Open Social could inherit Lightning - adding social capabilities on top of Lightning. In this model, Open Social delegates the work of maintaining Layout, Media, and Workflow to the maintainers of Lightning. It's not too hard to see how this could radically simplify the maintenance of distributions.

The less effort it takes to build and maintain a distribution, the more distributions will emerge. The more distributions that emerge, the better Drupal can compete with a wide range of turnkey solutions in addition to new markets. Over the course of twelve years we have improved the underlying technology for building distributions, and we will continue to do so for years to come.

Making distributions commercially interesting

In 2010, after having built a couple of distributions at Acquia, I used to joke that distributions are the "most expensive lead generation tool for professional services work". This is because monetizing a distribution is hard. Fortunately, we have made progress on making distributions more commercially viable.

At Acquia, our Drupal Gardens product taught us a lot about how to monetize a single Drupal distribution through a SaaS model. We discontinued Drupal Gardens but turned what we learned from operating Drupal Gardens into Acquia Cloud Site Factory. Instead of hosting a single Drupal distribution (i.e. Drupal Gardens), we can now host any number of Drupal distributions on Acquia Cloud Site Factory.

This is why Nasdaq's offering is so interesting; it offers a powerful example of how organizations can leverage the distribution "as-a-service" model. Nasdaq has built a custom Drupal 8 distribution and offers it as-a-service to their customers. When Nasdaq makes money from their Drupal distribution they can continue to invest in both their distribution and Drupal for many years to come.

In other words, distributions have evolved from an expensive lead generation tool to something you can offer as a service at a large scale. Since 2006 we have known that hosted service models are more compelling but unfortunately at the time the technology wasn't there. Today, we have the tools that make it easier to deploy and manage large constellations of websites. This also includes providing a 24x7 help desk, SLA-based support, hosting, upgrades, theming services and go-to-market strategies. All of these improvements are making distributions more commercially viable.

Want to see your DNS analytics? We have a Grafana plugin for that

Cloudflare Blog -

Curious where your DNS traffic is coming from, how much DNS traffic is on your domain, and what records people are querying for that don’t exist? We now have a Grafana plugin for you.

Grafana is an open source data visualization tool that you can use to integrate data from many sources into one cohesive dashboard, and even use it to set up alerts. We’re big Grafana fans here - we use Grafana internally for our ops metrics dashboards.

In the Cloudflare Grafana plugin, you can see the response code breakdown of your DNS traffic. During a random prefix flood, a common type of DNS DDoS attack where an attacker queries random subdomains to bypass DNS caches and overwhelm the origin nameservers, you will see the number of NXDOMAIN responses increase dramatically. It is also common during normal traffic to have a small amount of negative answers due to typos or clients searching for missing records.

You can also see the breakdown of queries by data center and by query type to understand where your traffic is coming from and what your domains are being queried for. This is very useful to identify localized issues, and to see how your traffic is spread globally.

You can filter by specific data centers, record types, query types, response codes, and query name, so you can filter down to see analytics for just the MX records that are returning errors in one of the data centers, or understand whether the negative answers are generated because of a DNS attack, or misconfigured records.

Once you have the Cloudflare Grafana Plugin installed, you can also make your own charts using the Cloudflare data set in Grafana, and integrate them into your existing dashboards.

Virtual DNS customers can also take advantage of the Grafana plugin. There is a custom Grafana dashboard that comes installed with the plugin to show traffic distribution and RTT from different Virtual DNS origins, as well as the top queries that uncached or are returning SERVFAIL.

The Grafana plugin is three steps to install once you have Grafana up and running - cd into the plugins folder, download the plugin and restart grafana. Instructions are here. Once you sign in using your user email and API key, the plugin will automatically discover zones and Virtual DNS clusters you have access to.

The Grafana plugin is built on our new DNS analytics API. If you want to explore your DNS traffic but Grafana isn’t your tool of choice, our DNS analytics API is very easy to get started with. Here’s a curl to get you started:

curl -s -H 'X-Auth-Key:####' -H 'X-Auth-Email:####' 'https://api.cloudflare.com/client/v4/zones/####/dns_analytics/report?metrics=queryCount’

To make all of this work, Cloudflare DNS is answering and logging millions of queries each second. Having high resolution data at this scale enables us to quickly pinpoint and resolve problems, and we’re excited to share this with you. More on this in a follow up deep dive blog post on improvements in our new data pipeline.

Instructions for how to get started with Grafana are here and DNS analytics API documentation is here. Enjoy!

Pages

Subscribe to Cruiskeen Consulting LLC aggregator