Difference between revisions of "CiviCRM"

From Freephile Wiki
Jump to navigation Jump to search
(extract upgrade)
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
<!-- embed a video -->
+
== Meta ==
{{#ev:vimeo|192125770}}
+
For things specific to CiviCRM on WordPress, see the [[CiviCRM/WordPress]] article.
  
== Subpages ==
+
For debugging, specifically in CiviCRM, see the [[CiviCRM/debugging]] article.
There are several articles that delve into the specific aspects of CiviCRM
+
 
{{#subpages:}}
+
Here we'll deal with the general plus Drupal-specific info (I think it's installed more with Drupal)
  
 
== Documentation ==
 
== Documentation ==
Line 36: Line 36:
 
<li>enable the [http://book.civicrm.org/user/current/introduction/components/ components]
 
<li>enable the [http://book.civicrm.org/user/current/introduction/components/ components]
 
<li>check/enable permissions (Drupal)
 
<li>check/enable permissions (Drupal)
<li>disable the headers and footers for mailings (place mandatory tokens in your templates instead)
+
<li>set the headers and footers for mailings
 
<li>set the message template for mailings (note that you'll want to design, and create all assets for your mail [[templates]], and host them)
 
<li>set the message template for mailings (note that you'll want to design, and create all assets for your mail [[templates]], and host them)
 
<li>setup custom fieldsets and data fields.  Before you do this, learn about Option Groups
 
<li>setup custom fieldsets and data fields.  Before you do this, learn about Option Groups
Line 43: Line 43:
 
<li>Option Groups.  There are many things in CiviCRM that are already configured as "Option Groups".  "Website" is one example.  When adding an Organization or Contact, and you want to enter data about their website, it could be one of many types: main, work, personal, facebook, twitter, pinterest, github etc.  These are defined in the option group for "website".  You can modify these to suit your data and your needs.  As another example, "Campaign Type" comes defined as 'Direct Mail', 'Referral Program', and 'Customer Engangement'.  I added 'Marketing' so that I can do a generic (email/web) marketing campaign.
 
<li>Option Groups.  There are many things in CiviCRM that are already configured as "Option Groups".  "Website" is one example.  When adding an Organization or Contact, and you want to enter data about their website, it could be one of many types: main, work, personal, facebook, twitter, pinterest, github etc.  These are defined in the option group for "website".  You can modify these to suit your data and your needs.  As another example, "Campaign Type" comes defined as 'Direct Mail', 'Referral Program', and 'Customer Engangement'.  I added 'Marketing' so that I can do a generic (email/web) marketing campaign.
 
<li>If you plan to use the CiviCase component to manage the common constituent "projects" or "workflows" and their associated timelines, then you'll need to create your own "Case Types". Look at the existing "Case Types" for reference.
 
<li>If you plan to use the CiviCase component to manage the common constituent "projects" or "workflows" and their associated timelines, then you'll need to create your own "Case Types". Look at the existing "Case Types" for reference.
<li>{{@todo}} review [http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs docs] and setup cron to do things like geocoding.  '''Your mail campaigns will not send without cron''' Drupal cron is best managed with drush
+
<li>{{@todo}} review [http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs docs] and setup cron to do things like geocoding.  '''Your mail campaigns will not send without cron'''
<li>Test and set your SPF record for your domain so that you can use Mailer, and review the docs for [http://book.civicrm.org/user/current/advanced-configuration/email-system-configuration/ email system configuration]  I was unable to get CiviCRM to use Google's smtp.gmail.com server, nor relay-smtp.gmail.com, even with an IP address whitelisted.  This is because Digital Ocean is still dropping all outbound SMTP traffic at their firewall (telnet doesn't even connect).  Somehow, if I smarthost it through [[Postfix]] it actually works.  I want to use Google for delivery because using <code>mail()</code> from an IP at Digital Ocean will result in mail being flagged as spam or silently dropped by several major providers (e.g. Yahoo, Microsoft).  Besides, if I'm '''paying''' for GAFYD, then I want to actually '''use''' it!  Google IS pretty well known for their email delivery capability! Ultimately, Google is not a good choice for delivery.  Use a vendor. (See [[CiviCRM/CiviMail]] and [[Email Marketing]]
+
<li>Test and set your SPF record for your domain so that you can use Mailer, and review the docs for [http://book.civicrm.org/user/current/advanced-configuration/email-system-configuration/ email system configuration]  I was unable to get CiviCRM to use Google's smtp.gmail.com server, nor relay-smtp.gmail.com, even with an IP address whitelisted.  This is because Digital Ocean is still dropping all outbound SMTP traffic at their firewall (telnet doesn't even connect).  Somehow, if I smarthost it through [[Postfix]] it actually works.  I want to use Google for delivery because using <code>mail()</code> from an IP at Digital Ocean will result in mail being flagged as spam or silently dropped by several major providers (e.g. Yahoo, Microsoft).  Besides, if I'm '''paying''' for GAFYD, then I want to actually '''use''' it!  Google IS pretty well known for their email delivery capability!
 
<li>Turn on logging in the Administration console, otherwise each record has a changelog, but there is no detail in the log!
 
<li>Turn on logging in the Administration console, otherwise each record has a changelog, but there is no detail in the log!
<li>Synchronize Users to Contacts
 
<li>Create a BOD group, and put each member into the group
 
 
</ol>
 
</ol>
  
Line 55: Line 53:
  
 
== Upgrading ==
 
== Upgrading ==
[[{{PAGENAMEE}}/upgrade]]
+
There is a long guide on [http://wiki.civicrm.org/confluence/display/CRMDOC/Upgrading+CiviCRM+for+Drupal+7 how to upgrade CiviCRM for drupal]  
 
 
== Debugging and the CV command-line ==
 
 
 
If you have your CiviCRM sending errors to the Drupal Watchdog Log (CiviCRM Administer > System Settings > [https://equality-tech.com/civicrm/admin/setting/debug?reset=1 Debugging and Error Handling]), you can simply navigate to it in the Drupal Admin (Reports > [https://equality-tech.com/admin/reports/dblog Recent log messages])
 
  
There are many tools you can use to debug your CiviCRM instance.
+
You should be familiar with all the steps described in the manual, and understand how the particular steps impact/affect your installation. The short version below is known to work with our setup, and with 'routine' upgrades.
One of these is the <code>cv</code> tool [https://github.com/civicrm/cv available on Github].
 
<pre>
 
cv version v0.1.27
 
  
Usage:
+
Here is the short version:
  command [options] [arguments]
+
# backup your database(s) <code>sudo ~/bin/backup.db.sh drupal</code> <code>sudo ~/bin/backup.db.sh civicrm</code> <ref>[[Mysqldump]]</ref>
 +
# download the code <code> wget https://download.civicrm.org/civicrm-4.6.5-drupal.tar.gz</code>
 +
# put site in maintenance mode<code>drush vset maintenance_mode 1</code> (Make sure you are also logged in as Admin)
 +
# move old code, and unpack new code <code>mv civicrm /tmp/ && tar xvzf civicrm-4.6.5-drupal.tar.gz</code>
 +
# run the upgrade script <code>/civicrm/upgrade?reset=1</code>
 +
# put site in operation mode<code>drush vset maintenance_mode 0</code>
 +
# toast
  
Options:
 
  -h, --help            Display this help message
 
  -q, --quiet          Do not output any message
 
  -V, --version        Display this application version
 
      --ansi            Force ANSI output
 
      --no-ansi        Disable ANSI output
 
  -n, --no-interaction  Do not ask any interactive question
 
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
 
 
Available commands:
 
  api                    Call an API
 
  cli                    Load interactive command line
 
  dis                    Disable an extension
 
  dl                      Download and enable an extension
 
  en                      Enable an extension
 
  ev                      Evaluate a snippet of PHP code
 
  flush                  Flush system caches
 
  help                    Displays help for a command
 
  list                    Lists commands
 
  path                    Look up the path to a file or directory
 
  scr                    Execute a PHP script
 
  url                    Compose a URL to a CiviCRM page
 
ang
 
  ang:html:list          List Angular HTML files
 
  ang:html:show          Show an Angular HTML file
 
  ang:module:list        List Angular modules
 
api
 
  api:batch              Call an API (batch mode)
 
debug
 
  debug:container        Dump the container configuration
 
  debug:event-dispatcher  Dump the list of event listeners
 
ext
 
  ext:disable            Disable an extension
 
  ext:download            Download and enable an extension
 
  ext:enable              Enable an extension
 
  ext:list                List extensions
 
  ext:uninstall          Uninstall an extension and purge its data
 
  ext:upgrade-db          Apply DB upgrades for any extensions
 
php
 
  php:boot                Generate PHP bootstrap code
 
  php:eval                Evaluate a snippet of PHP code
 
  php:script              Execute a PHP script
 
vars
 
  vars:fill              Generate a configuration file for any missing site data
 
  vars:show              Show the configuration of the local CiviCRM installation
 
</pre>
 
 
Also, don't forget to use [[Drush]] if you're on [[Drupal]]; the CiviCRM API; and the ConfigAndLog directory log.  The ConfigAndLog directory is in a path like <code>./sites/default/files/civicrm/ConfigAndLog</code>
 
  
 
== Profiles ==
 
== Profiles ==
Line 130: Line 79:
  
 
<blockquote>
 
<blockquote>
Custom tokens (based on custom data) can be added for organizations as well. These tokens will not be displayed in the list of available tokens, but can be added manually. The format is {contact.custom_12} where 12 is the ID of the custom data field. To find the custom data field ID, go Administer > Customize Data & Screens > Custom Fields and click �edit� on the field you want to use. Look at the URL. The last part of the URL will be an equal sign and a number (=12). The number (12 in this example) is the id of that custom field.
+
Custom tokens (based on custom data) can be added for organizations as well. These tokens will not be displayed in the list of available tokens, but can be added manually. The format is {contact.custom_12} where 12 is the ID of the custom data field. To find the custom data field ID, go Administer > Customize Data & Screens > Custom Fields and click on the field you want to use. Look at the URL. The last part of the URL will be an equal sign and a number (=12). The number (12 in this example) is the id of that custom field.
 
</blockquote>
 
</blockquote>
  
Line 314: Line 263:
 
== Extensions ==
 
== Extensions ==
 
* See [https://civicrm.org/extensions/drupal listing of CiviCRM extensions for Drupal]
 
* See [https://civicrm.org/extensions/drupal listing of CiviCRM extensions for Drupal]
* [https://docs.civicrm.org/sysadmin/en/latest/customize/extensions/#installing-a-new-extension  Installing extensions]
+
* [http://wiki.civicrm.org/confluence/display/CRMDOC/Extensions Extensions documentation in the wiki]
There are multiple ways to use the <code>cv</code> command to download and install extensions:
+
* [http://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Custom-Search+Extension Create a Custom Search extension]
;Download a published extension from the directory (long name).
 
:<code>cv dl org.example.foobar</code>
 
;Download a published extension from the directory (short name).
 
:<code>cv dl foobar</code>
 
;Download an unpublished extension (long name and zip URL)
 
:<code>cv dl org.example.foobar@http://example.org/files/foobar-1.2.zip</code>
 
;Download a pre-release (alpha/beta) from the directory.
 
:<code>cv dl --dev foobar</code>
 
 
 
 
 
  
 
== Developing Extensions ==
 
== Developing Extensions ==

Revision as of 22:29, 16 May 2016