From Our Blog

Improve Readability of Web Content With WriteClearly 3.0

Abhijeet Chavan's picture

OpenAdvocate WriteClearly is a web tool that helps authors write more readable website content. WriteClearly analyzes the reading grade level of a web page and offers suggestions for improving readability. WriteClearly is a free “bookmarklet” that runs in your web browser. Simply drag-and-drop the bookmarklet to your browser’s bookmarks bar. Nothing to install or update.

Get WriteClearly at

Redesigning a site as a long-term project

Ki Kim's picture

One of the earliest sites developed by Urban Insight is It still remains one of biggest sites that we actively develop and maintain. When the site was upgraded from Drupal 5 to 7 a few years back we had to plan and implement a full content migration. That is, we built a brand new Drupal 7 site from scratch and migrated all data and settings from the Drupal 5 site.

10 Tips for Great Tech Support

Cindy Bojorquez's picture

Here are some of the tips I’ve developed while providing technical support.

GuideClearly: Add Interactive Guides To Your Website

Abhijeet Chavan's picture

How to add an interactive guide to your website without writing any code.

Best Practice Benchmarking For Legal Services Websites 2016

Abhijeet Chavan's picture

Nearly half of traffic to legal services websites comes from mobile devices.

Encrypting Sensitive Data in Drupal Node Fields

Gergely Lekli's picture

We needed to implement a method for content editors to encrypt some parts of the nodes' content.

A beginner's guide to Angular.js

Jill Lasak's picture

I'll introduce some concepts important to understanding Angular.js to help you get started.

Three Things to Ask When Reviewing Wireframes

Paris Hyun's picture

Advice for reviewing wireframes in preparation for a website redesign.

Basic Technical Tips for Developing Your First eBook

Everson Verissimo's picture

Here are some tips I wish I knew before getting started publishing ebooks.


About Urban Insight

We create elegant, mobile-friendly websites.

We solve complex problems using Drupal and open source software.

Learn More


Via foreach loop, it applies to mult-valued image field. In this example, it works with field_image.

* Implements hook_field_widget_form_alter().
function example_field_widget_form_alter(&$element, &$form_state, $context) {
  if ($element['#field_name'] == 'field_image') {
    foreach (element_children($element) as $delta) {
      $element[$delta]['#process'][] = 'example_imagefield_widget_process';

function example_imagefield_widget_process($element, &$form_state, $form) {
  $element['alt']['#required'] = TRUE;

  return $element;