jReject Module: warn visitor about obsolete browser

CodeKarate has a post about the jReject module:

In this DDoD we look at the jReject module. This module allows you to display a modal popup notifying the user / visitor that their browser is outdated and wont work well with the site. In the video, you will see that jReject comes with a wide variety of customizations to fit your brand and preferences.

Drupal Architecture: Using Custom View Modes and Entity Reference For Building Landing Pages

Danny Englander has a great post about using a custom view mode to create a home page for example. It's a pattern that's not much used, and deserves wider recognition:

In a Drupal 7 context, sometimes we tend to think of the landing page paradigm in terms of using modules like Views, Panels, Panelizer, and Display Suite. These are all very good modules and do a nice job to build such pages. ... In this article, I'll show an alternative way using Entity Reference and Custom view modes

The idea behind this is that we have an online magazine and we want a landing page for each issue. This method can apply to anything really, though it might not fit all use cases. I'm a big fan of this method which I recently discovered and for all its minimalism, it gets you a lot.

Drupal 7 Honeypot Module

CodeKarate put up a video tutorial of using the honeypot module:

In this tutorial you will learn about the Honeypot module. The Honeypot modules is a SPAM prevention module that uses a hidden form field to catch SPAM bots from posting onto your site. This tutorial shows you how to configure the module to work on various forms on your site.

This module is indeed very useful to quickly stop certain spam, so you continue with more relevant work.

Cooking Up Sites With Open Outreach

One of Drupal's great strengths is its productivity. Drupal distributions take that another step as Rosmary Mann reports:

Drupal distributions can be a huge leg up in building a website, especially for those with little technical knowledge. The “ingredients” (modules) you need are already assembled, leaving you with just the task of stirring it up, and perhaps adding your own personalizing flavors. The Open Outreach distribution is specifically designed for nonprofit and grassroots groups. It comes with a wide range of features — bundles of modules and configurations that are geared to the needs of groups, such as contact management or mapping. It also includes a number of helper features, such as a text editor, commenting, and social media handling.

We do not recommend starting with a distribution if you are building a custom website, as it tends to get in the way with updates and enhancements. But definitely use one when you are doing a quick project with not much custom coding.

Finding related content faster with Apache Solr

Juan Pablo Novillo Requena writes on using Apache Solr to speed up a website with performance problems:

We recently fixed a performance issue at the MSNBC project: the More Like This list of content related to the current page was stressing our database servers with slow, complicated MySQL queries. Here is a screenshot of the block in question:


Given the above findings, we started studying the API of the Apache Solr Search module to generate our own Solr query mimicking our current view:

An interesting read on using tools to notify of performance problems, how to debug them, and how to finally solve them.

Getting Started with Sass and Compass in Drupal

Artem Shymko gives an introduction to using sass and compass with Drupal:

Looking to write CSS for your Drupal sites faster and easier, and eliminate common defects? The first step probably involves choosing a CSS preprocessor to make your stylesheets programmable and accelerate the production of code. There are several out there which are widely supported, but the ones we really like to use are SASS and Compass. This article explains how to set up these tools for use within Drupal.

Omega 4.x: setup and comparison

Sophie Shanahan-Kluth writes about setting up Omega 4:

This post serves two purposes: it's partly a comparison between Omega 3 and Omega 4, but it also documents how to create an Omega 4 subtheme and set up Sass for the first time.

Composer: Sharing Wider

Larry Garfield writes on the wider world of PHP:

Drupal has long had a strong collaborative culture. We share modules, we share development tasks on core and modules, and we share infrastructure on Drupal.org. That's a critical part of the health of our community: Sharing is how Open Source works.

The broader PHP world, however, has long sucked at sharing. Every project is its own island; sharing code between projects has been difficult, and managing third party libraries a pain. Just about the only option was PEAR, but unless you had root access on every server you needed, and were running only a single application per server, it wasn't really useful.

That was then, this is now. Enter Composer, a PHP dependency management tool that works. Composer began life in late 2011 in the Symfony community but was deliberately built to be project-agnostic, and today is being used by thousands of projects large and small, including Drupal.

Composer is now indeed widely used in the PHP world, we would say everywhere. Great Drupal 8 can use this too.

Larry continues with how composer works.

Using Mink for web testing

Cameron Zemek from PreviousNext writes about using Mink to test Drupal 7. At Xplain Hosting we're great fans of Behat. Mink is a component of Behat that allows you to test a website using a real browser.

In this post, I'll be taking a look at the Mink layer behind Behat and using it for web scraping and functional testing and what this means for the future of Drupal testing.

PCI Compliance for Ubercart and Drupal Commerce

Rick Manelius wrote a very informative block post about PCI Compliance for Ubercart and Drupal Commerce. An extract of what PCI 3.0 means for Drupal"

Version 3.0 ended the confusion entirely. Now hosted payment pages and direct post solutions fall into a new category (SAQ A-EP), which includes over 139 security controls that cover everything from anti-virus to password policy requirements. What used to be trivial (SAQ A) for most websites to achieve has become very challenging. No longer are shared hosting solutions viable. No longer can a website lag behind on updating Drupal core and contrib modules when security updates are available. No longer is it acceptable to enable php filter, allow authenticated users to use the full HTML filter, or manage a site through a shared FTP login.

Obviously at Xplain Hosting we automatically your Drupal core, taking away one of the issues. But read it all, then read Drupal PCI Compliance White Paper .