Feed aggregator

Lullabot at DrupalCon Baltimore

Lullabot -

We’re joining forces this year with our friends at Pantheon to bring you a party of prehistoric proportions! It will be a night of friendly fun, good conversation, and dinosaurs at the Maryland Science Center. DrupalCon is always a great place to meet new people, and if you’re an old timer, it’s a great place to see old friends and make new ones.

The Maryland Science Center is only a short 10-minute walk from the Convention Center. Stop by and enjoy the harbor views, a tasty beverage, dessert, or just to say “hello”. We promise the dinosaurs will behave themselves!

Lullabot’s 9ᵀᴴ Annual DrupalCon Party
Wednesday, April 26th at the Maryland Science Center
601 Light St.
Baltimore, MD 21230
8pm - 11pm

There will be nineteen of us Lullabots attending, five of whom will be presenting sessions you won’t want to miss. And, be sure to swing by booth 102 in the exhibit hall to pick up some fun Lullabot swag and of course, our famous floppy disk party invites. See you in Baltimore!

Speaker Sessions Wednesday, April 26

Mateu Aguiló Bosch
Advanced Web Services with JSON API
12pm - 1:00pm
308 - Pantheon

Matthew Tift
Drupal in the Public Sphere
2:15pm - 3:15pm
318 - New Target

Wes Ruvalcaba & David Burns
Virtual Reality on the Web - An Overview and "How to" Demo
3:45pm - 4:15pm
Community Stage - Exhibit Hall

Sally Young
Decoupled from the Inside Out
5pm - 6pm
318 - New Target
*Presenting with Preston So and Matthew Grill of Acquia

Thursday, April 27

Mateu Aguiló Bosch
API-First Initiative
10:45am - 11:45am
318 - New Target
*Presenting with Wim Leers of Acquia

Appnovation Technologies: Live from Magento Imagine 2017

Planet Drupal -

Live from Magento Imagine 2017 It's that time of the year again, where all that is Magento finds itself in motion toward Las Vegas for the annual Magento Imagine conference. Our eCommerce Director Tim Laurent is live from Vegas this week, and outlines his expectations and thoughts for the next few days at the conference: For the third year in a row, we're at the Wynn hotel--a nice...

SystemSeed: Apple Pay on Concern.net

Planet Drupal -

We are very happy to announce that after several months of combined work with Concern Worldwide and Apple we now support Apple Pay via desktop, iPhone, iPad and Apple Watch @ Concern.net!

This was a fascinating endeavour for our team with many requirements spanning both hardware and software.

We now have tools in place for Concern.net donation forms to enable existing donors to make a donation, or increase their regular donations by following a marketing link and press a single button on the form before using their fingerprint to authenticate payment.

There is a famous saying that “The best GUI is no GUI” This ideal is now a tangible possibility.

Stay tuned for further developments as to how you can donate without fuss to one of the world’s leading charities.

Our many thanks to all the teams at SystemSeed, Concern and Apple that helped facilitate this work.

Please consider making the world a brighter place for those in need by going to Concern.net and donating via Apple Pay or any other method today.

Jeff Geerling's Blog: MidCamp 2017 Presentation - Drupal VM for Drupal 8 Development

Planet Drupal -

MidCamp is one of my favorite Drupal events—it hits the sweet spot (at least for me) in terms of diversity, topics, and camp size. I was ecstatic when one of my session submissions was accepted, and just finished presenting Developing for Drupal 8 with Drupal VM.

You can see slides from the presentation here: Drupal VM for Drupal 8 Development, but without the full video there are a lot of gaps (especially on slides where there's just a giant emoji!). Luckily, Kevin Thull of Blue Drop Shop is hard at work recording all the sessions and posting them to YouTube. He's already processed the video from my session, and it's available below:

MidCamp - Midwest Drupal Camp: MidCamp 2018, March 8-11

Planet Drupal -

MidCamp 2017 was a huge success! Thank you to everyone who came, helped, supported, spoke and attended!

MidCamp 2018 is confirmed for March 8th through March 11th, 2018 back here at the DePaul University Lincoln Park Student Center!

Come and join us next year!

Stay connected:

Cloudflare Apps: Develop Features for Everyone

Cloudflare Blog -

CC-BY 2.5 image by Hans Braxmeier

Cloudflare’s mission is to help build a faster and more secure Internet for everyone, but sometimes sites often lack the accessibility features critical to allowing all Internet users to enjoy their content and perspective. Cloudflare Apps, which power the add-ons featured here, can allow developers to enhance any website. Get notified for the developer preview >>

The team at Cloudflare is excited to announce the release of two performance-enhancing features that makes the Internet more usable for two underrepresented demographics on the Internet: cats and Australians.

Feline Mode

The modern internet is full of content which challenges our perspectives. Often though, we are not interested in being challenged, we are interested in cats. To use the internet, to be a member of this incredible cultural fabric, is to find the most feline part of yourself. A love of sleeping, of curling up on a soft pile of destroyed clothing, a love of distracting and bothering others. Often though, websites just fail to recognize this critical part of our identity.

Australia Mode

We believe access to the internet is a basic human right. It’s not enough to just be able to access it though, it also needs to be reliable, fast, and accessible. One area where this is particularly pressing is Australia. Their latitude and upside-downness can make browsing the Internet of the Northern Hemisphere a nightmare. Imagine living your life with every image, every video, every Ryan Gosling is upside down. Imagine January is the middle of summer, and shivering with the cold of July. Today we are introducing another performance-enhancing feature: Australia mode.

Coming soon: Cloudflare Apps Developer Preview

Cloudflare Apps is a simple and powerful way for millions of site operators to one-click install tools previously only available to technical experts, and it powers the two modes demonstrated above. For developers, you can deliver your client-side and SaaS tools to millions of websites as a Cloudflare add-on, including a mechanism for monetization through the Cloudflare Apps marketplace. And your app does not have to be specialized for cats or Australians. Get a head start by participating in the developer preview.

Drupal core announcements: Drupal 8 core release window on Wednesday, April 05, 2017

Planet Drupal -

Start:  2017-04-04 12:00 - 2017-04-06 12:00 UTC Organizers:  catch cilefen xjm Event type:  Online meeting (eg. IRC meeting)

This Wednesday, April 05 is the release window for Drupal 8.3.0, the next scheduled minor release of Drupal 8. There will be no Drupal 7 bugfix release this month.

To ensure a reliable release window for the minor release, there will be a Drupal 8.3.x commit freeze from 12:00 UTC Tuesday to 12:00 UTC Thursday. Now is a good time to update your development/staging servers to the latest 8.3.x-dev code and help us catch any regressions in advance. If you do find any regressions, please report them in the issue queue. Thanks!

To see all of the latest changes that will be included in the release, see the 8.3.x commit log.

Other upcoming core release windows after this week include:

  • Wednesday, April 19 (security release window)
  • Wednesday, May 03 (patch release window)

For more information on Drupal core release windows, see the documentation on release timing and security releases, as well as the Drupal core release cycle overview.

Aten Design Group: Testing for the Brave and True: Part Zero

Planet Drupal -

"If you're not testing, you're doing it wrong." I can't remember how many times I've heard those words. Each time, I'd feel a little pang of guilt, a little bit of shame that every day, I wrote code for myself and clients that wasn't tested. I'd be frustrated with the developers who repeated that mantra. Sure, it was easy to say, but hard to live up to. How do I test? What do I test? Should I test? How would I justify the costs?

As a developer who started his career writing custom code for Drupal applications, it was easy to skip testing. Drupal 7 was really quite untestable, at least in any practical sense. Drupal core itself was tested, and big modules like Views, Ctools, and Entity API had test suites too. But finding tests in other custom code or smaller modules was a rarity. Even today, with a vastly more testable code base, documentation for testing Drupal code is terse and hard to come by. It's focused on educating core contributors and module maintainers, not day-to-day developers writing modules to satisfy particular real-world needs.

I hope this series will change that for you.

I will make the case that you should be testing; that you'll save time and you'll save money, and that you won't need to "justify the cost." This series will start from first principles:

  • What is automated testing?
  • Why is automated testing a net positive?
  • How do I write my first test?
  • How do I write the one after that? (because that's really where it gets hard isn't it?)
Part Zero What is automated testing?

I define automated testing as the act of asserting that your code achieves its goals without human interaction.

Types of Automated Tests

There are many types of automated testing. Each serves a specific need and each operates at a different level of abstraction. They form something like a pyramid, your most numerous tests should be at the bottom, as you go higher up the stack, you should have fewer and fewer tests.

At the lowest level, are unit tests (and that's what this series will focus on). Unit testing is code that you write to test or "exercise" the actual custom code that you write. Unit tests isolate very small bits of functionality and assert that your code can handle all kinds of inputs correctly. You might write a unit test to assert that an add(x, y) function adds numbers correctly.

Above unit tests, are integration tests. Integration tests assert that the small bits of functionality that you tested with unit tests "integrate" together. Perhaps you wrote a suite of arithmetic functions which you unit tested individually. When those functions come together into a calculator, you might write integration tests to validate that they all work in harmony.

At the highest level are system tests. System tests assert that your application works as a cohesive whole. These "acceptance" tests are usually best expressed as the functionality your client cares about. "Can my potential customer use a calculator to estimate a mortgage payment and then call me for a quote?"

There are no definite lines of separation between these types of tests, they all fall along a continuum—it's a curve, not a step function.

It's not important to know exactly where your test falls on that curve, really, it's just important to know that:

  • You can test at different levels of abstraction.
  • You do not need to test everything at every level of abstraction.
Different Tools for Different Tests

Just as there are different types of tests, there are different tools that go along with them. As with all things in software development, there are lots of tooling choices and tradeoffs no matter what you choose. The beauty of using Drupal, however (or any framework) is that some of those choices have already been made for you either officially or by convention in the community.

At the lowest level, is unit testing. The standard adopted by Drupal 8 is PHPUnit. PHPUnit is a suite of command line tools and base classes that make writing tests easier. Drupal has extended some of the PHPUnit classes with some extra features that make testing code written specifically for Drupal easier. The Drupal class used for unit testing is called UnitTestCase. We're going to take a deep dive into this, and all the Drupal testing classes and tools later in the series.

At the integration test level, Drupal uses a mix of PHPUnit and Simpletest, but is migrating all of its Simpletest based code to extensions of PHPUnit tests that can achieve the same things. In Drupal, the class primarily used for this kind of testing is called KernelTestBase.

At the system test level the lines begin to become somewhat blurred. Drupal calls these “Functional” tests and there are two classes for them. WebTestCase and BrowserTestBase classes can do quite a bit, and are the standard for testing Drupal Core and contributed modules. They work well for contributed modules and Drupal core because they don’t need to test the specifics of a real-world Drupal application and all the configuration and customization that implies.

The Drupal community has largely settled on Behat as the standard for testing real-world Drupal applications. Behat works by starting a "headless" browser that can emulate a real user by doing things like clicking links and filling out forms. These kinds of tests let you test the configuration of your Drupal site holistically—your theme, javascript and custom code—which ensures that everything works well together.

I hope this post has given you a sense of what automated testing is and some basic terminology that we can share in the next part of this series: “Why Automated Testing will Save You Time and Treasure.”

Chocolate Lily: The Coming Drupal Fork

Planet Drupal -

In recent days there's been a bunch of insightful and thought provoking reflection within the Drupal community (as well as a share of bullshit). I've benefited from hearing perspectives that remind me of my biases and privileged placement as a cis white male. A comment by Melissa Anderson, someone I know and respect, had particular impact for me.

A lot of attention has focused on a particular action by Drupal project owner Dries Buytaert. But many are going deeper.

The trouble with Drupal is not so much any individual action.

The trouble is that, for all its collective trappings and thousands of contributors, Drupal is formally structured as a dictatorship.

Really? In 2017? Yes, really.

The Thing About Dictatorship

As detailed in documentation of the Drupal project structure, the self-anointed "benevolent dictator for life" not only exerts ultimate control over code but also "preserves [that is, controls] the philosophy, culture, and principles of the project."

Wow. Think about that for a minute.

The occasional overt dictate can indeed be worrisome. But I'm actually much more troubled by what's so normalized in the project that it passes without comment.

I won't repeat what I've gone on (and on!) about in previous comments and reflections on Drupal's power structure going back over a dozen years. Here's a selection:

But I will add I'm struck anew by what seems to me the unusual depth and reach of the authoritarian model in the Drupal project.

I've often heard it said, for example, that Linux, too, has a so-called "benevolent dictator for life".

True. But, contrary to Drupal, the Linux dictator doesn't individually set the terms of reference of, and appoint every member to, key community structures. (Come to think of it, isn't there something Orwellian about a so-called "Community Working Group" appointed by a dictator?) Unlike Buytaert with the Drupal Association, the Linux dictator doesn't have his name written into the bylaws of the Linux Foundation as a director with own reserved slot, nor has he served as the de facto permanent board president of the Linux Foundation since its inception. He doesn't have a seemingly permanent seat on the committee that vets every nomination to the Linux Foundation board.

And, crucially, unlike Buytaert in Drupal, he isn't a founder and key executive of the Linux company that exerts the deepest influence on the software.

Effective checks on the absolute power of the project founder? It's really hard to find any.

For thousands of people caught up in the Drupal project, what does all this mean in practice? As in many communities, boundaries often blur. Drupal can come to define not only one's work life, but also leisure activities like volunteer coding or meetup organizing, even key daily social links and interactions.

Put that together with a patriarchal model, intimately tied to capitalism and corporate power, permeating all these realms - work, leisure, friendship, community - and you get a deeply troubling degree of influence. One that, precisely because it's everywhere, may be almost invisible. In a community where it's all about personal ties and influence, power seldom needs to act overtly.

"Dictator for life". This, too, is something to think long and hard about. That's a lot of future years. For those who stay, what does it mean, this prospect of being part of a dictatorship culture most of one's life?

There's a tonne of beautiful energy in the Drupal project. There are brilliant and passionate people who care deeply about our community and are rightfully proud of our collective project.

Not thanks to the dictatorship model. In spite of it.

Is what we're seeing the beginnings of a "Drupal spring"? If so, where might it lead?

The Coming Fork

Conditions are ripe for a fork of the Drupal project. But what kind of fork?

For a software community mired in regressive power dynamics, a fork can be a positive source of renewal, allowing participants to resolve contradictions and carry forward the project's best attributes.

Or a fork can replicate the same regressive crap that prompted problems in the first place.

Worse--given the current context, a fork could reinforce and enshrine forms of cis white male privilege.

So the key question is not so much whether to fork. Rather, it seems to be: if so, how?

A cultural fork

Yes, there are deep problems with Drupal's code base, many resulting from the warping effects of corporate interests. But the primary challenge of a fork is not about code. It's about culture.

The dictatorship model in Drupal runs deep. So, no, a light makeover isn't going to cut it. A fork needs a radical cultural reset.

We need to look to voices of diversity and inclusion.

We need to create room for critical perspectives and insights that too often have been shouted down by louder voices in the project--ones that, over and over, have rushed to attack questioners of the founder's prerogatives. (I speak as someone who's repeatedly been targeted for my critical voice. And sometimes, yes, silenced.)

We need to deeply question a culture that promotes living for the cause as a positive or even a required leadership quality.

In the Backdrop fork of Drupal, I and others promoted a "project management committee" structure, replacing the single dictator with a group of lead contributors. And I do think the more diverse and inclusive Backdrop leadership team is a huge improvement over Drupal.

But, here, is it enough? Not nearly.

I personally want to look for inspiration and ideas to the platform cooperative movement, which is opening horizons for free software collectively owned by those who use and build it.

That vs. dictatorship? I know where my heart is.

Existing strengths

A fork should draw in existing progressive initiatives and structures in and around the Drupal space.

One that I'm involved with is Drutopia.

We've also got an expending number of engaged, radical organizations and cooperatives in the Drupal sphere. How do we draw them in? Or, maybe better put: how can we be open to them drawing us in?

A fork shouldn't require people to switch

Strategically, a new fork will probably have the most scope and impact if it doesn't force people to switch immediately to something new. Instead, it could work as a drop-in replacement for Drupal 8--and future Drupal versions.

For those familiar with the MySQL database, think MariaDB, the community-led fork of MySQL. If you already use MySQL, you can switch very painlessly to MariaDB--and get some great improvements for your effort. Your existing MySQL databases just work. The MariaDB project maintains compatibility by merging in changes from MySQL.

In the same way, a Drupal fork could "just work" if your site was originally built on Drupal.

Moving Forward

Crises in authoritarian systems play out in familiar ways. There will be - there already are - calls for a brand of "healing" that involves returning to the fold, reflecting sagely on lessons supposedly learned, and pledging renewed faith in the beneficent leader. Ah, I see one such post just appeared from the Drupal Association. Right on cue.

And there will be organizing on the ground. By those of us truly fed up with a corrosive patriarchal agenda, one that once again masks its power behind a false and exploitative language of inclusion.

Who are hungry for progressive change.


Subscribe to Cruiskeen Consulting LLC aggregator