Lullabot: Why Programmers Should Read Good Fiction
If you are a programmer looking to improve your professional craft, there are many resources toward which you will be tempted to turn. Books and classes on programming languages, design patterns, performance, testing, and algorithms are some obvious places to look. Many are worth your time and investment.
Agaric Collective: Pass variables without escaping nor sanitizing to t() in Drupal 8
In Drupal 7 it was useful to do things like this:  function mymodule_content() { $links[] = l('Google', 'http://www.google.com'); $links[] = l('Yahoo', 'http://www.yahoo.com'); return t('Links: !types', array('!types' => implode(', ', $links))); } In this case, we are using the exclamation mark to pass the $links into our string but unfortunately, Drupal 8 doesn't have this option in the FormattableMarkup::placeholderFormat(), the good news is that even without this there is a way to accomplish the same thing.  Read more and discuss at agaric.coop.
Mass.gov Digital Services: Introducing Drupal Test Traits
Mass.gov dev team releases open source projectThe Mass.gov development team is proud to release a new open source project, Drupal Test Traits (DTT). DTT enables you to run PHPUnit tests against your Drupal web site, without wiping your database after each test class. That is, you test with your usual content-filled database, not an empty one. We hope lots of Drupal sites will use DTT and contribute back their improvements. Thanks to PreviousNext and Phase2 for being early adopters.Mass.gov is a large, content-centric site. Most of our tests click around and assert that content is laid out properly, the corresponding icons are showing, etc. In order to best verify this, we need the Mass.gov database; testing on an empty site won’t suffice. The traditional tool for testing a site using an existing database is Behat. So we used Behat for over a year and found it getting more and more awkward. Behat is great for facilitating conversations between business managers and developers. Those are useful conversations, but many organizations are like ours — we don’t write product specs in Gherkin. In fact, we don’t do anything in Gherkin beside Behat.Meanwhile, the test framework inside Drupal core improved a lot in the last couple of years (mea culpa). Before Drupal Test Traits, this framework was impossible to use without wiping the site’s database after each test. DTT lets you keep...
DrupalCon News: How to become a DrupalCon Mentor
The backbone of every DrupalCon is the community of people who come together at the event, and in particular the involvement of community volunteers who collectively influence and shape the experiences of others in attendance. In short, Mentors!    
OPTASY: How to Send Richly Formatted HTML Emails in Drupal 8: Deliver the Experiences that Your Customers Expect in 2019
How to Send Richly Formatted HTML Emails in Drupal 8: Deliver the Experiences that Your Customers Expect in 2019 adriana.cacoveanu Wed, 02/06/2019 - 12:07 API first, responsive Bartik, headless and decoupled Drupal, Layout Builder, React admin UI... Drupal's evolved tremendously over these 18 years! Yet: the emails that we send out via its otherwise robust email sending system aren't different from those we used to send a... decade ago. And customers expect rich experiences outside your Drupal website or app. While website administrators expect to be enabled to easily manage, via the admin UI, their email content templates. So: how do you send HTML emails in Drupal 8? Without relying on external services, of course... And who could blame customers for expecting 2019-specific user experiences? Experiences that HTML-enabled emails deliver through their great features.
ThinkShout: Fear and Loathing in Support Development
Consider the following exchange: Project Manager: “Hey Joe, next week we’d like you to add some new features to [client site].” Me: “Sure thing! Where is it hosted?” PM: “Ah, well… we’re not really sure. We’ve asked the client. The thing is, they haven’t been able to do any work on the site for the last couple of years, because someone built the site for them and then launched it without documentation, and with no support.” Me: *Stunned Look* PM: “Also, they don’t use any version control. So updates will have to be done via FTP.” Me, reeling: “I… I don’t even think I have an FTP client on my computer.” PM: “We believe in you.” This is a worst-case support development scenario, one likely to bring with it uncertainty and fear. However, with a methodical approach, even the worst case can be turned to your advantage. Getting started: Docs and detective work. The very first thing to do when you have a new support project is to find the site documentation, or failing that, create a place for new docs. You are in the best position to document the site, because you don’t have any preconceived ideas about what to do - so document everything. Future engineers (and future you) will thank you. Starting with the site and its hosting, you can reverse-engineer pretty much anything. You can even reverse-engineer the hosting if you need to, using Robtex! (Find the host, and ask...
Commerce Guys: Eliminating barriers to Drupal Commerce growth
At the end of 2018, Dries Buytaert, creator of Drupal, asked folks involved with the project to share their thoughts on what's "holding Drupal back." His prompt came on the heels of two great blog posts related to his company Acquia's growth strategy and lessons he's learned and applied from Amazon's growth strategy. I didn’t beat his third post on overcoming Drupal’s obstacles to the punch, but the series did prompt me to think long and hard about the barriers we face as maintainers and leaders of the Commerce project within the Drupal ecosystem. For the entirety of our existence, Commerce Guys has focused on building and promoting Drupal as an eCommerce platform, first through Ubercart and then Drupal Commerce. While eCommerce is a huge industry, our reach within the community has only averaged around 5% of all Drupal sites. Given the diverse and varied types of users Drupal serves, I consider this relatively low number unsurprising. (A certain percentage will also choose to integrate third party shopping cart systems, but historically that’s always been a fraction of the number of Drupal sites using our native solutions.) It’s tempting to be fatalistic about Drupal Commerce’s growth and accept that our growth rate will be pegged to Drupal’s own growth rate so long as our relative percentage holds. It actually is an important baseline to acknowledge - our success is tied to...
Jacob Rockowitz: Webform 8.x-5.x stable release plan
Looking backThree years ago on Christmas day, I tagged the first alpha of the YAML Form module, which became the Webform module for Drupal 8. Looking back, it has been a great learning experience building and maintaining the Webform module. Looking forward, I want to make sure the Webform module is as stable as possible while still trying to smooth out any rough edges around accessibility and user experience. Everyone should feel that the Webform module is a stable, supported, and maintained part of Drupal's ecosystem of contributed modules. To help organizations and individuals understand what to expect from a stable release of the Webform module, it’s worth defining some general goals.Setting goalsThe goals of this blog post and the overall stability of the Webform module are to…Define the ongoing stable release cycle.Document what to expect from stable releases.Encourage the growth of Webform add-ons and integrations.Tagging releasesFor the past three years, I've been tagging a new release at the beginning of each month. Frequently monthly releases were quickly followed up with a hotfix release to address unexpected regressions. Regressions happen because the Webform module is a feature-rich application with maybe not enough test coverage and definitely not enough eyeballs reviewing the code. Quality assurance is a challenge for open source projects; reviewing code for free...
ComputerMinds.co.uk: A/B Testing with ABJS module
ABJS is a contrib Drupal module, and, without any requirements or ties to paid services, is as low cost as you can get. As we’ll see, it’s pretty basic but it really lets you get down to building your own understanding of how A/B testing works. The beauty of ABJS is in its simplicity. The settings pages are fairly self-explanatory, which is really helpful. Let’s set up a basic A/B test to show how things work. Setting up our first experience In our test, we’re going to split the site 50:50 in order to test an alternate homepage design. Go to /admin/config/user-interface/abjs and get a feel for things. See the tabs across the top? The best way to set up a new test is to work backwards. That’s because your Tests will need to reference your Conditions and Experiences - and you’ll need to create them before you can use them. First up, create an Experience. Experiences make the actual A’s and B’s of your A/B tests. Go to the Experiences tab. Give your experience a very clear and helpful name. Our first one will be our normal homepage experience. Making a ‘normal’ experience allows us to explicitly log our page views for our analytics. The Javascript we set up for our site looks like this: if (typeof(ga) !== "undefined") { ga('set', 'dimension1', 'normal'); } window.Drupal = window.Drupal || { 'settings': {}, 'behaviors': {}, 'locale': {} }; window.Drupal.behaviors.abtesting...
CTI Digital: How do you start contributing to Drupal without code?
Outlets for contributing to Drupal beyond code, whilst abundant, are not always evident to those having interest to do so. I want to help people become better acquainted with ways to get involved and how to start their contribution journey. Be they completely new to Drupal or simply yet to find an outlet.
Agiledrop.com Blog: Top Drupal blog posts from January 2019
Just like every month, we’ve prepared a selection of the most interesting and engaging Drupal-related blog posts from the previous month. Check out January’s list and make sure you haven’t missed any! READ MORE
Pulling the plug on Facebook
© Andrei Lacatusu Exactly one year ago, I decided to use social media less and blog more. I uninstalled the Facebook application from my phone, but kept my Facebook account for the time being. The result is that I went from checking Facebook several times a day to once or twice a month. Facebook can't be trusted At the time I uninstalled the Facebook application from my phone, Mark Zuckerberg promised that he would fix Facebook. He didn't. The remainder of 2018 was filled with Facebook scandals, including continued mishandling of personal data and privacy breaches, more misinformation, and a multitude of shady business practices. Things got worse, not better. The icing on the cake is that a few weeks ago we learned that Facebook knowingly duped children and their parents out of money, in some cases hundreds or even thousands of dollars, and often refused to give the money back. And just last week, it was reported that Facebook had been collecting users' data by getting people to install a mobile application that gave Facebook root access to their network traffic. It's clear that Facebook can't be trusted. And for that reason, I'm out. I deleted my Facebook account twenty minutes ago. Social media's dark side Social media, in general, have been enablers of community, transparency and positive change, but also of abuse, hate speech, bullying, misinformation,...

Total Twitter Followers
Tweets Impressions Monthly
Facebook Followers
Total YouTube Views

27,6K
187,7K
1,416
381,7K

Alexa Global Rank
Alexa Rank in United States
Unique Visitors Last 28 Days
Pageviews Last 28 Days

309,1K
95,224
23,283
69,066

External Backlinks
Keywords Tracked
Keywords Analyzed
Updated

11,837
4,082
21,345
12 Feb 2019