Skip to main content

Blog

EVA and Entity Reference Use Case How-to

This article describes the building of a practical example use case using modern Drupal 7 modules and site building techniques. I will show how to use Views, EVA, Fieldgroup, Entity Reference, Entity Reference Prepopulate, and Display Suite modules to display content from multiple content types and other Drupal Entities on an article content type page. The goal is build a review system for the article content type. Modules Modules used in this how-to. Display Suite Display Suite allows you to take full control over how your content is displayed using ...
Read more

JQuery Modificaiton of CiviCRM Forms via CiviCRM Extensions

Have you ever wanted to modify a CiviCRM contribution or event registration page? Taken a look at those Smarty templates? Doesn't look pretty does it. In the article I describe how to easily add JQuery/javascript to any form you want and modify the page. First, and hardest of all, is create a basic CiviCRM extension. There is a program that will generate a basic extension that integrates with CiviCRM but doesn't yet add functionality. Create an Extension Visit the CiviCRM Wiki page for how to create a base Module Extension ...
Read more

CiviCRM Meetup: Custom APIs and Mapping Tool

We recently arranged another CiviCRM Meetup in Dallas, Texas. We would like to thank Improving Enterprises for continued use of their facility and Skvare for continuing to organize the group. Mark Hanna led the discussion on CiviCRM’s mechanism that allows developers to create their own custom API calls. Developers can provide API calls in programming languages such as PHP, Javascript/Ajax, JSON and more. This is a useful feature in CiviCRM because it allows developers to efficiently pre-configure complex operations. Mark showed the group how to create a custom API call ...
Read more

Managing and Arranging Stacked Blocks

To achieve specified design, you may need to make two blocks overlap. In Drupal, blocks are the spaces that hold the content we have put into them. This gives us the freedom to place them and then style them wherever on the page we need to achieve design. If the blocks are only for visual purposes, then this would be fine; however, if one of the blocks has a button or other hover/clickable functions, then this might be an issue, especially if that block is covered by the other. The ...
Read more

Ongoing Gmail Outage

Due to an ongoing Gmail (and Google Apps) outage email communication to skvare.com may be delayed. Currently up to 50% of Gmail and Google Apps users are being affected over aperiod of several hours. For urgent issues, please call our team directly. Skvare's Drupal and CiviCRM web hosting services continue operating unaffected. It may be prudent to postpone sending out any bulk email via CiviMail or other third-party providers to avoid unexpected bounces or delays of delivery.
Read more

Override existing path with Path Redirect

When rearranging content sections that result in changed URLs, it is very important to remember that users may have bookmarked individual pages and the Google index will be pointing searches to a now defunct address. Several solutions exist, including mod-rewrite instructions in the .htaccess file. This is particularly handy for complex changes or a large number of addresses that need to be changed with a specific pattern. Drupal's Path Redirect provides an integrated solution with several useful options and tools. For example, the ability to view the last time a ...
Read more

Non-existent URLs in Views 2

Views 2 serves pages with for non-existent URLs instead of presenting a 404 Not Found Error. A view with page display path set to blog creates a valid link at example.com/blog. This will show a list of blog posts, with an individual article at example.com/blog/new-article. However, an accidental link to example.com/blog/accidental-link will provide content from example.com/blog instead of the expected 404 Not Found Error, since no valid content exists there. This is a usability as well as SEO issue. Searching discussions on Drupal and Groups.Drupal yielded the right answers. The ...
Read more

Hierarchical site and menu structure

Since Drupal stores all pages in a database, the webmaster is responsible for creating a hierarchical organization of the content. The visitors and search engines then navigate through a logically subdivided site structure. Native Drupal URL for a page is example.com/node/271 or example.com/?q=/node/271. A user- and SEO-friendly URL is website.com/section/article Modules needed: Menu (core) Path (core) Pathauto Token Ensure that Clean URLs (/admin/settings/clean-urls) are enabled. Open the Pathauto admin control panel - Administer > Site configuration > Pathauto Expand the Node path settings pane. Enter [menupath-raw] into the default path ...
Read more

Limit Autosubscribe to Enabled Nodes

Messaging and Notifications are popular Drupal modules that can be used for a website forum to notify original poster of replies, or an administrator of comments posted for a specific content type. When 'Set all users to "autosubscribe" by default' is enabled in admin/messaging/notifications/content, it generates notification subscriptions even for node types that are not enabled. In other words, all nodes created by a user automatically get a new subscription. This may be troublesome, especially when creating new content on the site - at the very least creating numerous useless ...
Read more

Image Protection with jQuery

Once an image is publicly available on the internet, there are many ways to make a local copy of it. There are also a number of ways that try to prevent such unauthorized downloads. Preventing right click / save of the image is most likely the easiest way to protect the casual drive-by image theft. How to incorporate it within a Drupal theme? 5 lines of code. Within the theme directory, create (if it doesn't exist) or edit script.js. This file will be loaded automatically with the rest of the ...
Read more