Javascript Contact API - how do I 'do something' with results Through javascript, I was hoping to check what groups a user belongs to and then use that information to show / hide something. I can't use ACLs because I'd like the average internal user to be able to enter the information on intake but not be able to edit it in future.

Using the API, I can get an object that has a

    CRM.api3('Contact', 'get', {
  "return": "group",
  "id": 68525 // arbitrary number will need current user
}).done(function(result) {
  // do something
    console.log(result);

});

which returns this

Object { is_error: 0, version: 3, count: 1, id: 68525, values: Object }

The group info is in the values: Objects, how can I reference it?

To get the 'groups' result from the returned 'result' - I had to access the nested data. I referenced this great explanation here: https://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or-json

I still struggled for a bit and realized that's because the groups result i was looking for was nested down two levels.

result Object { is_error: 0, version: 3, count: 1, id: 68525, values: Object }

   values Object { 68525: Object }

       68525 Object { contact_id: "68525", groups: "Administrators", id: "68525" }

On top of that to reference that last object by a number i had to enclose on quotes.

I still have work to do towards my ultimate functionality but my proof of concept holds true.

Here's what I ultimately used to get the contents of 'groups':

console.log(result['values']['68525']['groups']);


Newsletter sign up form on WordPress with GDPR plugin I've read the following before posting this:

Newsletter sign up form on wordpress
How do I expose CiviCRM forms in WordPress?
https://docs.civicrm.org/sysadmin/en/latest/integration/wordpress/forms/

but I'm still unclear on how we produce exactly we what we want as we are also using the Veda GDPR plugin to track opt ins.

We are planning to add a module to our custom page template asking for email addresses. An example of this page is this - https://vitiligosociety.org/what-causes-vitiligo/ (module will just before the footer)

The custom module we are having designed looks similar to this:

The only difference is the call to action will be to add an email address rather than be redirected to the membership sign up page.

What's the correct way to add the civi forms to this module and also expose the appropriate settings from the Veda GDPR plugin.

Any suggestions much appreciated! Thanks.

PS - We are using the Guttenberg editor.

I just submitted a PR to the GDPR extension which provides a new shortcode to display the GDPR preferences on a page, see https://github.com/veda-consulting/uk.co.vedaconsulting.gdpr/pull/217

That's what we use for providing users with an option of viewing and updating their preferences.

For all other CiviCRM form-related integration on WordPress, we use https://wordpress.org/plugins/cf-civicrm/


Database Trigger error message Trying to install to WordPress and I get; "Could not create a database trigger." I have no idea how to resolve. Thank you!

The problem is that the database user doesn't have some higher level privileges required for CiviCRM. Ask your ISP support or database administrator to run the following commands for you as the root MySQL user:

-- Assuming a database called "civicrm" and a user called "civicrm_user"
-- and a MySQL version of 5.1.6+

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER,
    CREATE TEMPORARY TABLES,
    LOCK TABLES, TRIGGER, CREATE ROUTINE, ALTER ROUTINE ON civicrm.*
    TO 'civicrm_user'@'localhost' IDENTIFIED BY 'realpasswordhere';

For more details see:
http://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+MySQL+Permission+Requirements


Civievent - Billing fields Is it possible to change the labels for the billings fields when people are signing up for an event.

In the swedish translation of the fields: "First name, middle name and last name" they are called the same. Which makes it difficult for users to know what to write.

Example (translated from Swedish)
Billing adress 1 (mandatory)
Billing adress 2
Billing adress 3 (mandatory)

I have searched a lot of forums to find out how to change this. But it seems impossible. Should the translation be updated in Transifex or should it be made in the local installation?

Welcome to CiviCRM StackExchange Kim!

If you think that the translation should be changed for all users that use Swedish as a language in CiviCRM (e.g. because it is wrong or yours is better) you should update the strings in transifex.

This would imply that you create a free account there and ask to become part of the Swedish translation team. Once you changed the translation in transifex you will need to update your translation locally. You can find information on transifex in the CiviCRM Wiki.

If you only want to change the translation for yourself, you should use the function for word replacement in CiviCRM, which you can find at yourdomain.org/admin/options/wordreplacements?reset=1

On the left side you will need to enter the original (English!) string, on the right side, the one you want to use (in Swedish).


CiviCRM Rules extension What is the status of the CiviCRM rules extension? I have read a few blog entries but not sure when it will be ready.

From what I have read, it is supposed to work much like the Drupal rules module but works from within CiviCRM

Big part of the "engine" of CiviRules is finished, with the rest being completed this month already. As with many other open source development, the rest is depending on funding.

The extension then needs to be populated with specific events, conditions and actions, just like Drupal Rules. We then hope many more will participate in adding those. @ErikH is the one to talk with.

Check: https://civicrm.org/blogs/erikhommel/civirules-sprint-january-and-march-2015 and/or http://redmine.civicoop.org/projects/civirules/wiki

(CiviRules should not be confused with the CiviCRM Rules extension, which simply syncronizes CiviCRM with Drupal Rules. This is the extension Eileen is referring to: https://www.drupal.org/project/civicrm_entity)


Fatal error using Paypal in Version 4.7.29 Using the payment processor PayPal_Standard on a fresh install of CiviCRM Version 4.7.29 (with Wordpress 4.9.1 on Centos 7.4) breaks all contribution pages where PayPal is enabled. The result is a blank page. In the Apache error log there is:

PHP Fatal error:  require_once(): Failed opening required 'CRM/Core/.php' (include_path='.:/somedir/wp-content/plugins/civicrm/civicrm:/somedir/wp-content/plugins/civicrm/civicrm/packages:/somedir/wp-content/plugins/civicrm/civicrm/vendor/tecnickcom:/somedir/wp-content/plugins/civicrm/civicrm/vendor/phpseclib/phpseclib/phpseclib:/somedir/wp-content/plugins/civicrm/civicrm/vendor/pear/pear_exception:/somedir/wp-content/plugins/civicrm/civicrm/vendor/pear/auth_sasl:/somedir/wp-content/plugins/civicrm/civicrm/vendor/pear/net_socket:/somedir/wp-content/plugins/civicrm/civicrm/vendor/pear/net_smtp:/somedir/wp-content/plugins/civicrm/civicrm/ve in /somedir/wp-content/plugins/civicrm/civicrm/Civi/Payment/System.php on line 59, referer: https://someurl/civicrm/?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=1

When disabling PayPal (= pay later) the contribution pages work fine.

Any ideas what might be going wrong here?

You're experiencing the bug documented at CRM-21595.  You will need to apply the patch or wait for CiviCRM 4.7.30.

Most people won't experience this bug if they disable "Pay Later" as an option.


Change the root directory D8 [docroot > web] I encounter lot of issues with CiviCRM on a Drupal 8 production site :

When sending a mailing there is :
- No tracking of opened mail
- No indication of click through
There is another issue with the cron that doesn't run.

The issue might concern the root directory D8 that is the non standard docroot instead of the web directory.
This can be a direction for this issue as the installation roundearth of David Snopek's. It is based (or used to be) on the web directory

What is the best practice to move the root directory ?

Drupal itself doesn't care about its folder name (at least, not that I've found).  CiviCRM cares, and so does Composer.

When you rename your folder, find the installer-paths section in composer.json (in the webroot) and change docroot to web there.
You'll also need to change all instances of docroot in civicrm.settings.php.
Rebuild your Drupal cache and flush Civi caches as well.
If you have absolute paths (that is, not using tokens like [cms.root]) in Civi's Administer » System Settings » Directories or Administer » System Settings » Resource URLs menus, change those too.
Of course, don't forget to change your web server configuration :)


Can't find Click the Continue button to proceed with the payment in translation string I can't find Click the Continue button to proceed with the payment. from a Contribute form in the translation strings even if I can find other strings from that Contribute form. It's untranslated in my language and I'd like to fix it. The string changer does nothing.
Any ideas?

The string has html in it: Click the Continue button to proceed with the payment. e.g. https://lab.civicrm.org/dev/translation/-/blob/f0d769640f51dd1fe891963e4208bffd7625da91/po/it_IT/common-base.po#L12259
If you're trying to use word replacements, you would need to include that when doing a word replacement, except there are some bugs in that when using html which are still being worked on (https://github.com/civicrm/civicrm-core/pull/15836)


Failed to locate civicrm.settings.php running CiviCRM WordPress 4.7.7

Any ideas what normalize your directory structure means?

Given it knows where the database is and both the website and the backend are working I am unsure where this is coming from. It only appears in the error_log.

  [error] [client 66.249.83.121] PHP Fatal error:
  Uncaught exception 'Exception' with message 'Failed to locate civicrm.settings.php. Please boot with settingsFile, search, or CIVICRM_SETTINGS; or normalize your directory structure.' in /../wp-content/plugins/civicrm/civicrm/civicrm.config.php:125

  Stack trace:

    /../wp-content/plugins/civicrm/civicrm/civicrm.config.php(413): Civi\Cv\Bootstrap->boot()
    /../wp-content/plugins/civicrm/civicrm/extern/open.php(2): require_once('/var/www/vhosts...')
    {main}\n  thrown in /../wp-content/plugins/civicrm/civicrm/civicrm.config.php on line 125

Update 1:
civicrm_config.php - getCivicrmSettingsPhp
Added error_log to display the options parameter and got the following:

  [dynamicSettingsFile] => /../wp-content/plugins/civicrm/settings_location.php\n
  [env] => CIVICRM_SETTINGS\n
  [prefetch] => 1\n
  [settingsFile] => \n
  [search] => 1\n
  [cmsType] => \n
  [httpHost] => casem-acmse.org\n)\n

Shouldn't the file referred to in dynamicSettingsFile be civicrm_settings.php?

This is related to Word Press Install Missing civicrm.settings.php; dashboard unavailable; no menus

I suspect that the culprit is the userFrameworkResourceURL  I would tray the overrides mentioned in the above thread


Competing CiviDiscount Automatic Discounts We have a standard 10% discount on all of our events for members. On this specific event - we want to have a $5 flat discount for members.  The automatic 10% discount is still the only discount working.

Wordpress/Civi - Latest.

I would suspect that CiviDiscount is taking the first available discount applicable for the specific event and ignoring the second (since only one can be used).  Have you tried removing this particular event from the list of allowed events for the 10% discount to see whether the $5 discount gets applied?


Update custom field in CiviCase using batch profile? I made a custom field in CiviCase and since I have hundreds of records where this field needs updating, I'd prefer to do it using batch update with profile.

I made a profile containing the custom field plus one other case field.

So I've tried:
Find the records using advanced search, display the results as contacts - the profile I want to use is not available.
Find the records using advanced search, display the results as cases - batch update via profile is not available.
Find the records using 'find Cases' from CiviCase - batch update via profile is not available.

Thanks for any help.

There is a write up here about using the API. May not be a lot of help to you but worth adding to the thread. I found it, and your question, while similarly searching for a solution to needing to 'bulk update' Cases - and having found and failed (in our situation) with VBO and Views it may be a case, for us at least, that we need to do some more development with VBO and civicrm Entities


Current members in expired membership search results In our database, if expired members 'renew' (or rejoin) after their grace period, on their contact page, on the memberships tab, it shows both an expired membership and a current one. That is correct, I suppose.

If we then do a search for expired members, the rejoined member shows up. That is also correct. We would have to remember to always search for 'expired members - current members' to find those members that have expired and never rejoined.

People are going to forget this. What is the best way to help my client to not forget this ?

You don't say how many membership types you have, so I will assume that you only have one.

You could create one smart group (SG1) with criteria Membership status = expired and another (SG2) with membership status of new or current. (And perhaps Grace depending on whether you want those people excluded from your final smart group or not.)

Then you can use the custom search  Include / Exclude Search including SG1 and excluding SG2 to define a third smart group that you clearly label as the group to be used when ex-members are required.


What is the correct way to work with custom data in the API? I always seem to struggle to find a concise way of working with custom data via the API. I know that something like...

$updateParams = array('version' => 3, 'contact_id' => $contact_id, 'custom_160' => $badges);
$result=civicrm_api('contact', 'update', $updateParams);

...works for some but not all entities, so I presume that I'm meant to be using the CustomValue API, but whenever I do, my code looks v. clunky / doesn't work / I resort to SQL in frustration.  If anyone has a concise example or two of CustomValue in use that would be most appreciated.

As of CiviCRM 4.6, the api explorer is like 1-stop-shopping for browsing, building and testing api calls.

You can start on the "Examples" tab to see how custom values are generally done:

If you want more detailed explanation of how it works, try the "Code Docs" tab:

And finally, the Explorer tab lets you browse available params and will write the php/javascript/rest/cli code for you:


How to contribute to the documentation? How do I contribute to the CiviCRM documentation?

I'd like to contribute to the Set-up page of the CiviMail documentation. There are some things that tripped me and I'd like to share them with others now that I figured them out.

Note: I tried clicking the link on the line "CiviCRM documentation is community driven. You can help improve documentation." (found at the bottom of the documentation pages), however it leads to a 404.

UPDATE:
Here is the page which I wanted to edit: http://book.civicrm.org/user/current/email/setup/

We're in a bit of a transition phase at the moment with the tools we use for writing documentation.

The authoritative user and admin guide is here: https://github.com/civicrm/civicrm-user-guide.

fork the repository (you'll need a github account to do that)
make the edit directly on your fork of the repository
submit a pull request back to the original repository with a summary of your edit, why you made it, etc.

If it is a small edit, then the above is all you need to do. If it is a larger edit (or if you just feel like it) then you probably want to submit a documentation ticket on jira to discuss what you are planning on doing https://issues.civicrm.org/jira/secure/CreateIssue!default.jspa

If you think that you'll be making a few edits, then here's a bit more reading that you might find useful.

https://civicrm.org/blogs/michael-mcandrew/moving-civicrms-user-and-administrator-guide-gitbook-or-readthedocs
https://civicrm.org/improve-documentation


Upgrade to version 4.7.31 seems to have broken DAO.PHP Version 4.7.31 was installed and now an hourly cron job is erroring like this:

"Parse error: syntax error, unexpected '[' in /.../administrator/components/com_civicrm/civicrm/CRM/Core/DAO.php on line 651.

Any clues?

It sounds like you perhaps aren't using a supported version of PHP.  I would check your version; my guess is that you're on PHP 5.4, since 5.5 is the minimum supported version in Civi 4.7.31.

I would restore your site from a backup if you're not in a position to upgrade PHP immediately - but my advice is to try to upgrade PHP.  PHP 5.4 is known to be insecure and hasn't received security updates in almost 3 years.


does civix need a mysql install? I would use civix for coding a scheduled task that updates a customed field. I could generate an extension skeletton with the "civix generate:module" command, but fail to use "civix generate:api" for generating an api to be scheduled.

My CiviCRM is embedded in Drupal and hosted by Google cloud. I have a local copy of the civicrm part of my site, but without the mysql database. When executing the civix generate:api command, I get an error that seems coming from mysql : Initialization Error - DB error : extension not found.

Is mysql mandatory for having "civix generate:api" working ?
How can I avoid my civicrm copy to launch mysql ?
Thanks for help.

Although not clearly stated in the civix documentation, a full running mysql database is mandatory with the CiviCRM application for an api generation.
A good reason for me to have an online clone of my site for testing.


Unable to send mass SMS or Mailing I'm trying to setup Mass SMS and Mailing and seem to be running into some problems. I can send mail and SMS directly to an individual but the scheduled SMS and mail does not work. I know this has to do with Cron being configured incorrectly but I'm not sure where to look. I have CiviCRM 4.6.3 installed on Drupal 7.37. I also have installed the Drupal Cron module from here.

When the job is manually executed I get a success message. Where are some other places I should be checking?

Is there a reason you're using the "CiviCRM Cron" module?  That's adding an needless level of complexity to your site.  Since you are able to get the job to work by manually executing the job, I suspect that there's a problem in the way you've configured the "CiviCRM Cron" module.

Disable the module, and set up cron the normal way.  You'll want CiviCRM's cron job to run way more often (every 5-15 minutes) than Drupal's cron should (every 1-3 hours).  Doing a real cron job will also bypass problems that may crop up with the "CiviCRM Cron" Drupal module.

Here's how.  Visit the Managing Scheduled Jobs page on the CiviCRM wiki for reference.

If you have Drush installed, just use the "Drush Method" from that page.  Test it out on the command line, and if that works, set the cron job to be something like

*/6 * * * * /usr/bin/drush -u 1 -r /path/to/drupal -l www.example.org civicrm-api job.execute auth=0 -y

That runs every 6 minutes, which makes a nice even 10 runs per hour.

If you don't have Drush, use the following steps (the "PHP CLI method"):

Create a user account that has "Access CiviCRM" and "Administer CiviCRM" privileges.  (You could theoretically use your own, but you will be putting the password in plain text in the cron job, so it's safer to create a separate one.)
Put together what you need in this format:

php /path/to/civicrm/bin/cli.php -s site -u user -p password -e Job -a execute

You can drop the "-s site" if you only have one site running.  Replace the word "user" with your new user's Drupal username, and the word "password" with its password.
If you have SSH access and are comfortable with the command line, you'll have a leg up.  Try running that command.  Check your Scheduled Jobs page to see that it ran (making sure that your mailing sender job is enabled and set to run on every cron run--not hourly or daily).
Assuming that worked, set up the cron job

*/6 * * * * php /path/to/civicrm/bin/cli.php -s site -u user -p password -e Job -a execute

Again, I like six minutes to make the arithmetic easy by having 10 cron runs per hour.

This should dodge any problems with the "CiviCRM Cron" module, and it should allow you to run your mailings and SMS messages much more promptly.

For reference, "send immediately" does depend upon cron to run.  It actually isn't literally immediate--it just schedules it for the current time, and cron takes it from there.


CiviMail Unsubscribe link goes to an empty Wordpress page How do I troubleshoot a non-working Unsubscribe link through CiviMail?

In using CiviMail to send a mass mailing, the required Unsubscribe function creates a link like this: http://get-hope-global.org/?page=CiviCRM&q=civicrm/mailing/unsubscribe&reset=1&jid=23&qid=42&h=68396bb3066b85d5

Following that link shows our website header and footer without any other information in between. No activity is logged on the associated record in CiviCRM.

I am using CiviCRM 4.5 on WordPress 4.2.2 to send the mailing through the transactional e-mail service Mandrill.

Do you have a basepage set?

Without a basepage, WordPress will use index.php and unpredictable results will occur.  Go to Administer -> System Settinngs -> CMS Database integration.  In WordPress Base Page set a page (civicrm for example), make sure that a WordPress Page (not a post) exists with the same name and slug.

Once this is set your unsubscribe url should be http://get-hope-global.org/civicrm/?page=CiviCRM&q=civicrm/mailing/unsubscribe&reset=1&jid=23&qid=42&h=68396bb3066b85d5

Try it again and see what happens.


Change text for "Continue" button How do I go about changing out the text on the confirmation page for events so that it says something different? Right now it says "Continue" and we'd like it to say something like "Continue to pay via Paypal". I've been digging through the template files and can't find where I would change that.

You can use the Word Replacement function for this! Here’s a nice tutorial: https://www.cividesk.com/blog/did-you-know-any-word-or-phrase-civicrm-can-be-replaced-another-one


How to check if a contact has an active membership in a smarty template? Is there a variable that one can use in smarty in a message template to simply determine if a contact has an active membership?

Don't think you have a direct variable to use in the template. Worth trying an extension to provide this? It can be done by simply writing something like below in your hook.

function yourextension_civicrm_postProcess($formName, &$form) {
  if ($formName == "your_form") {

    //Check if user has an active membership of type "General".
    $activeMembership = civicrm_api3('Membership', 'getcount', array(
      'contact_id' => <contact_id in $form>,
      'active_only' => 1,
      'membership_type_id' => "General",
    ));

    //Assign a new variable to the template.
    $form->assign('activeMembership', $activeMembership);
  }
}

You can now use this variable as {$activeMembership} in the template to check if user has a membership of the req type.


404 css and js not found, wrong [civicrm.root] a fresh install on Joomla 3.6.4 with CiviCRM 4.7.13 results in countless 404 errors

All files of those locations are not found:

css
bower_components
packages
js

It tries to find the files from those folders in the wrong location:
/home/...serverinfo.../www/...website.../components/com_civicrm/civicrm

but the correct location would be:
/home/...serverinfo.../www/...website.../administrator/components/com_civicrm/civicrm

The variable: [civicrm.root] is set correctly including the administrator folder

The civicrm.settings.php is defined like this:
$civicrm_root = '/home/...serverinfo.../www/...website.../administrator/components/com_civicrm/civicrm/';

Please, is there anywhere else where I can look for a wrong configuration of the [civicrm.root]?

Thank you

You can configure the web resources in the screen Administer -> System Settings -> Resource URLs (That is different from file locations).

In this screen, you can set the resource URL (see (1)) as complete URL, as the relative path and with the use of URL variables. So you can avoid using the using [civicrm.root]. And it has another neat feature. If you ask help by clicking the question mark, the values of the URL variables are displayed.


Is it possible to enable/disable logging using cv? Can the command line cv tool be used to enable/disable logging?

Yes, it is possible, but you have to use some bash magic. For disabling it is:

echo '{"logging":0}' | cv api Setting.create --in=json

(In case you forget, cv help api shows an example of the bash trick)


How do I install an extension directly from git? Now that I have found my extension directory, is installing an experimental (or developmental) extension as simple as cloning it into there? eg:

# find extension directory
DIR=$(cv ev --out=pretty 'return (new CRM_Extension_System())->getDefaultContainer()->baseDir')
# change to extension directory
cd $DIR
# clone repo
git clone git@github.com:civicrm/api4.git
# flush cache
cv flush
# enable
cv ext:enable api4

(obviously some git remote voodoo required still but just wanting to confirm that this is the basics)

Yes, that's all you need to do!  In my experience, flushing the cache is unnecessary though.


Best strategy to restoring backup by importing csv file Running CiviCRM latest on Joomla latest, Dutch translation, locally on Windows 8.1 and xampp, online with hosting; Joomla and CiviCRM installed and working. Now I would like to backup the complete installation.

I exported all of my 2000 contacts to a CSV file. I am trying to import the 2000 contacts from the same file, on localhost as well as online.
The first step is successful, CiviCRM adds the first row as labels, the second row with data. The second step, creating the mapping the labels fails for all.  After the mapping I get an error on all contacts, so no contact is imported at all.
If I choose to import only the obligatory * labels, names, mail, CiviCRM imports only those.  So I end up with only the contacts and have to do the rest manually (no email, no bulk, etc.)

Is the order of the importing columns in the CSV important? So, first column = name, second colum= mail etc?
Is the translation in Dutch causing problems mapping?
I tried to edit the CSV with open office and saving in utf8, the same problem; does the file change after editing in such a way that importing is a problem?
is it possible to backup by exporting the database to SQL file and if needed restoring by uploading the same SQL again with PHPMyAdmin?

Thank you

In general, importing/exporting using csv means you will lose data, eg log history of change, the "real" creation date instead of the restore one...
If you can at all, I would suggest to backup restore the database itself, rather than only the contact via csv.

This being said: do you have an error message? it might be a matter of memory, try to increase what php can use. Or select on the export what fields you really want to export, the default tend to include lots you don't really need.

If you can, try to create a temporary table that you import/export with phpmy admin (not civicrm_contact, say got for backup_contact), on the import step you can choose to import from sql rather than csv


How do I choose whether my payment form will run in live or test mode? I initially thought there would be an option in the form settings itself, to choose whether to run it in test or live mode. But there doesn't seem to be such an option.

So where do I configure this? Is it a URL difference between live and test mode?

In Wordpress, when using shortcodes to embed the payment form, I saw that you can set the option in the shortcode itself, for example: [civicrm component="contribution" id="3" mode="test" hijack="0"]

It's a URL difference, yes.

From Contributions menu > Manage Contribution Pages, you'll see a list of each contribution page, with a number of menus ("Configure", "Contribution", "Links", "More") next to each.  Select Links > Live Page for the live URL, Links > Test-Drive for the test page.  The URLs look like:

Live:  https://example.org/civicrm/contribute/transact?reset=1&id=1

Test: https://example.org/civicrm/contribute/transact?reset=1&id=1&action=preview


Is A/B testing possible using Mosaico? When I go through the Create new A/B test workflow, it presents me with a traditional mailing interface, even though I have Mosaico installed.

I'm pretty sure that means A/B testing is not possible with Mosaico but wanted to check for confirmation.

A/B testing for subjects is now possible (though not content or from details), as of Mosaico CiviCRM 2.6.


Is it better to install civi (Wordpress) on a dev server first then migrate to production or is the reverse better? Assuming the goal is to install clones of Civi + WP + MySQL on two servers (let's call them "production" and "dev" with those roles in mind):

These days, is it better to install first on dev then migrate to production, or is the reverse preferred?  Does it matter much?

This isn't really a question specific to civicrm, but in general unless you never plan to upgrade or do any customization after the initial installation, you'll want to have the dev to production direction set up anyway.


Civievent - i cant add any event I try  to add an event in CiviEvent (with Superadmin role ), but I can not.  After saving the  first form, when Civi tries to go to https://staroflife.pl/civicrm/event/manage/location?action=update&reset=1&id=46 it displays the following error:

 $backTrace =
 #0 /home/sol/domains/staroflife.pl/public_html/sites/all/modules/civicrm/CRM/Core/Error.php(378): CRM_Core_Error::backtrace("backTrace", TRUE)
 #1 /home/sol/domains/staroflife.pl/public_html/sites/all/modules/civicrm/CRM/Event/Form/ManageEvent.php(128): CRM_Core_Error::fatal("Nie masz      uprawnień dostępu do tej strony.")
 #2 /home/sol/domains/staroflife.pl/     public_html/sites/all/modules/civicrm/CRM/Event/Form/ManageEvent/Location.php(74):      CRM_Event_Form_ManageEvent->preProc     ess()
 #3 /home/sol/domains/staroflife.pl/     public     _html/sites/all/modules/civicrm/CRM/Core/Form.php(543): CRM_Event_Form_Manage     Event_Location->     preProcess()
 #4 /home/sol/     domains/staroflife.pl/public_html/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Display.php(92): CRM_Core_Form->buildForm()
 #5 /home/sol/     domains/staroflife.pl/public_html/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203):      CRM_Core_Quic     kForm_Action_Display->perform(Object(CRM_Event_Form_ManageEvent_Location), "display")
 #6 /home/sol/     domains/staroflife.pl/public_html/sites/all/modules/civicrm/packages/HTML/QuickForm/Pa     ge.php(103): HTML_Q     uickForm_Controller->     handle(Object     (CRM_Event_Form_ManageEvent_Location), "display")
 #7 /home/sol/     domains/staroflife.pl/public_html/sites/all/module     s/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("display")
 #8 /home/sol/     domains/staroflife.pl/public_html/sites/all/module     s/civicrm/CRM/Utils/Wrapper.php(113): CRM_Core_Controller->run()
 #9 /home/sol/     domains/staroflife.pl/public_html/sites/all/module     s/civicrm/CRM/Core/Invoke.php(283): CRM_Utils_Wrapper->     run("CRM_Even     t_Form_ManageEvent_Location", "Lokalizacja wydarze     nia", (Array:0))
 #10 /home/sol     /domains/staroflife.pl/public_html/sites/all/modul     es/civicrm/CRM/Co     re/Invoke.php(84): CRM_Core_Invoke::ru     nItem((Array:14))
 #11 /home/sol     /domains/staroflife.pl/public_html/sites/all/modul     es/civicrm/CRM/Co     re/Invoke.php(52): CRM_Core_Invoke::_i     nvoke((Array:4))
 #12 /home/sol     /domains/staroflife.pl/public_html/sites/all/modul     es/civicrm/drupal     /civicrm.module(448): CRM_Core_Invoke:     :invoke((Array:4))
 #13 /home/sol     /domains/staroflife.pl/public_html/includes/menu.i     nc(527): civicrm_invoke("event", "manage", "location")
 #14 /home/sol/domains/staroflife.pl/public_html/index.php(21): menu_execute_active_handler()
 #15 {main}

I see the event in the database after this error, but I cannot see it in the dashboard. Before this problem, I add two events without any trouble.

I tried the following: clean Drupal and CiviCRM cache, log in with another login, check ACL in CiviCRM. But it did not work :(

Civicrm version:4.7.19, Drupal: 7.51
"Nie masz      uprawnień dostępu do tej strony." means
You do not have permission to access this page. :)

EDIT: The problem occurs when the ID is higher or equal to 30.
I tried: recover old civicrm version (from backup after update) and i have this problem too.

I found issue and how to fix it.
I change files in: CRM/event/BAO/event.php

https://github.com/civicrm/civicrm-core/pull/10325/files


Can I upgrade a drupal 7 + civi site to drupal 8? There is maybe a simpler path but this worked for me. Documenting this here since I don't know where else to put it.

UPDATE: Note this is now slightly out of date but the gist is correct, so follow the spirit if not the exact details. In particular if I was doing it again now there is a non-roundearth way to also install D8+civi, e.g. https://civicrm.stackexchange.com/a/35608/181 (official docs are in the works), and that method will set different path settings in civicrm.settings.php for you than described below, e.g.

$civicrm_paths['civicrm.files']['url'] = 'http://example.com/sites/default/files/civicrm';
$civicrm_paths['civicrm.files']['path'] = '/full/filesystem/path/to/sites/default/files/civicrm';

Start creating a new D8+civi site by using the installer at https://gitlab.com/roundearth/drupal-civicrm-project.
When doing the D8 install part, just install a minimal site and don't further configure it - just what's needed to get D8 installed.
Follow the standard drupal instructions to upgrade. https://www.drupal.org/docs/8/upgrade/upgrading-from-drupal-6-or-7-to-drupal-8. The short version is enable the Migrate UI module on the new site and then go to /upgrade.
Do not enable civicrm yet.
From your old site, export the civicrm_xxx tables.
There is probably a better way to do this step but it worked for me to manually update any urls and paths in the export file (taking care with php-serialized strings) and then import the sql file into the new database. Note that any references to sites/all/modules/civicrm are now under vendor/civicrm/civicrm-core. URLs for sites/default/files/... can stay as is, but note that filepaths will now be web/sites/default/files. Also userFrameworkResourceURL is now libraries/civicrm.
Copy civicrm.settings.php to the new site under web/sites/default. Edit the file:
Change CIVICRM_UF from "Drupal" to "Drupal8".
Change the mysql connection strings.
Change paths and urls as above. Again note civicrm_root is now under vendor/civicrm/civicrm-core, and you need to put "web/" in front of filepaths to "sites/XXX".
Enable the civicrm module.
Clear caches at admin/config/development/performance and also the civicrm caches at civicrm/admin/setting/updateConfigBackend?reset=1. I also ran /civicrm/menu/rebuild?reset=1 but I'm not sure it's necessary here.
The UI will look all messed up because it was a minimal drupal install but you can change the theme and set things as you normally would.
You may also need to set these settings in civicrm.settings.php:
$civicrm_setting['URL Preferences']['userFrameworkResourceURL'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/';
$civicrm_paths['civicrm.root']['url'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/';
$civicrm_setting['domain']['userFrameworkResourceURL'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/';
$civicrm_paths['cms.root']['path'] = '/full/path/to/web'; // the "web" folder at the root of the install


How can I allow multiple petition signatures from the same computer? I have a petition in CiviCRM - Joomla that is working great.  We use it as a 'Contact Us' form.  If different people want to use the same public computer to submit the form, they will get a 'duplicate' error.  How can I allow multiple people to submit comments on the same computer?

Thanks!

If you clear the browser's history after each entry you should be able to have multiple entries from the same computer.


REST API: Unable to decode supplied JSON REST API works, but I cannot pass json parameter to it, getting "Unable to decode supplied JSON".

I am running CiviCRM 4.6.8 on Wordpress.

I have properly identified SITE KEY and API KEY, and I can run REST query with an empty json dictionary as parameter:

https://foo.com/wp-content/plugins/civicrm/civicrm/extern/rest.php?entity=Contact&action=get&api_key=secret1&key=secret2&json={}

which gives me 25 contact records in a json data structure.

But when I try to add a json parameter (copied from API Explorer):

https://foo.com/wp-content/plugins/civicrm/civicrm/extern/rest.php?entity=Contact&action=get&api_key=secret1&key=secret2&json={%22sequential%22:1,%22email%22:%22marcin@akcjademokracja.pl%22}

..I get the following error:

{"is_error":1,"0":"error_message","1":"Unable to decode supplied JSON."}

What am I doing wrong?

I would recommend you to use post instead of get to communicate with the rest api, both because it would allow you to avoid having the keys "in clear" in the get url (and therefore written in the log an so on), but also because you don't have to deal with url encoding of the parameters.

btw, you don't have to put the param in the json most of the time, so you can directly call

https://foo.com/wp-content/plugins/civicrm/civicrm/extern/rest.php?entity=Contact&action=get&api_key=secret1&key=secret2&sequential=1&email=marcin@akcja.pl&json=1


Problems with display name/sort name saving as contact.first_name Every time a contact record is edited and then saved, the display name and sort name revert to "contact.first_name [Last name]". When you are in edit mode, the First name is still there (and other associated fields, such as email greeting all still display the contact's first name).

I've updated CiviCRM to 4.7.18 - tis hasn't fixed anything. (This site has lots of events and I saw a couple of people reporting issues with events on the latest version so avoided 4.7.19).

I can save it using the phpMyAdmin UI but that's only temporary, until a user edits the same contact record again.

Drupal 7.54

The format of the display name and the sort name are configured at Administer -> Customize Data and Screens -> Display Preferences.  Check if this format is correct. (For example, the curly brackets must match).


Moving a membership from one contact type to another We have a database where some memberships were attached to Households and some to Individuals. We'd like to normalize this -- what is the best way to move the membership from one to another? (e.g. take a Household's membership and move it to an Individual)

This would probably depend on how many you have. If just a few, you should be able to just change contact_id value in civicrm_membership


Good tools for building a call for proposals in Civi? I want to do a call for proposals for a conference. I can just use a profile and custom fields for people to enter the info, but I'd prefer for them to be able to save it in progress before eventually submitting, and also to track whether or not it had been approved.

I know there are other specialized tools for this, but I was hoping maybe there was a way to do it in Civi so I don't have to set one up. We're running Civi in Drupal.

Zak,  I agree with Peter's comment. If you are using Drupal, you can use the CiviCRM Drupal webforms integrations.  There were a few good examples of these at the CiviCRM User summit last week  (i.e - Susan's ReThink Church example - which is essentially what you want).

Basic concept: User logs in and starts to fill out a multi page webform that saves the data on their CiviCRM record.  If you want to add a little custom code, you can have the final page be a "signature page" so that it can not be edited again.


How can I regenerate memberships shared by relationship? Is there a way to do a one-time purge and regenerate of all memberships that are shared by a relationship? (I would be okay if it required doing some SQL directly in the database as long as it didn't conflict with anything else).

The issue is that some relationships were deleted directly in the database and I want to make sure all the memberships are up-to-date.

I ran into a situation where the membership-type relationships were missing a relationship type, so I had to re-generate the related memberships.

Instead of export/import, I used the CiviCRM API:

$result = civicrm_api3('Membership', 'get', [
  'membership_type_id' => 1234, // optional
  'option.limit' => 0,
]);

foreach ($result['values'] as $key => $val) {
  civicrm_api3('Membership', 'create', [
    'id' => $val['id'],
  ]);
}

The Membership BAO calls createRelatedMemberships.

update: however, I had a small issue with the Membership dashboard not reflecting the numbers correctly, and had to run this query:

UPDATE civicrm_membership m
  LEFT OUTER JOIN civicrm_membership parent ON (parent.id = m.owner_membership_id)
SET m.join_date = parent.join_date, m.end_date = parent.end_date, m.start_date = parent.start_date
WHERE m.membership_type_id = 1234
  AND m.start_date is null;


How to configure Views VBO action to disable relationships? I'm trying to create a View of people with relationships to an organisation with options to disable those relationships.  I have created the view and added a VBO field on the relationship.

In the Selected Bulk Operations section, I have selected Modify Entity Value and then in the display section selected Relationship is Active.

The view then shows a 'Modify entity values' and after clicking that button I get a text box to enter the value of Relationship is Active.  Entering '0' and submitting then has the intended effect of disabling the relationship in Civi.

But ... what I really want is the button to say "Disable relationship(s)" and when clicked to set the Relationship is Active to 0 without asking the user for a value.

How can I achieve that?  (Drupal 7, CiviCRM 4.6.18, civicrm_entity 7.x-2.0-beta1)

First part is easy. When you check the box 'modify entity values' in the VBO field, you should see an option to tick another box that says 'override label'. That lets you then set the button that users will see to be 'Disable relationships'.

The second bit - i think it would require more code for CiviCRM Entities module or civicrm_entity_actions. I say this because on a VBO i set up recently I had the option to tick both 'Add to Group' and 'Remove from Group' (and there was also 'modify entity values') - so it sounds like you need the options for 'Enable Relationship' and 'Disable Relationship' to be explicit options at that step.


Tying Contributions to Events I'm trying to attach an event to a contribution that I enter by hand. I see that the "source" field is where I need to do that. I've been entering the name of the event into the source field but my totals in the revenue report are still zero for the event. Is there a way that the source can be a drop down of events to choose from or is it a matter of using the exact naming of the event in the source field?

Any help is appreciated. Thanks

The link internally between a contribution and a contribution page or an event is not something you can edit via the web interface. The only way would be to directly edit the database data via an SQL query. This is the type of thing you would need to hire a developer to do, however.


Event Fees not loading when registering in back-end Recently upgraded a site to 5.2.1 in WordPress 4.9.6. When the user tries to register a event participant in the back-end the fee selections price set does not load after the event is selected. All works fine on front end pages and if you edit an existing registration you are able to change the fee selections.

Checked another site with the same setup and the results are the same.

The results are the same if you try from the contact record either using the register button or the submit CC payment with registration button.

Do not see anything in the CiviCRM logs.

Not sure where to look next. Any thoughts would be appreciated.

Thanks

This is a core bug, I have created issue for this bug at https://lab.civicrm.org/dev/core/issues/189

I have submitted a fix for this at https://github.com/civicrm/civicrm-core/pull/12333 . Can you please QA by applying the patch manually to your instance?

Please comment your QA result on PR so that it will helpful to get merge quickly.

Thanks

Pradeep


Paypal Express not working with Webforms CIVICRM Intergration I've upgraded Webforms to the latest version which fixed but Paypal Express CIVI payment processor is not working.

I've inputted the correct API information into the payment processor. I know its correct because we have used paypal pro successfully. The only issue with paypal pro was that when someone clicked the paypal button, it also had the same issue as paypal express. However when someone submitted the form it worked.

Paypal express doesn't work with either hitting submit or hitting paypal button.

CIVICRM 4.5.8 DRUPAL 7

Thanks,
Andy

This has been a known bug/issue in webform_civicrm ( see e.g. Webform CiviCRM Paypal Button not Working ) -> try upgrading to the latest webform_civicrm (dev -> clone or download master: https://github.com/colemanw/webform_civicrm.git ).

I also strongly encourage you to upgrade your CiviCRM - there have not been any security releases for 4.5.x for quite some time now.


Why are you allowed to set DB field length on Text fields? I know the documentation says you should leave it the same, but suppose I know I want the text field to be only 3 characters every time?

I can set it fine in custom fields, but when I go to enter data, and a user mistakenly puts in more than 3 characters, it throws a database error. Is there somewhere else besides the custom field specification where I can set up CiviCRM to validate user input?

(note: this can be reproduced on the civicrm demo server)

being able to set a length make sense. As you describe, you might want to have the length limited, because it's a zip code, a country code, a whatever you know has a fixed length.

The problem is not on the database definition, but on the user interface, that should prevent being able to put more chars that the field can accept.

Where do you experience the problem? is this in the back-office or using profiles?

Would be awesome if you could correct civicrm core to the check is done at the interface level (don't make the field longer than what the database can store) instead of the ugly error triggered by the database.

(You might want to check on the next version of civi see if you're lucky and that has already been fixed)

X+


How to uninstall from wordpress how do i do a clean uninstall of civicrm from wordpress?  I don't have any data that I need to keep.  Can I just delete the folder and drop the tables from my database?

Thank you!

If you wish to uninstall Civicrm from your wordpress - then uninstall Civicrm from wordpress plugin list - that should do the work

later you can delete the Database and also CiviCRM folder from your plugin directory.

I guess this helps - Thanks !!!


CiviCRM not creating Wordpress user accounts on member registration We are seeing intermittent behavior with CiviCRM and Wordpress. Sometimes the membership registration page will create a new Wordpress account as expected. Sometimes it doesn't. What would cause this behavior?

The CiviCRM membership registration page has the Wordpress account creation required checked in the profile and primary e-mail is present on the form. Here is the form for reference: https://aslta.org/membership/selection/

WordPress 4.3.1 CiviCRM 4.6.6

+1 for this question - I have had the same issue and I don't have the skills to pin it down. We have a "members only" section of our website and so having up-to-date WP Users is quite important. As a workaround, I go in about once a month and export "current" members from CiviCRM and then import them into WordPress to ensure that there are WP User accounts for each. It's messy but...

I thought it was just a bug with how we've got CiviCRM/WordPress setup (we're amateurs and muddling our way through!).

(Sorry this isn't a comment - I don't have enough cred yet to post them :). But it's an answer, just not a good one!)


API Explorer 4 under Joomla and Windows/IIS gives fields like {{ ts('CiviCRM API v4') }} I am running a development system under Joomla and IIS with CiviCRM 5.19.1 (5.19.0 had the same issue).  When using API Explorer 4 I get windows like this.

Under LAMP, the window makes sense.

 Any suggestions?

The problem was caused by IIS Request Filtering Hidden Segments.  By default IIS has a hidden segment called bin.  API Explorer 4 attempts to get JavaScript from

.../administrator/components/com_civicrm/civicrm/bower_components/google-code-prettify/bin/

Notice the bin folder name.  Removing the bin Hidden Segment cured the problem.  Security isn't an issue - the web site is only accessible in the local environment.


View out of office responses from contacts Following mailings is there a way to view out of office responses from contacts.  If the mailing is via Mail Chimp you get out of office responses into your inbox but on Civi you only get the number of bounce backs.  From what I can see Civi assumes the mailing has been delivered but we cannot establish if an out of office has been returned and therefore cannot keep our contact lists up to date.

Any assistance with this would be appreciated, thank you.

All the bounces, including the out-of-office responses, are saved. They're not accessible through civi, but for bounce processing you did have to configure an e-mail inbox somewhere.

So just login in there and see what's available. E-mails in the main inbox folder are the unclassified ones (should be few — end up as Syntax error in the civimail report), while everything else will be in subfolders. There is no further division, so you can't just see out-of-office bounces, but not let's say, "quota full" or "invalid account". Wading through the mails can get annoying fast, even when searching with the server return codes.

However, I don't think you really need to do it. Looking at the bounce inbox is good now and then to see if any extra classification rules are needed (to reduce the unclassified mail amount) or if you're looking for the full email response for a particular contact (the database only stores a truncated version that may lack the server response), for example why it thought your e-mail was spam.

But all this bouncing around is tracked by civi. Contacts aren't disabled after one failed delivery; most of the rules require 3 such failures and then the "no bulk mail" setting gets enabled. The out-of-office one falls under the laxest of conditions, so last time I checked, it had to fail 15 times before a contact would be determined pointless to continue delivering to.

If your question instead is about people switching jobs, then yes, you'd have to look at the emails. Depending on where you are, you can't just subscribe random new people though (GDPR).


Dietary requirements in CIVI event I'm looking for the dietary requirements in Civi Event an I can't locate the option. Please could you help?

Thanks,

Adam

You would have to add a custom field. You could add the custom field at the level of participant, where you would save the dietary requirement for that specific person at that specific event.

Alternative is to keep it at Individual level where you would record the dietary requirements of the person at any event.

Do you know how to create custom fields in CiviCRM?


How do I expose CiviCRM forms in WordPress? I recently received an email from someone who had taken over their organization's CiviCRM system that is integrated with WordPress. She was being told by their CiviCRM provider that exposing a CiviCRM form in WordPress required using iFrames, but her web developer said that wouldn't work well with their responsive design. Is there an easier way to expose CiviCRM forms in WordPress?

To publish CiviCRM forms in WordPress you need to put a CiviCRM shortcode in some content exposed to site visitors, such as a Post or Page:

Click to select a CiviCRM front-end form or page:

Then select one of the CiviCRM front-end content types. Depending on which one you choose, different options become available:

Note that only active CiviCRM content can be published, so if you don't see a contribution page or event or profile you just created in the dropdown list, go back to CiviCRM and make sure it is active.

For Contribution Pages, navigate to Contributions > Manage Contributions, beside relevant page click Configure > Title and Settings, then at bottom of page click to enable Is this Online Contribution Page Active?

For Events, navigate to Events > Manage Events, beside relevant event click Configure > Title and Settings, then at bottom of the page click to enable Is this Event Active?

For Profiles, navigate to Administer > Customize Data and Screens > Profiles, beside the relevant profile click more > Enable.


DB Error: no such field (Joomla - view contact) please I need help. When I go into the backend to see the details of a contact, I get the following error:

Sorry but we are not able to provide this at the moment.
DB Error: no such field

Return to home page.

I cant find any error logs, nothing is displayed on the debug, I just dont know where to else look for an issue.

I also upgraded to the latest version 4.7.14
I ran the database upgrade successfully
I downloaded a sql file of the entire database
and compared it with a fresh new installation - no difference on the
structure

Please, what else can I check?

Thank you in advance

Problem Solved!
I had a broken custom profile with broken custom fields.
I was not even able to delte those fields and that profile from the backend.
Had to go into the Database and delete the entire table which is related to that profile.

That fixed the problem.


Does CiviCRM have servers in Canada? Does CiviCRM have servers in Canada and is it possible to only store your information on them?

CiviCRM is unlike other online CRMs in that you can host it yourself, rather than rely on the corporation that writes the software to host it.  So you can host it wherever you like.  This is a major selling point for jurisdiction-sensitive organizations!

If you don't want to host it yourself but would prefer your vendor handle it for you, that's also an option.  Karin's answer is a good example of a Canadian provider who can host your CiviCRM site on Canadian servers.


Different forms depending on user roles I want to customize the "Edit Contact" form depending on roles.
What's the best way to do it?

create different templates. It's possible to distinguish inside a .tpl the user role?
create a Drupal view
....

Thank's a lot

You say you want to change 'Edit Contact' - but if you mean, you want a way for a logged in user to be able to be directed 'somewhere' to update their details, then here is one non-coding solution suitable for just a couple of different roles that i hope others can improve on. (The more I wrote this out the more convoluted it seemed

Ingredients:
- one webform using webform_civicrm module per role
- one View with displays set for each role

Recipe:
Set the webforms up so cid1 is the logged in user, and provide the fields you want depending on the role for each webform.
With the view make a block per role or use some php sauce so that the link that it provides varies per role. Stack the block(s) to show on /user perhaps.
Set the link in the block to send the user to the webform that is relevant to their role.


Hide some tags for non-admin users We are using CiviCRM to manage different kinds of contacts. Therefore we have some tags that are irrelevant to the "regular", non-admin users (e.g. "check membership fees" for a user who doesn't even have permission to view member contacts)

The tag list starts to become long and cluttered. Can I hide some tags (and their child tags) for some users?

Maybe something similar to hiding/showing a "set of custom data fields" using ACLs?

It's not a perfect solution, but to help declutter you could create an "Admin tags" tagset and make all the admin tags children of that one. They'd still be available to the non-admins but wouldn't be in the regular list of tags -- they show up as an autocomplete field underneath:


Is it possible to change the Invoice numbers that are used in CiviCRM? I have a customer that is wanting to customize/assign invoice numbers to each receipt/invoice for event registrations rather than the long and completely random ones that CiviCRM puts out and not just for those who select "Pay Later". Is this possible to do? Is it possible to have it reflect for all CiviEvents going forward?

Any help would be greatly appreciated. :)

Using: CiviCRM 4.6.8
Drupal 7

Thank You,
Nicole

The invoice ID it shouldn't be a random number, I might be wrong but I believe under normal circumstances (unless an extension is already hooking in the contribution entity) the invoice ID is taken from the contribution ID.

As I'm not quite sure what is exactly what you want to achieve, here are some thoughts, I won't elaborate too much.

If what you want is to manually assign a invoice number, you can create a custom field, create a custom token for the given field and edit the invoice template (navigate to Administer - Communication - Message Templates - System Workflow Messages - Invoice receipt) replacing the invoiceID with your custom token.

If you want the custom invoice ID to be generated automatically every time a new contribution is submitted, I don't think there is a straight forward way to do it, as you will need an autoincrement value, and I can't think of an easy way to do that, mysql only allows one autoincrement column per table and when creating a custom filed, Civi creates a new table in the database with a autoincrement column, maybe some of the core team could point you in a better direction.

My thoughts:

(a bit of a workaround, maybe not the best way as I said) create a custom field group with an INT text/numeric field, using the appropriate hooks, save that filed in every Contribution submission and copy the value of the ID (autoincrement column) of the custom filed group to the custom filed itself so you can search by invoice id, create the custom token and modify the invoice template.

Hope I explained myself.


Why does my 'Delete Case' action in the case search report not work? When I use the 'Find Cases' report (from the Case menu), and I select [Delete Cases] it does nothing. And it looks de different. Like this:
CiviCRM version  5.34.alpha1 on Drupal:
And besides that, the search part looked funny too:
The search from and the to fields are visible.
In the JavaScript console I see the following message in red:
select2.min.js?qmiq9r:75 Uncaught query function not defined for Select2 custom_13_from

It has to do with an added custom field. See:
Its a range and an option list.
Workaround.

Go to the custom field definition (it's somewhere on cases, for techies, you can find the id in the javascript error.
Change the Field Input Type to Single Line Input Field
Now Search by Range is visible. Uncheck it.
Set the 'Field Input Type' back to the former value.
And save.

The case report should by back to normal.


Using Mandrill for mass mailings Do somebody know if i can use Mandrill as mass mailing, or is there somebody who use Mandrill for mass mailings?
Are there other providers that are compatible with civicrm, for mass mailings?
Kind regards.

Yes, you definitely can connect CiviCRM to Mandrill for email delivery, including mass emails. Theres also Sparkpost etc. We did a video on the subject if you're interested. https://youtu.be/lQvl4i86Z6Q


Editing a submission on Drupal Webform - not updating CiviCRM I've got a webform that creates a Case and two Contact Records (one of whom is logged in as authenticated user). I want to allow the user the ability to edit the webform.

I've tried two options:

Encouraging them to use this page: mysite.org/node/1/submissions

However, any changes they make are only saved in the webform, and CiviCRM Case info is not updated.

Providing a link < a href="https://mysite.org/amend-individual-grant-application/?cid=[contact_id_b_]&caseid=[id]">View submission

This is slightly odd - it prefills the information, but conditions don't appear to work (e.g. fields are hidden when they should be shown) and I have the same problem as option 1.

I wondered if it's a permissions issue - I gave permission to edit all contacts (since there is more than one contact involved) but there's no equivalent for Cases (only 'access my cases/all cases', which is not quite the same thing).

Any ideas why the information is not saving in CiviCRM?

Basically, the webform was unable to update a submission with more than one client. I've had to rethink a couple of things and rely on relationships for the second 'client' so that there is a single Client per Case.


Is there any way to switch off e-mail notifications in CiviCase? It seems that CiviCase sends out e-mail notifications for any change that is done in case activities. Is there a way to switch off these automatic e-mail notifications? (manual e-mail messages should still be possible, though)

AFAIK you can only switch off for email notifications for all activity mails, not specifically for case activities only.


I need to find the Host URL, Site key and API key I need to find the following details for my CiviCRM account:

Host URL,
Site key and
API key.

Where can I find them?

Thanks so much,
Silvia

Host URL

Depending on the context of your situation, this is probably referring to the domain name of the site where you use CiviCRM. So if you see https://example.org/civicrm when using CiviCRM, then the host URL is example.org

Site key

This is one value, used globally for your CiviCRM installation and stored in the civicrm.settings.php file on your server. (The location of this file will differ depending on what CMS you use.)

Within the file, you'll find a section like this:

if (!defined('CIVICRM_SITE_KEY')) {
  define( 'CIVICRM_SITE_KEY', 'J8UdnKcpN93x0mvv');
}

So here, your site key would be J8UdnKcpN93x0mvv.

API key

API keys are unique to CiviCRM contacts. You'll need to create an API key for a contact if you want to use the API through the REST interface.

If you are setting up an external service to connect to your CiviCRM installation, it's probably worth creating a new contact record specifically for this service to interact with your site. Then you can grant specific permissions to this user just like you would do for a real person.


Outbound SMTP through Google Apps: Rejected Connection When I try to set up my SMTP through our Google Apps, I keep getting errors:

  Failed to connect to ssl://smtp.gmail.com:465 [SMTP: Failed to
  connect socket: Connection refused (code: -1, response: )]

I have tried all the different ports and also a personal Gmail account. I've seen other questions and how Google puts a cap on email campaigns. We are planning on using our existing Mailchimp for mass emailing. This is also a new installation. Any ideas how to connect?

It doesn't appear to be an authentication issue, it appears to be a network issue. Do you have a firewall on the server, or between the server and the Internet that could be blocking your outbound request to port 465?


Manually add Membership Renewal Activity For one client I have a member who anticipated his renewal and for a reason I don't understand, CiviCRM didn't add a 'membership renewal' activity. Because I have rules triggered by this new activity I need to manually add it. I know how to manually remove but is there a way to manually add this activity. I only found Meeting and Phone call.

Any ideas

regards,

Guillaume

You can use the API Explorer to do this (Support menu » Developer » APIv3 Explorer) but this isn't recommended unless you can test it first on a test site.  Select Activity as your entity and Create as your action, you should be able to pick any Activity Type from there.

It's also worth trying to figure out why the activity wasn't created to begin with, otherwise it may happen again.


Can I use {contact.checksum} in membership confirmation receipt I am using CiviCRM with WordPress 5.3.2.

I've managed to use the {contact.checksum} feature to send folks a link to edit their profile, in a one-off or bulk email.

Now, I would like to include that capability in the membership confirmation receipt.  I tried including it in the "Receipt Message", but apparently html isn't allowed there.  Should I try to insert it into the relevant system Workflow message?

I would also like to include it in the "Thank you footer" of the contribution (so that users can immediately edit their own data, without waiting for the email. But the link just give error ("No user/contact ID was specified, so the Profile cannot be used in edit mode.")  Is there any way to do this?

You can include token in any message template. The system workflow message template doesn't show editor hence you will need to add content in html format. But the normal message template does show ckeditor, if you want to provide a link to a text you can click on button  on ck editor option bar and add url with contact check sum.

Regarding Thankyou footer, its not possible to add tokens as CiviCRM doesn't support it at the moment, however you can certainly achieve this by implementing preProcess() or buildform() hook via extension/plugin/module.


After upgrading to 4.6 CiviMail HTML version is uneditable I'm doing some testing on 4.6 and after upgrading a site, I don't have the option to click into the HTML section when creating a mailing. The Plain Text section seems fine.

I have cleared caches and even tried changing the WYSIWYG editor to "Text Area" to see if it was something related to the editor, but it's the same:

Does anyone have an idea on how to get the CKEditor to show?

There's an issue+patch filed for 4.6.1 at https://issues.civicrm.org/jira/browse/CRM-16246. You can try disabling Drupal's aggregation as a work-around (by visiting "admin/config/development/performance"). If that work-around doesn't resolve it, let us know (since that would mean it's a different problem).


How to fix translations in CiviCRM 4.7 We have a localized CiviCRM instance (Dutch), and after upgrading from 4.6 to 4.7, some things are not translated. In particular, after a contact search, the tasks you can do on the results (add relationship, delete contacts) are not translated.

So I created a Transifex-account, but there it says that all strings are translated. (I tried to see the translated strings using the Transifex UI, but I always get 'There was an error connecting to server.   Reload   '.)

This was not very helpful, so I cloned the l10n-repository from github. I looked at the .po-files, and it looks like they are automatically generated from the sources of 4.6. In 4.7, lots of strings changed, like e.g. in 7f82e636, but the new strings are not in the po-files.

So I wonder how we'll get CiviCRM 4.7 correctly translated.

Exists an unresolved localization issue that probably explains your translation problems. You can see here:

CRM-17737
New Mailer dialog seems impossible to translate


What is the differences between Suitecrm and CiviCRM? I am wondering to know about differences between CRMs, especially suitecrm and CiviCRM when can I use them and can I use both of them on WordPress website together?

CiviCRM is made for non-profits. The C in CiviCRM points to your constituents. These are organisations and persons that share the mission of the non-profit. You can use CiviCRM to store the contact details, like address, telephone, and email, but it also has specific modules for specific non-profits processes like:

CiviContribute to register donations.
CiviMembership to register members.
CiviEvent to register participants for events.

I do not know SuiteCRM but mostly the C in CRM is short for customer, and the application supports the process of selling products and services

Your choice of the software depends on what you want to do.


Runtime Exception Booted CiviCRM, but failed to find 'api/class.api.php' I created an extension module with civix then cd'd to the module directory and tried to create a custom report based on a copy of an existing report. I used the following command:

$ civix generate:report --copy CRM_Report_Form_Case_Summary DemandCaseReport CiviCase

This generates an error message that I haven't yet been able to fix.

Initialize report CRM_Case_Form_Report_DemandCaseReport

[RuntimeException]
Booted CiviCRM, but failed to find 'api/class.api.php'

generate:report [--webPath [WEBPATH]] [--copy [COPY]] [--] <<ClassName>> <<CiviComponent>>

I'm using civix version v16.03.2-3-geeff5c0. It's a WordPress installation.

I can see that a file with that name resides in /wp-content/plugins/civicrm/civicrm/api/class.api.php

Is there an environment variable that I should be setting or something else that I'm overlooking?

Grateful for any tips, thanks.

It appears that civix is ignoring or overwriting additions to or modifications of the include_path. I added the full path name /Applications/MAMP/htdocs/xxx/civcrm/wp-content/plugins/civicrm/civicrm (where api resides) to include_path in the php.ini (checked I got the right one with php --ini). That didn't work.

But I got it to work by soft linking the api directory into the new extension directory, i.e. changed directory to the extension directory and did the following command: $ ln -s /Applications/MAMP/htdocs/xxx/civcrm/wp-content/plugins/civicrm/civicrm/api .

It's not an ideal solution but it enabled meet move forward.


4.7 Utils/Mail.php doesn't check if CC/BCC are null but should Acc'ding to Civi documentation, PEAR packages needed by Civi are included w/the install, so the mailer functionality is determined by Civi.
I am running Civi for WP v 4.7.20 with PHP 5.6.16 and Apache 2.4
System mail setting is mail() - the mail 'test' works because only 'from','to','subject' and 'message' are set.  But system mail (e.g. registration mail or ad hoc mail sent to event participant) fails.

Solution: replace current lines in Utils/Mail.php where no check for null CC, BCC is made, with the following (line 194 +) from older version of Mail.php:

if (CRM_Utils_Array::value('cc', $params) != NULL){
  $headers['Cc'] = CRM_Utils_Array::value('cc', $params);
}
if (CRM_Utils_Array::value('bcc', $params) != NULL){
  $headers['Bcc'] = CRM_Utils_Array::value('bcc', $params);
}

I don't know why the code was changed to not check for null. It seems it doesn't hurt to check, and if null CC/BCC are put into headers, mail() fails.


Civi Reporting - where's the preview tab? I am building activity reports and the preview tab is missing from the top , likewise I am unable to access the report title tab.  is this something that can be added in , if so, how ? thanks in advance

If you have an older version of extended reports extension, or the advanced reports extension installed this can happen. Assuming you are on 4.7 make sure that if you have those extensions they are up-to-date


How to setup Cron in Civicrm- local server -job.execute works, cron runs when i click Execute Now
-individual and group test mail works properly
-curl is running
-joomla 3.8.7
-apache 24
-php 7.2.4
-civicrm 5.0.1
Here's the problem:
-I could not find a solution, I know how to make a schedule job in window to run cron.php, but cron needs the CMS's username and password, so I did as Bobs suggested
-But there was an error saying No such file or directory

-Then i notice there is duplication in directory in Joomla.php, I guess this is the cause (because civicrm_root contains absolute path and defines.php has another) but i dont know how to fix it
 /**
  * Setup the base path related constant.
  * @return mixed
  */
 public function getBasePath() {
   global $civicrm_root;
   $joomlaPath = explode('/administrator', $civicrm_root);
   $joomlaBase = $joomlaPath[0];
   return $joomlaBase;
 }

update:
-Did as Bobs suggest, to change civicrm.setting.php civicrm_root's directory slashes, it works! but new problem spawns
Warning: require_once(\libraries/import.legacy.php): failed to open stream: No such file or directory in C:\Apache24\htdocs\joomla\administrator\includes\framework.php on line 15
Fatal error: require_once(): Failed opening required '\libraries/import.legacy.php' (include_path='.;C:\Apache24\htdocs\joomla\administrator\components\com_civicrm\civicrm;C:\Apache24\htdocs\joomla\administrator\components\com_civicrm\civicrm\packages;C:\Apache24\htdocs\joomla\administrator\components\com_civicrm\civicrm\vendor/tecnickcom;C:\Apache24\htdocs\joomla\administrator\components\com_civicrm\civicrm\vendor/phpseclib/phpseclib/phpseclib;C:\Apache24\htdocs\joomla\administrator\components\com_civicrm\civicrm\vendor/pear/pear_exception;C:\Apache24\htdocs\joomla\administrator\components\com_civicrm\civicrm\vendor/pear/auth_sasl;C:\Apache24\htdocs\joomla\administrator\components\com_civicrm\civicrm\vendor/pear/net_socket;C:\Apache24\htdocs\joomla\administrator\components\com_civicrm\civicrm\vendor/pear/net_smtp;C:\Apache24\htdocs\joomla\administrator\components\com_civicrm\civicrm\vendor/pear/validate_finance_creditcard;.;C: in C:\Apache24\htdocs\joomla\administrator\includes\framework.php on line 15
i tried to change some lines in administrator/includes/defines.php or duplicate joomla/libraries to joomla/administrator, then it said
No configuration file found and no installation code available. Exiting...
my goodness i just want this cron works, why so complicated :(
Conclusion:
-seems like compatibility problem with joomla 3.8.7 and civicrm 5.0.1, please check comments below for references

There is no cron command in Windows. Instead, use Task Scheduler to create scheduled tasks that call wget, curl, or php.


why i cannot get all number errors when importing data i face errors data when import.
when i click download erros , i can't get all of them
for example erros = 4000, when i click download erros link i only got 500.
why are cannot i get all the number of errors?
i attahed for more detail.

thanks in advance
civicrm 4.411
drupal 7.32

I am not sure how you got 500 Error because by default only 250 errors will be printed in civi. if you want the full list just go to CRM/Import/Parser.php file and change the const MAX_ERRORS value. This way you can get the full list. also do consider the DEFAULT_TIMEOUT.


How to configure Membership Status Rules so expired members can renew? My dilemma is not being sure I have set the membership status rules correctly. One enigma is the Start/End event adjustments. An example of explanatory text goes:

  Optional adjustment period added or subtracted from the End Event.

Using the plus [+] or minus [-] sign does not get retained when saved, so how is an integer interpreted without a sign, in those adjustments?

The primary problem I've been alerted to is difficulty with renewing any expired memberships. Despite this helpful prompt . . .

  Renewing will add the normal membership period to the End Date of the
  previous period for members whose status is Current or Grace. For
  Expired memberships, renewing will create a membership period
  commencing from the 'Date Renewal Entered'. This date can be adjusted
  including being set to the day after the previous End Date - if
  continuous membership is required.

. . . it seems that I have set something up incorrectly, as, when folks try to process an expired (after-grace-period-has-ended) member's renewal, the response is:

  Sorry but we are not able to provide this at the moment. Oops, it
  looks like there is no valid membership status corresponding to the
  membership start and end dates for this membership. Contact the site
  administrator for assistance.

It seems they can't get to the point where the dates can be changed to effect continuous membership for tardy payers. I.e:

  For Expired memberships, renewing will create a membership period
  commencing from the 'Date Renewal Entered'. This date can be adjusted
  including being set to the day after the previous End Date - if
  continuous membership is required.

What have I done wrong and how do I fix it, please?

v4.4 running on WordPress

EDIT (as requested)

The organisation only asked for three types: current, grace and expired.
The present rules are:

Status......Start Event......End Event......Member

Current.....start date.......end date...........Yes....(weight 1)

Grace.......end date.........end date..........Yes....(end event adj 12 months, weight 2)

Expired.....end date..................................No....(end event adj 13 months, weight 3)

Not sure how my attempt as columnar layout will fare, so I apologise if it's hard to read/follow.

The requested grace period was one month. I recently changed that to 12 months, in an effort to get over the problem described in my first posting. Despite heeding the advice and looking at the WP demo, (during which nothing bit me in the eye), I do think I have a mental block with this conundrum. (aka user incompetence)

I think there are 2 separate issues here.  I'll try to tackle each.

  Using the plus [+] or minus [-] sign does not get retained when saved

I just tested on Civi 4.4, and a minus sign is saved, a plus sign is not.  An unsigned integer is considered positive here. If this isn't what you're seeing, try to replicate your situation on the demo site.

  Oops, it looks like there is no valid membership status corresponding to the membership start and end dates for this membership.

CiviMember works by evaluating the membership status rules in order.  The rules may overlap - for instance, a "current" member can be start date to end date, and a "new" member can be start date to (start date + 1 month) - in that case, whichever rule comes first takes priority.  However, you can NOT have a gap where no status applies.  That's what causes this error.

Given your particulars, my guess is that your users are trying to create an "upcoming" membership - where the join/start dates are in the future.  Unless you create a membership status that covers that (e.g. "upcoming is (start date - 1 month) to start date"), you'll get this error.

If this doesn't answer your question, please edit it with concrete numbers - what your membership status rules are, and what the join, start and end dates are for a membership that causes this error.

UPDATE: I know this is months old - but I just saw your update.  The "Grace" period ends 12 months after the end date - but expired doesn't take effect until 13 months after the end date.  You'll see the error you're seeing for anyone whose membership ended between 12 and 13 months ago.  Set your "Expired" to take effect 12 months after the end date, to match the end of the Grace period.


How to api access relationship notes? I tried this in the 4.7.25 demo but the same is valid for 4.6.33.

Using the web GUI I added a test description and test note to an existing relationship
With API browser I listed relationships with Relationship get to see the content of this relationship.
I only see the description listed not the note. Neither does Notes appear in the "Fields to return", nor can it be chosen as a filter Parameter.

Does this mean that Relationship Notes are not supported by the API? If so, how should report this? As a bug? A missing feature?

The Note is stored separately, so you can get it via chaining:

$result = civicrm_api3('Relationship', 'get', array(
  'sequential' => 1,
  'relationship_type_id' => 6,
  'api.Note.get' => array(
     'entity_table' => "civicrm_relationship",
     'entity_id' => "\$value.id",
  ),
));

To do that with the API explorer, use the Chain API Call button and enter the note parameters as JSON: {'entity_table':'civicrm_relationship', 'entity_id':'$value.id'}


Migrating user data from Community Builder We have a very large user database using Community Builder. After installing CiviCRM, it doesn't appear to be recognizing any of the data from Community Builder. Is there a migration tool or procedure to import that data into CiviCRM?

I've never used it and don't know whether it functions with current versions of CiviCRM, but there is (or was) a tool that seems related to what you are asking (although maybe just synchronizing going forward, not for existing contacts):
Joomla 2 CiviCRM User Synchronization

  This plugin integrates the Joomla and/or Community Builder
  registration process with CiviCRM.

  Newly created Joomla website users (from Joomla or Community Builder
  frontend or backend) will be matched with existing CiviCRM contact(s)
  based on their email address. If no matching CiviCRM contact is found,
  a new one will be created and synchronized with the Joomla user. The
  plugin can also be configured to attatch and assign a new CiviCRM
  activity to the contact.

If that's not a good solution, you may be able to prepare or download a CSV file from Community Builder and do an import to CiviCRM manually.


Warning: Illegal offset type (multiple) when creating new report from template (D8/Civi5.11) I'm using Drupal 8 / Civi 5.11

I get the following errors on the screen multiple times (one for each Drupal role in my system) when I attempt to create a new report in CiviCRM (CiviCRM->Admin->CiviReports->Create New Report From Template -- using Constituent Summary, for example):

Warning: Illegal offset type in CRM_Report_Form_Instance::buildForm() (line 135 of /var/www/site/vendor/civicrm/civicrm-core/CRM/Report/Form/Instance.php).

It appears that on line 135, the Drupal roles are being iterated and assumed to be strings.  They are, in fact, objects in Drupal 8.

Does anyone know if this is a bug already reported/being work on?  I've looked at the issue queue but haven't turned anything up.

Is my system, perhaps, just misconfigured and it's not a bug after all?

Its a bug in CiviCRM and is not handled properly for D8, you can fix this by applying below patch

diff --git a/CRM/Report/Form/Instance.php b/CRM/Report/Form/Instance.php
index 8f00408a17..965949e21c 100644
--- a/CRM/Report/Form/Instance.php
+++ b/CRM/Report/Form/Instance.php
@@ -112,7 +112,13 @@ class CRM_Report_Form_Instance {
     if (function_exists('user_roles')) {
       $user_roles_array = user_roles();
       foreach ($user_roles_array as $key => $value) {
-        $user_roles[$value] = $value;
+        if (is_object($value) && is_a($value, 'Drupal\user\Entity\Role')) {
+          $value = $value->label();
+        }
+        else {
+          $key = $value;
+        }
+        $user_roles[$key] = $value;
       }
       $grouprole = $form->addElement('advmultiselect',
         'grouprole',


Membership Renewal Reminder Issue We have been having issues trying to add a scheduled email reminder for members that have a membership expiring in two weeks. Every time we try - CiviCRM stalls and the logo simply spins.

Only error I can find is

send @ jquery.min.js?r=kX8Gx:4
/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2FscheduleReminders&action=add&snippet=json:1 Failed to load resource: the server responded with a status of 403 ()

also the warning:

send @ jquery.min.js?r=kX8Gx:4
/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2FscheduleReminders&action=add&snippet=json:1 Failed to load resource: the server responded with a status of 403 ()

I was not able to duplicate in the demo - any idea what is happening?

Latest wordpress and CiviCRM

Turns out Wordfence was blocking the param for the following reason:

blocked by firewall for XSS: Cross Site Scripting in POST body:
User in city left https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2FscheduleReminders&reset=1 and was blocked by firewall for XSS: Cross Site Scripting in POST body: html_message=%3Cp%3E%26nbsp%3B%3C%2Fp%3E%0A%0A%3Cp%3E%3Cmeta%20charset%3D%22utf-8%22%20%2F%3E%3C%2Fp%3E%0A%0A%3Cp… at https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2FscheduleReminders&action=add&sni…


Membership signup when already a member I have configured a one year fixed membership type. The membership renewal period has been fixed 3 month before the end of the current year.

When a member fills up the membership signup form, his membership is automatically renewed for one year, even if is not the renewal period.

Thus, if a member filled up several times the sign up form, one year is added to his membership time.

Is it possible to force membership only for the current year, except during the renewal period which include the next year?

Thank you.

This is hard to answer without more details, such as your CiviCRM version and CMS type.

If your CMS supports it - I think the easiest way to handle this is to create a separate membership page for renewals, and create a membership status for folks within three months of renewal.  Control access to that page with CiviMember Role Sync (for Drupal) or CiviCRM WP Member Sync (WordPress).

If none of that's an option, and you feel comfortable writing code (or know someone who can do it for you), you can use hook_civicrm_validateForm() to have the membership fail validation when membership end date falls outside of a given range.

Of course, the simplest answer - explanatory text telling people not to renew if it's not their time - shouldn't be overlooked.


Building email lists I am not new to Drupal but I am new to CiviCRM. I am building an email list, Does CiviCRM remove or scrub email lists?

I'm not sure if civicrm uses the same words so I'm just going to guess a bit what you're asking:
What I think you mean is if the email address is wrong or the email bounces, does it stop sending to them. Yes in general. See https://docs.civicrm.org/user/en/latest/email/maintaining-healthy-email-lists/
If you mean removing duplicates, it has features for that - see https://docs.civicrm.org/user/en/latest/common-workflows/deduping-and-merging/
If by scrubbing you mean cleaning up the data so it's more consistent, you may need an extension. Which one depends on what your concerns are. One example is https://civicrm.org/extensions/cividesk-normalize


CiviContribute Thank You Letter not emailed - using CiviDesk SparkPost CiviCRM 4.7.22

I am trying to send CiviContribute thank you letters by email using this workflow:

Find Contributions > Actions > Thank-you letters - print or email

Invariably, I get the following error:

  An error occurred when CiviCRM attempted to send an email (via SMTP). If you received this error after submitting on online contribution or event registration - the transaction was completed, but we were unable to send the email receipt.
  The mail library returned the following error message:
  The SparkPost service is unavailable due to a sending error, and the backup mailer is not enabled or not configured.
  This is probably related to a problem in your Outbound Email Settings (Administer CiviCRM » System Settings » Outbound Email), OR the FROM email address specifically configured for your contribution page or event. Possible causes are:
  Your Sendmail path is incorrect.
  Your Sendmail argument is incorrect.
  The FROM Email Address configured for this feature may not be a valid sender based on your email service provider rules.

I am using CiviDesk SparkPost for my emails.  I am able to successfully send transactional and CiviMail emails.  My email address works just fine for these, and it is configured in the FROM email addresses.  I am a site administrator, so full permissions.

Any clues?  Thanks for helping me troubleshoot.

Update: I tested again using this workflow:

Find Contributions > Actions > Email - send now

And the Thank You emails went out without incident.

So it seems to me that my email setup is perfectly fine.  This must be an issue with CiviContribute and the Thank You Letter workflow.

If anyone finds this post and is experiencing problems with the Sparkpost extension by PESC (not CiviDesk) this link may help:
Event registration fatal error since v5.0.1


How to get a list contacts that have not donated within a certain amount of time? Hello CiviCRM community,

I've been trying to wrap my head around this and can't seem to figure it out.

I'm looking to get list of contacts that have not donated within a certain amount of time to target them to donate.

Any ideas on how to run this report?

I would use the CiviRules extension to achieve this. With this extension you can check if contacts in a certain group have not donated for a period of time for example.

You can find the extension here: https://civicrm.org/extensions/civirules (or in your extension list)

Documentation on using this extension can be found here:https://docs.civicrm.org/civirules/en/latest/


Membership Renewal from CiviCRM user dashboard error Civi 5.10.4 - Wordpress 5.1

We have set up that when users login, they are automatically forwarded to a wordpress page called User Dashboard - where we embedded a shortcode for their CiviCRM dashboard to populate. There is a link on that civicrm dashboard page to "renew now" for those with expired memberships- but it links to a contribution page that we no longer use for membership.

Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.The page you requested is currently unavailable.

The default membership contribution page is setup correctly too.  This seems to only happen to those users that became members with the old contribution page - if they go to the new contribution page to process their membership renewal - it works out fine.

Is there anyway to redirect links to the old contribution page to the new contribution page?

This extension may sort out part of your problem - Disabled Page Redirect


Assigning case roles via webform? I have inherited a Drupal + CiviCRM 4.7 site which uses CiviCase to track applicants for an award. The applicant is the case client, and each case (nomination) has up to three judges assigned, who are supposed to submit scores on the case itself.

On the existing Case Type "Nomination" I have created the Case Role "Judge [for]" to link the judge and the applicant.

Right now, these assignments are handled manually, and I would like to set up a Webform CiviCRM interface for it; I cannot, however, find a way to add these role assignments. The webform has four contacts (for the applicant and each of up to three judges), but there is no way to set up the Judge role, only Case Client and Case Creator.

I tried setting this up in Rules using relationships, but it creates general relationships, not case relationships, and so the Judges do not have permission to view and modify the case.

Did I miss a step?

I think its an issue with Webform module itself where it doesn't show relationship if you have relationship type label and name different.

Developer from Circle-Interactive submitted a fix for this today. Can try applying patch if it displays the relationship type on case tab of the webform?

Thanks

Pradeep


Can you customize a contribution page? I have a contribution page set up for users to sign up for memberships. There are several ways in which the presentation could be better. To give some examples:

Users have the option of contributing in addition to membership. This
is currently labeled "additional contribution" and I would like to
change the title to reflect the fund they are contributing to.
Users have the option for auto-renewal. This auto-renewal box is currently under the "additional contribution" which makes it appear to the user that they will be billed the additional amount each month as well. I'd like to moveh te box to make it clearer.
We are using CiviDiscount, and I'd like to change the placement on the page and the language used for this as well.

Is all this customization something that can be done? How would you go about it? I'm in Drupal 7, and if there's a way to do this in webform I'm happy to, but I'm not sure how to include the discounts...thoughts?

We have some examples of how to customize Contribution forms in our iATS Payments extension. Essentially the recipe involves: buildForm hooks, custom templates and JavaScript. I'll try and explain below how they all tie together:

buildForm hook

https://github.com/iATSPayments/com.iatspayments.civicrm/blob/master/iats.php#L285

Here we check what form we're on (event, contribution, backend, frontend, etc.). For the main contribution page we're:

case 'CRM_Contribute_Form_Contribution_Main':
  $fname = 'iats_civicrm_buildForm_Contribution_Frontend';

function iats_civicrm_buildForm_Contribution_Frontend(&$form) {

https://github.com/iATSPayments/com.iatspayments.civicrm/blob/master/iats.php#L781

Let's say we have ACHEFT (debit) payment processor and currency is CAD - and we want to customize the contribution form - to use Canadian language for direct debit, display Canadian instructions and help the user fill out the fields by displaying a Canadian cheque image.

if (!empty($acheft[$form->_paymentProcessor['id']])){
  iats_acheft_form_customize($form);

function iats_acheft_form_customize($form) {

https://github.com/iATSPayments/com.iatspayments.civicrm/blob/master/iats.php#L612

$fname = 'iats_acheft_form_customize_'.$currency;

function iats_acheft_form_customize_CAD($form) {

https://github.com/iATSPayments/com.iatspayments.civicrm/blob/master/iats.php#L660

Here we addElement-s, addRule-s; setLabel-s:

 $form->addElement('text', 'cad_bank_number', ts('Bank Number (3 digits)'));
 $form->addRule('cad_bank_number', ts('%1 must be of length 3.', array(1 => ts('Bank Number'))), 'rangelength', array(3,3));
 $element->setLabel(ts('Bank Number + Transit Number'));

and inject the CAD template:

CRM_Core_Region::instance('billing-block')->add(array(
    'template' => 'CRM/iATS/BillingBlockDirectDebitExtra_CAD.tpl'
  ));

In that https://github.com/iATSPayments/com.iatspayments.civicrm/blob/master/templates/CRM/iATS/BillingBlockDirectDebitExtra_CAD.tpl

We load js (to move the fields around):

We inject a CAD Cheque image:

and render the fields we just created - e.g.:

{$form.cad_transit_number.label}

{$form.cad_transit_number.html}

The js files are located here:

https://github.com/iATSPayments/com.iatspayments.civicrm/blob/master/js/dd_acheft.js
https://github.com/iATSPayments/com.iatspayments.civicrm/blob/master/js/dd_cad.js

In them you we do quite a few things - like move fields around and run some validations on the bank number and the transit numbers that were entered.

Hopefully these examples will be useful to you! I realize it's probably more than you bargained for! But once you get these techniques under control - you'll be able to gain full control over all your CiviCRM form pages.

End result for this example:


Does CiviVolunteer need volunteer sub-contact type? We have found that it is more cumbersome than it is worth to use a 'volunteer' sub-contact type classification. One reason is profiles assume one contact type and even working with Caldera Forms it over-complicates matters. Simply, 'Volunteer' is not a distinct enough categorization, at least for us to make it a sub-type.

Are there any effects on the project management side of CiviVolunteer where this is not advised?

We would simply change the custom field set to apply to individuals.

I know this is an old question, but it doesn't have an answer.

The "Volunteer" sub-contact type ships with CiviCRM core and is, for the most part, unrelated to CiviVolunteer. The "Volunteer Information" custom field set ships with CiviVolunteer merely as a demonstration of the "slider" functionality. That it is configured as a "Volunteer" rather than an "Individual" field set is arbitrary.


"Mailing" tab won't disappear after disabling CiviMail component Shouldn't the "Mailing" tab in the navigation disappear when I disable the CiviMail component in the administrator settings?

Because I can still see it, after I disabled the component and I get a access error when I click on a drop down link of the tab.

CiviCRM version:4.6.8CMS version:Drupal 7.39MySQL version:5.0.10PHP version:5.4.7

This appears to be a bug - I was able to reproduce it as well. Normally disabling a component should hide the menu items associated with it.
If this is important to you, you could try to figure out what's going wrong and submit a pull-request with the code to fix it, or else provide funding to fix it in the paid issue queue. Unfortunately the core team doesn't have capacity to fix non-critical bugs unless someone provides code or funding.


Missing actions dropdown I am trying to export a list from CiviCRM and I seem to be missing the actions drop-down. I have used this field before, but it has dissappeared. I have attached an image of what my screen currently looks like  when I am doing an advanced search. From memory, the Actions drop-down usually sat underneath the 'edit search criteria' section and above the "A,B,C.." search function. I am using a Macbook and have tried both Firefox and Safari in case the browser is not supported properly, but neither seem to work.

I had the same issue and found the problem.  Perhaps this will help you.  On my site, I modified the css to hide some information from the public facing CiviCRM pages. When I did that I also hide the Actions Drop-down. When I commented out this one line, the Actions Drop-down displayed again:

/* .crm-container #search-status {display:none;} */


What is the best way to record the primary contact for an organisation? I'm trying to understand the best way to record that a contact is the primary contact amongst the many related employees of an organisation. Does Civi have an in-built way of handling this?

Option 1 for me was to setup a tag called Primary Contact and provide this tag to the Primary Contact.

Option 2 was to create a custom field with Primary Contact (Yes/No).

Option 3 was to setup a new relationship "Primary contact of".

Which option would be the best to maintain? Any other thoughts?

Option 3 is the clear winner, because neither option 1 nor option 2 have a clear way of indicating which organization they're the primary contact of.  As soon as someone is affiliated with two organizations, that means trouble.

The unfortunate part of this is that you can't assign a profile via a relationship.  You can do so via Webform-CiviCRM, or via Caldera Forms CiviCRM, and when afform comes out, you'll be able to use that.  However, since you also can't create two contacts in one profile, that doesn't generally cause issues.