Drupal

Drupal Architecture: Using File Entity, Wysiwyg, and View Modes to Build Rich Media Experiences

Danny Englander suggests Drupal programmers should use view modes more:

I'm a big fan of Drupal's view modes. View modes are simply a way of defining what gets displayed on a given page within certain contexts such as a teaser, homepage, or view. Drupal comes with a few default view modes, but you can also build and theme your own. These serve as a means to build landing pages and complex layouts that pull in various blocks, nodes, entity references, views, and more.

View modes are great to work with from a theming standpoint, as you can have a very minimalist codebase. I do like Panels and Panelizer for architecting complex pages and wrote about it here a while back. Panels and Panelizer have certain uses that are good, but custom view modes seem to accomplish similar tasks with less overhead while sometimes being more maintainable.

5 Tips for a Responsive Website

Anthony Lindsay has tips to build responsive Drupal web site:

1. Think about interactions.

A web site is not a static image. The designers of a website need to plan for how a user interacts with an application, but also for how a site interacts with the device. How should the various elements on the page sit on a portrait iPad? What about a monstrous home-cinema screen? Should they be stacked, or sit side-by-side? What should be displayed on a phone? They need to think through tasks and workflows and how the site works. How will the user perform tasks? Where will they be doing it? Does the action button need to be sized for and accessible to a thumb?

2. Optimize images

Fluid images are great, but downloading huge images on mobile sucks. A fluid image carries the same byte-size (i.e. the same amount of data has to be downloaded) whether presented on a tiny phone or a huge monitor.

And three more tips, all very useful for a checklist when building a responsive site.

Video: Better Content Formatting Using CK Editor, Bootstrap & Drupal

Brent Bice has a useful video post on how to improve content formatting on Drupal. As we all know, out of the box, that's not impressive:

We've modified CK Editor to make it much more user friendly for those of you working with content on a daily or weekly basis:

It includes several pre-configured, Bootstrap features that can easily be mixed and matched to create an infinite number of page layouts.

The 5 best modules to eliminate spam on a Drupal website

Mark Conroy discusses five modules you can use to fight spam: Captcha, Re-captcha, Mollom, Honeypot and Simple Anti-spam.

Using Drupal, there are a number of approaches to pulling the plug on spam. Let's look at them.

Understanding JavaScript behaviors in Drupal

Juan Pablo Novillo Requena has an introduction to how to write Javascript with Drupal, i.e. how to use behaviors in Drupal:

I can barely remember the first time I added JavaScript to a Drupal page using a custom module. I'm sure looked at the documentation, took the example snippet, tweaked it, tested it, and moved on to something else. It was only later, using a debugger, that I saw how Drupal's "behavior" system worked and realized that my code was not being executed as I expected.

In this article, we'll cover the key facts about Drupal behaviors, then look at a real Drupal project to inspect its behaviors and optimize them.

A First Look at the Backdrop CMS

Not everyone is happy with the direction Drupal 8 has taken. Backdrop is a continuation of the Drupal 7 code base and style. Ethan Teague has a good introduction:

On its philosophy: the first and most defining tenet of which is to serve small businesses, non-profits, schools or just any organization that doesn't have a big budget. By continuing to use most of the now familiar D7 API, Backdrop lets devs work with and extend what they already know, thereby lessening the talent pool strain which in turn leads to more affordable web development solutions.

A second tenet of the Backdrop philosophy is that it should be easy to use. Site builders who don't have coding experience should be able to use it without a lot of ramp up time.

And the article continues with a good list of differences and advantages of Backdrop over D7.

What Drupal developer are you?

Blair Wadman writes about the Drupal universe: what different roles are there when developing Drupal websites? Blair distinguishes between 3 main classes: site builder, themer, and module developer:

As the Drupal market continues to rock and roll, more and more clients need "Drupal Developers". But what exactly is a Drupal Developer? A Drupal Developer is someone who knows Drupal right? Right?!

There always has been some confusion around job titles and skills in the Drupal world. This is especially true with some recruiters and even managers and clients that are hiring. In effect, there are three main areas of expertise in the Drupal world: site building, backend/module development and theming. The skills required for each are quite different.

Rendering Drupal 7 fields (the right way)

A very useful article pointing out how to render fields properly in Drupal 7:

The short answer: Use field_view_field()!

Drupal 7 brought us Entities, and with them the powerful Field API for 'storing, loading, editing, and rendering field data.' attached to them. If you're managing everything through 'manage fields' and 'manage display' tabs of your content type, then every part of that process is rather wonderfully taken care of for you.

We often, however, come across the need to render a field outside the context of it's entity. A common example might include rendering a node's author in a sidebar block. Sure, modules like Panels and CCK Blocks will do this for you, but doing it manually is actually not that hard.

If you are a Drupal developer, read it all!

Code that makes Programmers Perform

Tommy Lynge Jorgensen blogs about writing code that make you, and others, perform their job better. Good tips on directory layouts for custom modules, what and how to comment, and much more:

I was recently in contact with a client that had a website which was performing poorly - a pretty standard Drupal 7 website (which somehow took over a year to develop). When the site was eventually delivered, it was so full of bugs that the original development company couldn't (or wouldn't) fix it. The task was clear: make the site run faster (a normal content page would easily take over 10 seconds to load) and fix as many bugs as you can within three days.

Drupal Hooks Introduction

3c web services give an introduction to Drupal hooks, how to create one, and how to find existing ones:

In short, a Drupal Hook is a method that allows you to interact with Drupal data (by hooking it). Drupal Hooks are extremely powerful and are one of the main attractions for many people to Drupal. These hooks allow you to view, change and work with various data at specific points of time in Drupal’s processes. For example, you can change data of a form structure before it’s displayed to the user, or you could modify a Node’s data values before it’s saved to the database.