





















































(For more resources related to this topic, see here.)
CiviCRM administration screens take up a lot of browser real estate. How CiviCRM looks is determined by what themes you are using in your CMS. Problems arise when you use your main website theme to display CiviCRM pages. All the customizations, blocks of information, and layouts suddenly get in the way when you want to administer CiviCRM. The trick is to use a different theme for CiviCRM.
This is very easy to accomplish, and just uses a configuration screen in Drupal.
Drupal uses the page URL to check if you are administering CiviCRM. If you are, the pages are displayed using the CiviCRM administration theme.
It's a good idea to select a flexible-width theme with sidebars. Garland is a good example. The flexible width accommodates CiviCRM displays nicely.
Once the administration theme is selected, navigate to admin/structure/blocks. Here you will see various blocks provided by the CiviCRM module. You can now place these blocks within your administrative theme.
Pay special attention to the visibility settings for these blocks, so that they only appear when using CiviCRM.
In Drupal, there is an additional setting that controls which theme is used to display public CiviCRM pages, for example, event sign-up pages.
Cron is a time-based scheduler that is used extensively throughout CiviCRM. For example, you might want to use CiviCRM to send out an e-mail newsletter at a particular time, or you might want to send out a reminder to participants to attend an event. CiviCRM has settings to accomplish all these tasks, but these, in turn, rely on having "master" cron set up. Cron is set up on your web server, not within CiviCRM.
There are many different ways of setting up cron, depending on your site-hosting setup. In this example, we are using cPanel, a popular control panel that simplifies website administration.
define( 'CIVICRM_SITE_KEY',
'7409e83819379dc5646783f34f9753d9' );
Make a note of this key.
<?php
// create a new cURL resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL,
"http://myDrupalsite.com/sites/all/modules/civicrm/bin/
cron.php?name=admin&pass=adminpassword&key
=01504c43af550a317f3c6495c2442ab7");
curl_setopt($ch, CURLOPT_HEADER, 0);
// grab URL and pass it to the browser
curl_exec($ch);
curl_close($ch);
?>
php /home/site_account_name/public_html/CiviCron.php
The portion after php is the absolute path to the CiviCron.php file you created in step 4.
All cron does is execute the URL that is constructed in the cron file.
The following piece of code does the work:
curl_setopt($ch, CURLOPT_URL,
"http://myDrupalsite.com/sites/all/modules/civicrm/bin/
cron.php?name=admin&pass=adminpassword&key=
01504c43af550a317f3c6495c2442ab7");
The URL contains the information on permissions (the username, the password, and the site key) to execute the cron.php file provided by the CiviCRM module.
Getting cron to work is critical to getting CiviCRM working properly. If you get into difficulties with it, the best solution is to contact your hosting company and seek guidance.
To test that your cron job is actually working, carry out the following instructions. In the cPanel cron screen, set it to send you an e-mail each time the cron command is run. The e-mail will contain an error message if the cron fails. Failures are generally due to an incorrect setting of the path, or a permissions problem with the username, password, or site key.
As you begin to use CiviCRM, you will want to provide administrative shortcuts. You can do this by adding custom menu blocks within your CMS or editing the navigation menu in CiviCRM.
CiviCRM has a fully customizable navigation menu. You can edit this menu to get one-click access to the features you use most.
civicrm/group/search?reset=1&force=1&context=smog&gid=2
CiviCRM stores new menu items, and displays them according to where they are placed in the menu tree and what permissions a user may have to use them.
By default, CiviCRM sets the auto-refresh period for the home page dashboard to 1 hour. In a busy setting, this is too long, and you constantly have to click on the Refresh Dashboard data button to get the information on the dashboard up to date.
Changing the setting is simply a matter of visiting the CiviCRM administration pages:
By default, CiviCRM displays a lot of data on the contact summary screen. Sometimes, this can lead to a cluttered display that is hard to use and slow to load.
CiviCRM components can add to the clutter on the screen. Here we can disable unwanted components and then fine-tune the display of other elements in the contact summary screen.
This is useful for fine-tuning your website. For example, you could replace US spelling with UK spelling (thus avoiding installing the UK language translation). Or you might want to change the wording on parts of a standard form without having to make a custom template.
The words—or sentences—that we want to replace are called strings. In CiviCRM, we can enter the strings we don't want, and replace them with strings we do want.
In this example, I am replacing the US spelling of "Organization" with the UK version, "Organisation".
Geocoding allows you to do location-based searching and to display the maps of contacts.
You need to set a mapping provider—that is a service that will provide you with the visual maps—and a geocoding provider, which will translate your contact addresses into latitude and longitude coordinates.
Geocoding Provider finds latitude and longitude coordinates for each contact address. Mapping Provider uses this information to draw a local map, with a pointer for the contact. Geocode and Parse Addresses do the geocoding work each day, though you can change this in the settings.
Google currently limits geocoding requests to 2,500 per 24 hours. So, if you exceed this limit, Google may not process requests; it may even restrict access to their geocoding service should you continue to break this limit. This is a problem when you have thousands of addresses to process—for example, after a big import of address data.
CiviCRM does not have a tool to place a daily limit on the number of contacts that are processed each day. But you can put parameters into the Geocode and Parse Addresses scheduled job that provide a range of contact IDs to process. You would have to change this each day to work your way though all your contacts.
start= 1
end=2500
1 would be the ID of your first contact. If you have access to your database tables, check the database table civicrm_contact to know what the first value for your contacts is.