This page is the demo, the results for the Add an Anchor Menu/Table of Contents to Drupal 7 blog post.

The List

The Results

Lego Uncle Jim Votes!

Styling Views Exposed Filters Selects in Drupal 8

Styling the HTML <select> tag to appear similar in all the different browsers is a task unto itself.  It seems on each new site , I find myself back visiting this post by Ivor Reić for a CSS only solution.  My task for today is to use this idea to theme an exposed filter on a view.

The first thing we need to do is add a div around the select.  We can do this by editing the select's twig template from Drupal 8 core's stable theme.  Copy the file from

Lego Uncle Jim in Downtown Chicago

Making a multi-column content section with Drupal Paragraphs and Bootstrap

The Drupal Paragraphs module allows developers to created chunks of content, allowing admins to have more defined control than they would have in a normal WYSIWYG.  In this post, I will explain how to create a single paragraph bundle that can be used to display a 2, 3, 4, or 6 column layout.  In each of these columns, we will be able to use any Paragraph bundles that we define. 

Lego Uncle Jim in the cabana

Holistic SEO and Drupal

The Introduction - What is Holistic SEO?

Holistic SEO is a term used to describe development in which content, marketing, technical best practices, performance, security, user experience and user intent come together to create an ideal URL on the internet, about a certain topic.

MidCamp 2016

Midcamp 2016 Recap - Where the Drupal community comes together!

MidCamp 2016, the Midwest Drupal Camp was a roaring success.  We had 36 Sessions and 1 keynote were spread across the University of Illinois at Chicago's Student Center West.  All of the sessions were successfully recorded by our amazing AV team and shared within hours on the Midcamp YouTube channel.  Our sponsor tables were busy; our Birds of a Feather discussions were many; and our socials were social!

Lego Uncle Jim at the Beach

Drupal Podcast Guide

Updated: April 11th, 2016.  While I read a lot, as much as I can about Drupal and Web Development, I feel like I learn even more when I listen. So, while driving to work, or while working out on the treadmill, I listen as much as I can to the great folks below that dedicate their time every week to discussing, training, interviewing, and spreading their knowledge.

Here is a big list of Podcasts about Drupal that you can subscribe and listen to at your convenience.

Lego Uncle Jim at the Car Wash

Bootstrap Navbar in Drupal 8 with 4 easy template changes

I am teaching myself Drupal 8 theming. Rather than starting with a contrib theme, I am starting with an empty folder, using core's Stable theme as my base theme. This is a great way to learn to the ins and outs of the new Drupal theming system, and getting it to conform to your wishes.

For a few years now, I have successfully used the Bootstrap framework in my personal and professional projects. This article will explain how I implement the Bootstrap Navbar in a way that is far simpler in Drupal 8 than it was in Drupal 7.

Lego Uncle Jim at the Ballgame

Manage Drupal 7 Configurations using Features built with Features Builder

Most of us have been using the Features module for configuration management in Drupal 7 for years now.  This is not what the module was originally intended for, but it has allowed us to move variables and configurations that were kept in the database into code, so they can be transferred from development to staging and production sites.

Marina City, Chicago

Submit your sessions for Midcamp 2016 - Midwest Drupal Camp in Chicago

MidCamp is returning to Chicago, Illinois on March 17th through the 20th, 2016.  We will be returning to the University of Illinois at Chicago, this time, on the west side of the campus.  MidCamp is looking for people to speak to our Drupal audience! Experienced speakers are always welcome, but our camp is also a great place to start for first-time speakers. 

Lego Uncle Jim in Iowa

Cleaning up your local Drupal installations for the New Year

If you're like me, your development and staging servers get larger and larger as time moves on.  The end of the year break is the perfect time to get organized, archive projects that are no longer needed, and set up some settings configurations that will help keep next year under control.  

Clean up Backup and Migrate Backups

In Drupal 7, Backup and Migrate has some great drush commands that I never knew existed until recently. These commands can help you quickly make a backup, and/or inventory the backups you have on your system.

Lego Uncle Jim and Dom

Changing the Order of Drupal 7 Media Module File Browser Tabs

I am working on a site where the client requested that the Library tab be the first tab in the Media module's File browser pop up.  While this is a seemingly simple request, it is one that I have never run into.

Lego Uncle Jim Scores

In search of the most optimized image in Drupal 7

I have been on a performance kick lately, trying to optimize the delivery of caching and delivery of pages to users from Drupal.  It seems like the biggest piece of every site I work on are the images.  While Drupal Image styles allow us to create the exact size we want, I was looking for a way to better optimize the image size, make progressive jpegs, and keep the rendered images looking as close to the original as possible.

My go-to tools for performance testing the output of any site are:

Lego Uncle Jim at the Billy Goat

No more View pages

Views has long been one of the magic pieces that makes Drupal my CMS of choice.  Views allows us to easily create queries of content in the UI, giving great power to the site builder. 

When you first create a view, the default, obvious choice is to create a "Page" display of the view.  A Page has a URL that people can visit to see the information, and gets us as site builders closer to job done.  However, I don't want you to do it!

Lego Uncle Jim and the Drupal Drop

Add an Anchor Menu/Table of Contents to Drupal 7

Back in the olden times of the internet, we had really long static HTML pages.  In order to make the page more organized, we would make a table of contents at the top, linked to the content below using anchor tags.  You can still see this today in today's web.  A good example is the W3's HTML5 Specification.

Lego Uncle Jim at the Pool Waterfall

Login Destination: Sending us where we need to go!

Rare is the site where the user who logs in, and needs to end up on their User page.  This is the default behavior of Drupal.  It makes sense if you are making a community or social media type website.  But for most of us, building publishing, marketing, and general business sites, we want to send our users to a specific place so they can start or continue their workflow.

Lego Uncle Jim in the Pool

Drupal 7 Panels: Page Manager User Pages

By default, Page Manager has the User Profile Page (/user/user-id) and the User Edit Page (/user/user-id/edit), but there are a few user pages that are missing, most obvious will be the login page.

The Drupal User Pages module is a simple module that is not that commonly used that adds in the important missing pieces by adding these four options to Page Manager:

Lego Uncle Jim at the Marsh

Using Fences and Page Manager to optimize HTML markup in Drupal 7

I have been searching for a way to make Drupal output cleaner, lighter, more semantic HTML since I started theming.  We all know Drupal core, and it's many contrib modules have a tendency to inject a couple-two-tree divs in 'dere.  I have tried many different ways, much to the chagrin of the developers I have worked with, most of them probably not worth the effort I put in.  That is until now!

Lego Uncle Jim at the Cape

Googlebot cannot access CSS and JS on your Drupal site

There was a time when search engine bots would come to your site, index the words on the page, and continue on.  Those days are long past.  Earlier this year, we witnessed Google's ability to determine if our sites were mobile or not.  Now, the evolution of the Googlebot continues.

I would say that it was not uncommon for web developers to receive at least a few emails from Google Search Console today.

Lego Uncle Jim at the pool

Clean Up Google Docs' HTML Programmatically

We are often tasked with entering content into the CMS' we build for our clients.  Cleaning up the HTML of those documents is always a chore, no matter who puts them together.  I figured out that I spend most of my time stripping out what Microsoft Word, OpenOffice, and Google Docs put in there.  My desire is to have simple HTML, that will pick up the styling of my Drupal or Wordpress theme.

Lego Uncle Jim in the bushes

Essential Drupal: Stage File Proxy

We can easily checkout code from our git repositories for our local, development, and staging servers.  We can get a database from the live site through Backup and Migrate, drush, or a number of other ways.  But getting the files of the site, the images, pdfs, and everything else in /sites/default/files is not on the top of the list of most developers.  In recent versions of Backup and Migrate, you can export the files, but often times, this can be a huge archive file.  There is an easier way.

Lego Uncle Jim on the Bloomingdale Trail

Using CKFinder to organize image uploads by Content type in Drupal 7

As you may have noticed, /sites/default/files can quickly become a pretty busy place in your Drupal installation.  When creating image or file fields, we can add folders in the Drupal UI to organize the uploads.  But when we allow users to upload using the CKEditor WYSIWYG Editor, we have to work a bit harder to organize those uploads.

Lego Uncle Jim at the Ancient Waterfall

Essential Drupal: The Style Guide Module

Site builders and front end themers rejoice at the greatness of the Drupal Style Guide module.  This module creates a page on your Drupal 6 or Drupal 7 site, displaying all the common html elements, and how your theme displays them.  It is a fantastic tool to work with your designer and client to show them the applied styles of your theme, and great for the themer to make sure you hit all the elements.

Lego Uncle Jim Wins at Poker

Drupal 7 Panels: Page Manager Existing Pages

I plan on doing a more in depth article on how I've been using Panels instead of templates or contexts for laying out this Drupal 7 site, but I feel like I still have more to learn.  Until then, I wanted to share what I found to be a missing piece of the puzzle, Page Manager Existing Pages.

Lego Uncle Jim at the Pool Bar

Using Drupal's Environment Indicator to help visually manage Dev, Stage, and Production Servers

There are days that I work on half a dozen different websites.  I'm sure some of you are in the same boat.  We make client edits and change requests with rapid efficiency.  We work locally, push to staging, test and review, then push to the live server and repeat.  I would be remiss in saying that I never made a change on the live or staging site accidentally.

Lego Uncle Jim at the Green Mill Cocktail Lounge

Dude, Where are my Templates? Using the Drupal 7 Theme Developer to find the way.

The first line of the description of the Drupal Theme Developer Module says that it is "Firebug for Drupal themeing".  I couldn't agree more.  This is the ultimate tool when you need to find out which theme hook, or which template file to modify based on your design and layout needs.

It is a finicky module though, it doesn't work with the latest version of one of it's dependencies, simplehtmldom API, and when turned on it can break your layout. 

Lego Uncle Jim googles, yes he does!

Drupal 7: Google Analytics and Google Webmaster Tools Setup

At first, I dismissed the need for yet another module.  I have always added the Google Analytics code straight into a template file in various other CMS and static sites I have been involved in over the years.  Why do I need a module to do that?  Well, you don't, but the Drupal Google Analytics Module does offer a lot more functionality that will make it worth your while.

My Real Name is not Coco Rico

No more usernames! Setting up Drupal 7 for Email Login

Sorry, the user name 'Super Incredibly Good Looking Jim' is already taken...

I don't need another username.  I really don't need another username on a site that I am not going to have a public profile.  There are sites where having a username makes perfect sense, and then there are those that don't.

Lego Uncle Jim in Mexico

Integrating Drupal with Cloudflare

The super smart lead developer at Xeno Media first brought the Cloudflare service to my attention as it was integrated with one of the hosts we were using.  We experimented with a site that was experiencing outages due to traffic spikes it received after sending an email newsletter.  After the switch, the server never went down again, saw considerable speed improvements, and we were able to quadruple the number of emails we could send per hour, with no performance hits.

Lego Uncle Jim and the Swedish Cats

Drupal 7: Organizing with Field Group

The Drupal Field Group module has been on my Essential Drupal list since I first learned about it, and with 200,000 installs, I am certainly not the only one.

Lego Uncle Jim is Global

Essential Drupal: Global Redirect Module

The Global Redirect module ensures that we will have the best possible technical output from Drupal for Search Engine Optimization (SEO).  It is available for Drupal 6 and Drupal 7, and it looks like they have been hard at work building it for Drupal 8.

Lego Uncle Jim on National Boss Day

Drupal 7: Scheduling Posts with Scheduler

The scheduling of posts was the first things I noticed that was missing from Drupal after moving over from Wordpress.  Thanks to the Scheduler Module, we have that functionality back, with more control over what and who can access it.

Coffee

Drupal 7: Offsite Backups with Backup and Migrate

At the time of this writing, just under 300,000 websites use the Drupal Backup and Migrate module.  It is an great tool for moving databases from production back to staging and development servers, and it is an essential tool for automatic backups of the database and files of the production server.

Lego Uncle Jim vs the Acquia Bot

Drupal 7: Simplify

The Drupal Simplify Module is a big help removing cruft from the eyes of the administrator in the Drupal UI.  Simplify allows you to hide certain fields from the user interface on a global basis, or configured for each node type, taxonomy, block, comment, or user.

Mooha in the office

Drupal 7: Importing Tweets into Drupal using the Twitter Module

Why would you want to import tweets into a Drupal site?  For one, I want to own the content I create.  Unlike other social media sites, Twitter allows great access to the content I create on their platform.  Through their API, I can access all of my Tweets and Mentions for archiving and displaying on my own site.

Lego Uncle Jim at the Beach

Drupal 7: Integrating Disqus Comments

When choosing whether or not to have commenting on your site, one of the factors that I always discuss with clients is whether or not the site has a need for logged in users.  If the site has users who log in, Drupal core's commenting system is great and can be tweaked to fit pretty much every need.

If users don't need to have users log in, there are a few solutions for "outsourcing" your comment system

Drupal 7: Hide Sticky and Promote

Drupal 7: Hide Sticky and Promote

Promoted to front page? Don't worry about that, we don't use it.

That was the phrase I heard from a developer on the first site I was tasked to theme. I had asked what the "Promoted to front page" check box on the admin screen of a content type was what put it in the queue on the home page. 

It turns out that most every home page our agency ever built in Drupal had more complex requirements than that sole checkbox allowed for.