From Our Blog

What to visit while at the Los Angeles DrupalCon

Mark Etter's picture

So you are planning to visit LA for DrupalCon? Want to sightsee or enjoy local flavors but not sure where to focus your efforts? I polled the team at Urban Insight, and we collected a few of our own favorites that will, hopefully, become some of your favorites as well.

How Do You Collect Comments on a PDF on the Web?

Chris Steins's picture

How do you collect public comments on a web-based PDF? It should be simple. But it isn’t.

Best Practice Benchmarking For Legal Services Websites 2015

Abhijeet Chavan's picture

This best practice benchmarking study of 160 legal services websites was conducted by Urban Insight in December 2014. The results were presented on January 16th, 2015, at the Legal Services Corporation 2015 Technology Initiative Grants Conference in San Antonio, TX.

Permanent URL for latest version of this report is

Web Fonts and CDNs

Ron Golan's picture

We recently ran into an issue with web fonts disappearing from the font stack after switching a site over to use Amazon Cloudfront CDN.

With the Drupal CDN module set to 'Disabled', the fonts would appear as expected but when served from the CDN, the browser would fallback to the next font in the stack. The Net inspector showed the fonts were actually being downloaded from the CDN but just didn't appear. This was the case in recent versions of Firefox, Chrome and IE. Safari displayed the font properly.

"Plain Language" Web Authoring Tool Launched by Urban Insight

Chris Steins's picture

WriteClearly is a new and free web tool that helps authors to write more effective web content. Developed by OpenAdvocate, a leading platform for public information websites, WriteClearly makes it easy to analyze reading grade level of a web page and get suggestions for improving readability of web content.

Tracking progress in embedded Vimeo videos

Gergely Lekli's picture

Urban Insight operates a highly successful on-demand video service, Planetizen Courses. The service keeps improving rapidly; it’s not uncommon for new features to appear on the site. One recent enhancement allows the system to keep track of progression in videos as they are being watched.

This enhancement allows for two new features:

Semi Native LAMP Stack on OS X

Ki Kim's picture

One of the most popular LAMP stacks on Mac OS X platform, MAMP is a "one click" package solution for web developers to quickly set up website development environment. It provides convenient buttons to start/stop Apache and MySQL. You can also easily switch between different PHP versions if your web application requires a specific PHP version. Pro version offers even more conveniences such as handling virtual host settings.

Building a Drupal Module for Research Papers in Economics (RePEc)

Everson Verissimo's picture

Working with the USC Lusk Center for Real Estate, we recently had the opportunity to automate how the Center's research papers are submitted to a popular repository of research about economics. This post discusses how we created a software module that others who use the open source Drupal web content management system can reuse and enhance.

Evaluating the Usability of Planetizen Courses: A Case Study

Helen Brown's picture

I recently had the pleasure of conducting a usability evaluation for the Planetizen Courses website, which provides subscription-based online video courses for urban planning professionals to learn about new industry topics and software. This blog post outlines the usability test and some diagrams I used to summarize test observations and recommendations into a concise report.

Setting up Drupal 8 to serve content to your Backbone.js application.

Lehel Matyus's picture

In this quick tutorial I will show you how to set up a simple RESTful Web Service in Drupal 8 to serve articles to your Backbone.js application using Drupal views. Setting up a Drupal 8 website as a web service for Backbone .js is easier than you think since all the modules you need are already in Drupal 8 core.


About Urban Insight

We create elegant, mobile-friendly websites.

We solve complex problems using Drupal and open source software.

Learn More


If you don't want to save strings in clear text, there are new php functions (php >= 5.3.0) that can be of help; openssl_encrypt() and openssl_decrypt().

= "This is a readable string."
$password = "<a href="mailto:p@ssword">[email protected]</a>";
$method = "aes-256-cbc";
$encrypted = openssl_encrypt($string, $method, $password);
"$string => $encrypted";
// Outputs: This is a readable string. => OeOiTWcgIPC1xIZaDJ3XTEaY/D4m1sQmxgPbzjxxlRA=
$decrypted = openssl_decrypt($encrypted, $method, $password);
"$encrypted => $decrypted";
// Outputs: OeOiTWcgIPC1xIZaDJ3XTEaY/D4m1sQmxgPbzjxxlRA= => This is a readable string.

According to, these are possible values for encryption methods.

aes-128-cbc, aes-128-cfb, aes-128-cfb1, aes-128-cfb8, aes-128-ecb, aes-128-ofb, aes-192-cbc, aes-192-cfb, aes-192-cfb1, aes-192-cfb8, aes-192-ecb, aes-192-ofb, aes-256-cbc, aes-256-cfb, aes-256-cfb1, aes-256-cfb8, aes-256-ecb, aes-256-ofb, bf-cbc, bf-cfb, bf-ecb, bf-ofb, camellia-128-cbc, camellia-128-cfb, camellia-128-cfb1, camellia-128-cfb8, camellia-128-ecb, camellia-128-ofb, camellia-192-cbc, camellia-192-cfb, camellia-192-cfb1, camellia-192-cfb8, camellia-192-ecb, camellia-192-ofb, camellia-256-cbc, camellia-256-cfb, camellia-256-cfb1, camellia-256-cfb8, camellia-256-ecb, camellia-256-ofb, cast5-cbc, cast5-cfb, cast5-ecb, cast5-ofb, des-cbc, des-cfb, des-cfb1, des-cfb8, des-ecb, des-ede, des-ede-cbc, des-ede-cfb, des-ede-ofb, des-ede3, des-ede3-cbc, des-ede3-cfb, des-ede3-cfb1, des-ede3-cfb8, des-ede3-ofb, des-ofb, desx-cbc, rc2-40-cbc, rc2-64-cbc, rc2-cbc, rc2-cfb, rc2-ecb, rc2-ofb, rc4, rc4-40, seed-cbc, seed-cfb, seed-ecb, seed-ofb

If you don't know what to choose, try "aes-256-cbc". AES is said to be used by U.S. government.

For alternatives that can be used in older PHP versions, check out,

Don't use two-way encryptions on passwords. They should be encrypted with one-way hash functions.