Configuring CRM Core Match and Matching Engines
CRM Core provides support for identifying duplicate contacts through CRM Core Match. It is designed to allow administrators to control the logical rules through which the system decides whether or not a contact already exists, and pass back consistent information other modules can use to control how records are handled.
Matching Engines and CRM Core Match
CRM Core Match is designed to allow administrators to configure logical matching rules for each contact type in the system. CRM Core Match does not actually do the matching itself; what it does do is process contact information in an orderly way through one or more matching engines.
Matching engines are what actually identify the contacts. CRM Core ships with a module called CRM Core Default Matching Engine, which provides a basic matching engine that is appropriate for most Drupal installations. With it, you can identify duplicate contacts based on the contents of fields in the contact record, by assigning weights to each field and comparing them to a threshold score that indicates when a contact is a match.
Read moreMass Taxonomy Merge
This module is still a Work In Progress! The functionality is rather limited at the moment. I strongly suggest looking at: Taxonomy Manager or Term Merge modules in the mean time.
Overview
Mass Taxonomy Merge is made to be a tool for doing a one-time mass update of taxonomy in a system with large amounts of content. Other modules that exist, while very effective, take considerable amounts of time to run in systems with large amounts of content. Mass Taxonomy Merge allows the user to upload a simple CSV file with a list of terms to merge from and merge in to. Mass Taxonomy Merge module operates on the database itself instead of loading all entities - meaning it is more likely to mess up custom code. Feel free to file feature requests to make it work with other modules.
What it does do
- Create terms
- Merge existing terms
- Delete terms
- Handles child terms (either merging them into the new terms, or deleting if term was deleted)
What it does not (yet) do
- Does not call any hooks, so you can't hook in to it.
- Cannot control the url alias changes if you choose to use it.
Empty Field API 2.x
For specific use-cases, you can define a custom callback to generate dynamic content.
Example One: Hello World
Firstly, implement hook_empty_fields(). This returns an array indexed by the class name that implements the handler.
Note: This differs from version 1.x that used hook_empty_field_callbacks().
<?php
/**
* Implements hook_empty_fields().
*/
function HOOK_empty_fields() {
$items = array(
'HelloWorldEmptyFieldHandler' => array(
'title' => t('Display "Hello World" if empty'),
),
);
return $items;
}
?>Create a new concrete class that extends the abstract class EmptyFieldHandler.
<?php
/**
* @file
* Contains the HelloWorldEmptyFieldHandler plugin for EmptyFieldHandler.
*/
/**
* Defines HelloWorldEmptyFieldHandler class.
*/
class HelloWorldEmptyFieldHandler extends EmptyFieldHandler {
/**
* Implementation of EmptyFieldText::react().
*/
public function react($context) {
return t('Hello World!');
}
/**
* Implementation of EmptyFieldText:summaryText().
*/
public function summaryText() {
return t('Empty Text: "Hello World!"');
}
}
?>Register this class in your modules info file
files[] = plugins/hello_world_empty_field_handler.incEmpty Fields
The Empty fields modules provides a way to show empty fields that would otherwise be hidden.
For example, you could have a list of checkboxes. If none are checked, normally the entire field would be removed from the display. However, with this module you could display something like "Status unknown", "Nothing selected" or "This user failed their IQ test" when the field was empty.
Optimizing Drupal on Rackspace Cloud Sites
With any shared hosting, there are trade offs that need to be made. Some shared hosts limit the amount of resources you can have while others are a little more flexible. Fortunately for us, Cloud Sites is one of the flexible ones. Cloud Sites has boosting capabilities, DDoS protection, and a bunch of other cool things that make sites secure and run as smoothly as possible.
Planning
When installing any CMS software, this simple reality is easily forgotten. Like a kid with a new toy, many people install Drupal -- really install Drupal and about 90,000 contributed modules they don't need. Sure, the functionality sounds great, but do you absolutely need it? In most cases, probably not.
Updates
Another thing that tends to get a reasonably low status is maintenance. Every software package requires updates from time to time and you shouldn't let your Drupal installation fall behind.
Boost
SysLog vs. Database Logging
DB Module
Mod_Deflate
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript
Fast 404
CDN
Memcache
Whoa, memcache on a shared system?! One of the most powerful things Cloud Sites can do is access remote servers and resources
insert inline images using wysiwyg and ckeditor
The Picture module allows you to use picture groups created with inline image inserted in body field with WYSIWYG or CKEditor modules.
Configuration
Picture settings
Navigate to Picture settings (admin/config/media/picture/ckeditor) and enable the picture groups wich will be available in the ckeditor (the library) image dialog box.
You can set for each group his weight (in the select list) and the fallback image style
Filter Text format
Navigate to the text format (admin/config/content/formats/full_html for the Full HTML Format) on wich you want use picture module and enable the filter Make images responsive with the picture module.
You have to move Make images responsive with the picture module below Convert line breaks into HTML (i.e. <br> and <p>) if it is enabled, otherwise you'll get empty lines above the picture.
Plugin WYSIWYG
Navigate to the WYSIWYG profiles (admin/config/content/wysiwyg/profile/full_html/edit) and enable the plugin Responsive images with the picture module.
Read more