Tutorials

Anatomy of a Full-Featured, Responsive Slideshow

Published September 1, 2012

How many times do you find yourself building the same bit of functionality on Drupal sites for various clients? Whether it be a photo gallery, multi-user blog, or slideshow, as Drupal site builders, we often find ourselves re-inventing the wheel. Personally, I’ve been asked to build slideshows on many client (and volunteer) sites that I’m involved with. Over the years, I’ve developed a recipe for a powerful and flexible slideshow that often exceeds the needs of all but the most particular clients. I recently added the ability for the slideshow to be responsive, and now seems to be a good time to share what I’ve done. At the end of this post, I’ve provided the slideshow as a Features that you can implement on your sites.

Installing Acquia Commons on Acquia Dev Desktop

Published October 28, 2011

As part of a Drupal workshop that I'm teaching (the Drupal Career Starter Program ), we've been discussing Acquia Commons . Our discussions led us to decide to have a local meetup specifically to learn more about it. Since we expect a number of newbies at the meetup, I figured I post a quick video showing how to get Commons up-and-running using Acquia Dev Desktop . I found it to be a little bit tricky, mainly because the memory requirements for Commons are a bit higher than for core Drupal. The video shows how to tweak a couple of memory setting in the php.ini file. NOTE: If you're using the Windows version of Acquia Dev Desktop, you can ignore the "apc.shm_size" change - it isn't used in Windows!

Interview with Dorien Herremans, Author of "Drupal 6: Ultimate Community Site Guide"

Published November 5, 2010

Drupal 6: Ultimate Community Site Guide (2nd Edition) was published earlier this year by Sun Flare Ltd. . Dorien was kind enough to participate in an interview with DrupalEasy's Mike Anello. Dorien Herremans runs Sun Flare Ltd, an organisation that specializes in Drupal development and consulting. She is a MSc Commercial Engineer in Management Information Services from the University of Antwerp, Belgium. 1. Dorien, please tell us a little bit about your book. The Drupal 6: Ultimate Community Site Guide could be compared to a very long tutorial on how to set up a community site with Drupal 6. Or better yet, sequences of small tutorials, that are integrated. Some of the features that are implemented are profiles, photo galleries, video galleries, forum, walls, private messaging, etc. Throughout the entire book, the reader is guided by the example site drupalfun.com . The implementation of every feature is described in detail, along with example screenshots. In essence, this book takes you by the hand in setting up a full featured community website.

Taxonomy Term Pages on Steroids Using Panels and Views

Published October 27, 2010

Creating a well-organized, content-heavy website is difficult. Creating one that is also sustainable is even trickier. It's easy to keep adding features to a web site without considering how they fit into the overall plan until you get to the point where things start getting out-of-hand and site maintenance starts becoming a real issue (blame Drush for making it so darn easy to add new modules!)

Fast and Safe Module Updates with Drush and SVN

Published August 17, 2010

One of the primary ways of keeping a Drupal site of any size running securely and at peak performance is to ensure that all of its modules stay updated. With thousands of modules in the Drupal eco-system, updates are released literally every day. Luckily, Drupal core's Update Status module helps site administrators keep notified of modules in need of updating. In this article, you'll learn how to use the power of Drush and Apache Subversion (aka "svn"), a revision control tool, to update your site's module quickly and safely. You'll be presented with two methods for solving the problem. The second method is much faster, but comes with a caveat. Read on.

Creating a Directory of Public Features Servers

Published February 12, 2010

In an attempt to point to some of the great things that are available using Features , I tried to look for a directory of Feature Servers . Sadly, Google was not very helpful. After some digging, I was able to locate a page on the OpenAtrium Community site called Distributed Feature Servers . This points to many of the other pages I was able to find via search. Utilmately I created a wiki page on the Packaging & Deployment group of groups.drupal.org, which seems to be one of the hottest places to discuss Features. Directory of Public Features Servers wiki page Currently, there is tons of info about how to create your own Features Server, but not much about where all the publicly available features servers are located. If you know of others, please go edit the wiki page on groups.drupal.org or leave them in the comments here.

Theming Nodereference - or - Reusing Complex Data in Drupal

Published August 1, 2009

This is your moment, you've decided to step up and make a job board for your local Drupal User Group. You spend some time thinking about everything you'll need, including the job listings themselves. You'll want to gather the standard info, like job title and job description, salary, experience, the works. When it comes to gathering company info, your instincts make you take a few extra moments to plan. If you think about this from the perspective of the person posting 6 or 7 jobs, she would end up having to type (or at least copy and paste) the business' contact information each time. If you think about collecting 3 or 4 fields for each business, then that's about 20 extra form fields for the user to fill out. If she then decides to change the info, let's say she made a typo, she now must click through each edit screen 6 or 7 times. That amounts to hundreds of clicks and several hundred repeated keystrokes. There must be a better way. A nodereference can help your users. Once finished, you will have two nodes, one for a job and another for a company, and yet you will still display the information about the company inside the job listing. By the end of this tutorial, you should understand what a nodereference is for, how to create and use one, and finally, how to use template files to theme the output of the nodereference and get the most out of the relationship.

Using Views Relationships, Arguments, and Attachments

Published July 6, 2009

This article is also available in French from KolossalDrupal . There's an incredible amount of functionality that can be provided by the Views module , especially when it is combined with intelligent use of Node Reference fields. When you relate your site's nodes with Node Reference fields, these relationships can be easily leveraged to create some very useful views. I'm going to build a view for a sample music site. In the site, I have 3 related content types for "Band" nodes ("Black Eyed Peas", "Linkin Park", etc...), "Album" nodes ("Back in Black", "Bat Out of Hell", etc...), and "Events" (concerts, television appearances, etc...)

RDF in Drupal: What can I do today? Drupal 6 and the Semantic Web

Published June 18, 2009

In the first three parts of this series, we've looked at what RDF will do for you as both a consumer and a provider of RDF data and we've had a quick primer on what exactly implementing RDF entails. Turning our attention back to Drupal, this article will take a look at the state of RDF in Drupal 6 and some of the available contribued modules. Tomorrow's article will take a look at what the next version of Drupal will offer in terms of RDF. Drupal 6 does not have any RDF functionality in core. If you want to implement anything having to do with RDF in Drupal 6, you'll need to utilize contributed modules. Only a few of the RDF-related contribued modules for Drupal have even had official releases - the majority of them are still somewhere in the development process. While reviewing the existing RDF modules for Drupal 6, I found that I could categorize them into two categories - "Provider Modules" and "Consumer Modules". Those in the former category are designed primarily to help you RDF-ize your site's content. Modules in the "Consumer" category are generally designed to help you consume, use, and display RDF data from various sources. In some cases, there is some overlap, so this categorization is more for convenience than anything else.

RDF in Drupal: Super-Simple Primer

Published June 17, 2009

If you've read the first couple of installments of this series, you should have a pretty good idea of what the "semantic web" is by now. By providing precise meaning to a site's content, applications can take advantage of these machine-readable hints to link data together across sites in a myraid of ways. Before you jump in the deep end of the semantic web pool, there's a few more things you should have a clear understanding of. As I previously defined, RDF stands for Resource Description Framework . This is a family of standards for describing content on the web. The vast majority of current and future Drupal implementations of RDF are actually RDFa ( Resource Description Framework in Attributes ), a set of extensions to XHTML. RDF is normally implemented using XML; while this is possible with Drupal, RDFa allows Drupal to implement RDF as part of the standard content displays.

RDF in Drupal: Benefits to Casual Web Surfers

Published June 16, 2009

Even if you're not ready to implement RDF into your Drupal site, there's still a number of reasons why you should be excited about the Semantic Web. The fact that data will be linked from web site to web site (regardless of the underlying technology running the site) will lead to powerful Semantic Web applications - most of which haven't even been imagined yet. First and foremost, search will be revolutionized. Imagine being able to search for a specific person - not just the person's name. This is a subtle but important distinction. Currently, when you type "Dave Matthews" into your favorite search engine, the results you see are based on the words "Dave" and "Matthews". You'll see results about Dave Matthews, about people with the name "Dave" and/or "Matthews", about the orgin of the words "Dave" and "Matthews", etc... The search engine doesn't know that you're looking for a specific person with the name "Dave Matthews". With the Semantic Web, you'll be able to specify, "find me the person with the name 'Dave Matthews'". You'll even be able to perform "deeper" searches by specifying things like "find me all events having to do with Drupal taking place between now and July". Other than search, the Semantic Web will also provide you with the ability to do stuff with this data. For example, let's say you perform the Drupal events search from the previous paragraph and you're looking at the results. Because the data returned will have meta-data attached to it, future software tools will allow you to click on a returned event, and see if you're available on that date and time. If so, another click will seamlessly add it to your calendar. If you're familiar with Mac OS X , it's like data detectors on steriods. Really good steriods.

RDF in Drupal: What is it and Why Should We Care?

Published June 15, 2009

RDF. Semantic Web. Giant Global Graph. Food for Robots. By now you've probably heard all of these phrases, but relatively few of us have actually done anything with them. For example, I try to follow all the RDF modules on Drupal.org , read all the blog posts regarding Drupal and RDF but I've yet to implement anything having to do with RDF on any of the sites I develop or maintain. Why is this? Am I behind the curve? The answer is two-fold. First, I have yet to have any clients specifically ask for RDF functionality in their web sites. Secondly, I hadn't been convinced that recommending that my clients spend the time and money to implement an RDF solution is a sensible move for them. The reason I decided to research and write this series of articles is to figure out if and why I should recommend implementing RDF functionality to my clients. Prior to performing the research for this series, my knowledge of RDF was limited to water-cooler-conversation type knowledge. Big on bulletpoints, small on details. I was aware that RDF will, in the future, be used by search engines to provide better search results. I was also aware that by "tagging" web site content with RDF would enable a "richer" experience. The one example I would relay to people was a vCard -powered business card embedded on a web page using microformats that allowed the user's computer to do something with the contact information. Amusingly, it turned out that my one RDF example didn't even involve RDF, and that the vCard format was actually called hCard when used as a microformat. I had a lot to learn.