Form Processor on WordPress - undefined offset: 1 I have a Form Processor set up to take newsletter signups on a WordPress.com website. The CiviCRM site is hosted separately.
It was working until recently and I've tried twice to retrace my steps but I've still not got it working.
When I test the Form Processor on the CiviCRM Site, it works as expected (matches to existing contact if present, adds group, adds Data Policy Acceptance Activity, updates one custom field).
I've checked the settings for the Contact Form in WordPress.
When I fill in the form on the WordPress site:

It just hangs, and nothing is stored in CiviCRM
The debug file says

[10-Oct-2020 12:59:14 UTC] PHP Notice:  Undefined offset: 1 in /srv/htdocs/wp-content/plugins/contact-form-7-civicrm-integration/contact-form-7-civi.php on line 59

This is lines 57-63 in the file mentioned:
  foreach($parameters as $param) {
    list($key, $val) = explode("=", $param);
    if (!empty($key)) {
      $data[$key] = $val;
    }
  }

Any ideas what I need to change/what I've missed?

If $param doesn't have an = in it then the list() wouldn't have an offset 1 element. Can you debug $param?


Extension Resource URL being rewritten When I save the Extension Resource URL it is rewritten from:

/var/www/vhosts/examplesite/httpdocs/wp-content/plugins/files/civicrm/custom_ext

to

https://www.examplesite.com//var/www/vhosts/examplesite/httpdocs/wp-content/plugins/files/civicrm/custom_ext

It looks like it is taking the https://www.examplesite/ part from the civicrm.settings.php file:

define( 'CIVICRM_UF_BASEURL'      , 'https://www.examplesite.com/' );

I'm getting a number of errors telling me that extensions are pointing to the wrong place, so I figure I've gone astray somewhere in the settings. I see the Extension Resource should be the same as the CiviCRM Extensions Directory, which currently is:

/var/www/vhosts/examplesite.com/httpdocs/wp-content/plugins/files/civicrm/custom_ext

Where have I gone wrong? Any pointers much appreciated!

Edit:

So I changed the Resource URL to https://www.examplesite.com/wp-content/plugins/files/civicrm/custom_ext, but I still seem to get an error indicating that maybe the extensions are still not pointing to the right place?

mod_fcgid: stderr: PHP Fatal error: require_once(): Failed opening required 'CRM/Core/Session.php' (include_path='/var/www/vhosts/examplesite.com/httpdocs/wp-content/plugins/files/civicrm/custom_ext/uk.co.vedaconsulting.mailchimp-1.0-beta4/:/var/www/vhosts/examplesite.com/httpdocs/wp-content/plugins/files/civicrm/custom_ext/com.drastikbydesign.stripe/packages/:/var/www/vhosts/examplesite.com/httpdocs/wp-content/plugins/files/civicrm/custom_ext/com.drastikbydesign.stripe/:.:/var/www/vhosts/examplesite.com/httpdocs/wp-content/plugins/civicrm/civicrm:/var/www/vhosts/examplesite.com/httpdocs/wp-content/plugins/civicrm/civicrm/packages:/var/www/vhosts/examplesite.com/httpdocs/wp-content/plugins/civicrm/civicrm/vendor/phpseclib/phpseclib/phpseclib:.:/var/www/vhosts/examplesite.com/httpdocs/wp-content/plugins/civicrm/civicrm/:/var/www/vhosts/examplesite.com/httpdocs/wp-content/plugins/civicrm/civicrm//packages:.:') in /var/www/vhosts/examplesite.com/httpdocs/wp-content/plugins/files/civicrm/custom_ext/uk.co.vedaconsulting.mailchimp-1.0-beta4/mailchimp.php on line 442

The 'Extension Resource URL' under 'Resource URLs' is the web-accessible URL that points to the extensions directory, not the path to that directory on the server's filesystem. The path on the server belongs in 'CiviCRM Extensions Directory' under 'Directories'.

Edit: for the example shown, the 'Extension Resource URL' is 'https://ffnew/sites/default/extensions' for a 'CiviCRM Extensions Directory' of '/var/www/html/prod/drupal/sites/default/extensions'. This will differ if you're not on Drupal.


Charts using data from CiviCRM to show on Drupal website Is it possible for a chart to be created from data on the CiviCRM side and show on the website (drupal) portion?

For example, we would like to have a graph that live updates how much of our grant has been paid out and to what category.

How about pulling your grant data into a Drupal View and then using Charts and Google Charts module to display them?


What is the Path for LTS? 4.7? We have our production site on 4.6, the current LTS.  I'd like to know what the thoughts are on the next version of LTS.  Will it eventually be 4.7?  Approximately when might that switch happen?

If there is a page already sharing this information, apologies, I couldn't find it.

The LTS as you know it is the last one!

Eileen explained the details here: https://civicrm.org/blog/eileen/the-lts-going-forwards

Essentially the idea is that through better release/QA/testing we can make the current 4.7 the Long Term Stable release. In combination with the fact that innovative ideas / new features are going to be housed in extensions.


image link in message template fails Editing a custom message template and am trying to insert an image from the wysiwig editor. Link shows up as:

I tried editing to

 Still doesn't work.

What am I missing?

Thanks,
Kate

I guess path (media/civicrm/persist/contribute/images/ ) works fine and you are getting issue with the image in path (media/civicrm/images/black_logo_250_150dpi.png") if this is the case please

check your file permission -


Contribution confirmation page is blank I have created a Member Sign-Up form that goes to a Contribution page with three price sets (one is always hidden with JS, so two appear). Under the Contribution Page's settings, "Use a confirmation page?" is checked. When valid input is submitted, the Confirmation page that comes up next has no visible content. In the HTML a form with the id "Confirm" is shown, but it has only hidden inputs and no submit button.

Does anyone know why this is happening? How can I get a normal confirmation page to appear?

This is testable at http://aplddemo.wpengine.com/sign-up/?type=student

To make this issue even more unusual, after creating a different (test) Contribution page and completing a transaction on that, the original confirmation page began working. My immediate issue is solved, but I'm still curious why this happened and what is to prevent it from happening again.

UPDATE - September 1

This issue reappeared. This time I added ini_set('display_errors', true); to my plugin, and see errors like the following:

  Warning: include(/nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/files/civicrm/templates_c/en_US//%%3D/3D1/3D13F2BA%%Main.tpl.php): failed to open stream: No such file or directory in /nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/civicrm/civicrm/packages/Smarty/Smarty.class.php on line 1907

  Warning: include(): Failed opening '/nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/files/civicrm/templates_c/en_US//%%3D/3D1/3D13F2BA%%Main.tpl.php' for inclusion (include_path='/nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/files/civicrm/custom_ext/com.osseed.eventcalendar-1.1/:/nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/files/civicrm/custom_ext/ca.bidon.civiexportexcel/:/nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/files/civicrm/custom_ext/nz.co.fuzion.extendedreport/:/nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/files/civicrm/custom_ext/co.johnwebster.apld/:/nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/files/civicrm/custom_ext/org.civicrm.module.cividiscount/:.:/nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/civicrm/civicrm:/nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/civicrm/civicrm/packages:.:/nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/civicrm/civicrm/:/nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/civicrm/civicrm//packages:.:/usr/sha in /nas/wp/www/cluster-40204/aplddemo/wp-content/plugins/civicrm/civicrm/packages/Smarty/Smarty.class.php on line 1907

I thought it might be a caching issue, so I went to Administer > System Settings > Cleanup Caches and Update Paths, but clicking the "Cleanup Caches" button doesn't affect the error. The issue changes periodically. Sometimes parts of the form appear, with an error about the missing compiled Smarty template where the price field should be. I haven't been able to connect the change in the error's behavior/message to any other changes on the site. They seem to happen on their own.

After a long investigation, this seems to have been a hosting issue. For whatever reason, the rename operation in civicrm/packages/Smarty/internals/core.write_file.php was not occurring, possibly because the temporary files were created with 600 permissions. This only occurred when the templates were accessed by a front-end user. Templates accessed through the admin section were able to rename their temporary files.

Our hosting provider was unable to find a solution. We eventually migrated the site to Pantheon.io, and everything appears to be working well there.


Documentation on the _civicrm_api3_* _spec functions I have a working extension with a working API hook civicrm_api3_contact_getclif($params), but I can't find the documentation for the _spec function beyond the suggestion to have one

I wrote this function and it appears to work (ie the params are appearing in the API explorer as required), but I suspect there is more to this function.

What else can I include in this function to provide more metadata about the API I am writing?

function _civicrm_api3_contact_getclif_spec(&$spec) {
  $spec['clif']['api.required'] = 1;
  $spec['length']['api.required'] = 1;
}

Can anyone point me to the source file that calls the *_spec() function if there is no doco?

Have a look at api/v3/Generic.php's civicrm_api3_generic_getfields method


civicrm report access I am trying to limit access to reports using acl/groups as mentioned in the userguide :

https://docs.civicrm.org/user/en/4.7/reporting/set-up/#define-report-settings

However, the field to set this does not appear.

Is there something i have to configure to make this appear? Or does this functionality no longer exist?

If relevant I am already using acl for controlling access to custom data sets.

Running civicrm 4.7.17 on wordpress 4.7.3 using php 7.0.15

UPDATE 1:

looking through the code it seems that the following code (found in /wp-content/plugins/civicrm/civicrm/CRM/Report/Form/instance.php) is causing it not to appear:

if (function_exists('user_roles')) {
        $user_roles_array = user_roles();
        foreach ($user_roles_array as $key => $value) {
          $user_roles[$value] = $value;
        }
        $grouprole = &$form->addElement('advmultiselect',
          'grouprole',
          ts('ACL Group/Role'),
          $user_roles,
          array(
            'size' => 5,
            'style' => 'width:240px',
            'class' => 'advmultiselect',
          )
        );
        $grouprole->setButtonAttributes('add', array('value' => ts('Add >>')));
        $grouprole->setButtonAttributes('remove', array('value' => ts('<< Remove')));
      }

For some reason the 'user_roles' function does not exist.

So when the below code is run (found in /wp-content/uploads/civicrm/templates_c/en_US/%%48/48E/48E22AAC%%Instance.tpl.php) the php returns nothing:

        <?php echo $this->_tpl_vars['form']['grouprole']['label']; ?>

        <?php echo ((is_array($_tmp=$this->_tpl_vars['form']['grouprole']['html'])) ? $this->_run_mod_handler('crmAddClass', true, $_tmp, 'huge') : smarty_modifier_crmAddClass($_tmp, 'huge')); ?>

UPDATE 2:

looking a little higher in instance.php it looks like this might not be for wordpress even though this section still runs:

if ($config->userFramework != 'Joomla' ||
      $config->userFramework != 'WordPress'
    )

still unsure of why 'grouprole' doesnt exist for the other code though:

        <?php echo $this->_tpl_vars['form']['grouprole']['label']; ?>

        <?php echo ((is_array($_tmp=$this->_tpl_vars['form']['grouprole']['html'])) ? $this->_run_mod_handler('crmAddClass', true, $_tmp, 'huge') : smarty_modifier_crmAddClass($_tmp, 'huge')); ?>

I think this is a CMS issue. I see those options available at Drupal Demo but not at WP Demo


How to try out new 'Search Builder'? I understand from other posts that the new Search Builder is included in 5.29 but is hidden.  I'd like to give it a try - how can I access it?

Note if you install from a tar file the extension is not available until 5.30. Git/composer/buildkit installs have it in 5.29.
Also the styling on the search page is messy until 5.31, and before then has some other issues.
UPDATE: As of 2020-10-06, it's now visible in the UI as an installable extension called "Search Kit" that comes included with 5.31+. You just install it like any other extension. For earlier than 5.31 see below.

Using user interface

In civi go to the menu for support - developer - api3 explorer.
Choose Extension with action Install.
For parameter pick Extension Key, and for the value put org.civicrm.search.
At the bottom click Execute.
Then the Search menu will have a new option at the bottom.

Using command line

cv api Extension.install keys="org.civicrm.search"


Using Maps in CiviEvents I am using Civi 4.7.22 on WordPress 4.8.22
The Civi Tutorial says that Google no longer requires an API to use maps in civi. I am creating an event complete with an address location.  All boxes to display the map are checked.  Google Maps is select in Mapping and Geocoding.  Yet the map is not displaying on the event page.   Am I missing something?

Thank you.

It might be worth checking your browser console (right-click, inspect, console in Chrome) to see if the Google Maps API is returning a useful error / message when loading the event page.


Upgrade from 4.3.1 to 4.6.9 (Joomla) = fails; DB upgrade freezes It reports (on DB upgrade screen): "[Executed: Finish Upgrade DB to 4.3.8]"

We let it run for over over an hour; stayed stuck.

A previous attempt got stuck at v.4.4.3.

(This upgrade is being attempted first on a DEV install, too.)

We've read many forum posts about this issue, here and on CiviCRM.org forums.

There is urgency about this problem (why, of course there is!). We can't/won't attempt the update on the LIVE site until we have confidence—unless someone can authoritatively link this problem to a migrated install, etc.

Thanks in advance for help and advice!

Are you upgrading directly from 4.3.1 to 4.6.9?

If not, it might be worth trying a more incremental upgrade (e.g. 4.3.1 to 4.3.7, then 4.3.7 to 4.3.8 in case there's a sticking point there, then 4.3.8 to 4.3.11, 4.3.11 to 4.4, and so on - it's tedious, but may stop the upgrade from stalling, or give you an error message you can follow up.


Can I stop emails being put on hold? Can I stop our CiviCRM database from putting emails on hold when they bounce?

While it's useful from one point of view, it takes ages to keep removing the blocks.

not a direct answer to your question but I was wondering if you are aware that you can "bulk-unhold" emails:

use advanced search and select "Email on hold"
from the action menu select "Unhold Emails"

Regards
Fabian


Is it possible to show scheduled meetings in an Outlook calendar? I am working with an organisation that would like to show scheduled meetings and other activities in an MS Outlook calendar.  The activities should show as calendar items in the calendar of the staff member who added them.  So if a member of staff organises a meeting with a client this will appear in their calendar.

Is this possible?

They are using CiviCRM 4.6 on Drupal 7

In Administer -> Customize Data and Screens -> Display Preferences you can enable "Include ICal Invite to Activity Assignees". That add an ICal Invite to the meetings and other activities and they can then be accepted and placed in the Calendar.


"No records of type '' found" error - shortcode in WordPress page to edit profile Help - updating profile forms from the front-end has broken over the last few updates. I have the following shortcode used on a Wordpress page:

[civicrm component="profile" gid="14" mode="edit" hijack="0"]

Upon viewing the page, I get the ""No records of type '' found" error:

If the shortcode is set to "view", it displays fine.

This occurs with me logged in with admin privileges.

Ideas?

Doh! Not sure if this is what others found, but I'm ashamed to say the error message:

  "No records of type '' found."

is shown when none of the fields in the Custom Data set are set to "Display in table" (!)


Upgrade CiviCRM 3.3.2 to the latest on Drupal 6 I've been trying to upgrade CiviCRM to the latest. This is what I've been planning to do:

Update to the latest availale on drupal 6, then upgrade drupal 6 to 7, update CiviCRM on the latest available on Drupal 7, then upgrade to Drupal 8 and update CiviCRM to the latest version available, then migrate to WordPress.

I wanted to update progessively within all the versions and this is what I did to update to 3.3.3:

1) Login as admin.
2) Set define('CIVICRM_UF','Drupal'); to define( 'CIVICRM_UF','Drupal6');
3) Delete the old Civi files on site/all/modules and put the 3.3.3 files.
4) Delete the files on template_c
5) Try to access to /update

In the last step I get an error that don't let my continue with my activities:

Any idea of what's happening?
Is there a better way to approach my goal?

Thanks!

From CiviCRM 3.3.2 to 5.x latest is a huge task. Lots of things that can go wrong in the process. And if anyone has ever made any schema edits to your CiviCRM database tables upgrading could be very painful.

Have you considered installing a fresh 5.x and then doing an export out of 3.3.2 -> import into 5.x of the data you want to carry forward?

It will be much easier if you treat this like the same as any migration from a legacy CRM to CiviCRM 5.x;

CiviCRM 3.3.2 was released on Jan 04 2011 - it qualifies as legacy :-)


Mailing -> New mail results in blank page 4.6.3 with Joomla 3.4.1 and PHP 5.4.4,
When clicking Mailings -> New Mailing, I get a blank page with frozen CiciCRM menus and a single link back to the CiviCRM home page.

New mailing was working prior to upgrading both CiviCRM (from 4.1 ) and Joomla from 2.5. All other parts of CiviCRM are working.

I tried the Troubleshooting guide including disabling extensions but nothing works.  Any ideas?

javaScript errors appear:

  Uncaught SyntaxError: Unexpected identifier
  ?option=com_civicrm&task=civicrm/ajax/l10n-js/en_US&r=TKdmc:5 Uncaught
  TypeError: Cannot set property 'userFramework' of undefined(anonymous
  function) @
  ?option=com_civicrm&task=civicrm/ajax/l10n-js/en_US&r=TKdmc:5(anonymous
  function) @
  ?option=com_civicrm&task=civicrm/ajax/l10n-js/en_US&r=TKdmc:76
  crmApp.js?r=TKdmc:5 Uncaught TypeError: Cannot read property 'modules'
  of undefined(anonymous function) @ crmApp.js?r=TKdmc:5(anonymous
  function) @ crmApp.js?r=TKdmc:13
  ?option=com_civicrm&task=civicrm/ajax/menujs/2/en_US/1/sG2nikkH:110
  Uncaught TypeError: Cannot read property 'resourceBase' of
  undefined(anonymous function) @
  ?option=com_civicrm&task=civicrm/ajax/menujs/2/en_US/1/sG2nikkH:110(anonymous function) @
  ?option=com_civicrm&task=civicrm/ajax/menujs/2/en_US/1/sG2nikkH:111
  angular.js?r=TKdmc:63 Uncaught Error: [$injector:modulerr] Failed to
  instantiate module crmApp due to: Error: [$injector:nomod] Module
  'crmApp' is not available! You either misspelled the module name or
  forgot to load it. If registering a module ensure that you specify the
  dependencies as the second argument.
  http://errors.angularjs.org/1.3.15/$injector/nomod?p0=crmApp
      at REGEX_STRING_REGEXP (

RESOLVED:
Answer is in Problem with CiviMail Menu on Joomla 3.4.1 - CiviCRM 4.6.2

Add to civicrm.settings.php
define('CIVICRM_CIVIMAIL_UI_LEGACY', 1);

That fixed it for now as this apparently won't be an option in 4.7


Mapping of CiviCRM's Contact card fields to Drupal user entity's Essentially, we are having an integration problem where one component we are using is expecting to find or use default user entity fields, but these fields are not mapped into CiviCRM's user Contact card.

To be precise, we are using Drupal's LDAP module to exchange data with legacy systems and provide SSO auth. The LDAP module allows us to specify which Drupal user entity fields are mapped into the LDAP record using Drupal tokens, for example [field.field_lname], [field.field_fname], etc. However, those entity fields are not mapped into CiviCRM. As a result, we can't query their data using Civi, or expose it to users to edit using Civi's profile forms.

How can we manage mappings between CiviCRM's Contact record fields and Drupal's entity API?

In general the way to sync drupal entities with CiviCRM fields is to enable the civicrm_entity module.

Documentation can be found here.


How can we view past civievents in the events summary dashboard on civi? we can only see current and future ones We want to see past events in our civi events dashboard. How can we do this?

Welcome to SE! I don't think you can configure the dashboard, but you can get a similar result by using the Event Participants report and searching by event them name and grouping by name. And you can filter by a specific period. You can save this as a new report.


Search for Transaction ID of CiviEvent Sub-Contribution Sometimes we'll have someone pay X amount via credit card (Paypal Pro) and register online for an event. Then, they'll call us, and we'll add additional options to the event (via Change Selections), and then run a credit card transaction against the main balance. This works fine.

However, we are having issue searching for the second transactions ID via standard civi searches. Any suggestions? Our accountant uses this for reconciliation.

Similar: Finding payments in contributions

Bug (no updates in awhile): https://issues.civicrm.org/jira/browse/CRM-17808

CiviCRM 5.5 Drupal 7.x

Possible Solution:

https://civicrm.org/extensions/extended-reports

The Extended BookKeeping Report allows for searching by Transaction # civicrm/report/contribution/bookkeeping_extended

We created an extension that adds Search Payments functionality, as well as a Payments section to Advanced Search: https://github.com/JMAConsulting/biz.jmaconsulting.findpayments

HTH.


Pay Later option not displaying on front end when Paypal option Joomla 3.5.1 - Civicrm 4.7.8

I have created a Contribution page (plus a profile with some custom data in it) and wanted to give option to pay later. However, the Pay Later option is not showing on front end whilst the Paypal option is displayed. However, if I remove the option to use Paypal, then the pay later option appears (though with a permanent x in box which cannot be unselected).

I have attempted to replicate on demo site (which is older version - 4.6) and when I choose pay later option it does not display on front end either. However, I cannot remove option to pay by paypal (sandbox) as that breaks the page. So cannot see if pay later would show without paypal.

So, 2 problems 1) pay later not showing with paypal option available -

2) Permanent x in box of pay later when it can be seen on the front end after removing paypal option.

I think this may be a bug but not certain. Wanted advise first.

Looks like there is a history of issues with pay later an pay pal express - there is a ticket on JIRA that sounds like it might be related to what you are reporting can be seen here: https://issues.civicrm.org/jira/browse/CRM-18118

Hope this helps,
Tamar


Can I change the text "[CíviMail Draft]" in a language that local users underdtands? My fellow boardmembers of our marineclub are less familiair with bulk-mailings  and concepts. They reply on the draft mail, as if it was the right mail. I think if I change the text  "[CíviMail Draft]" into some text in local language, I will have a better response. Where and how can I change this text?

CiviCRM has a feature called 'Word Replacement' which you can find under Admin > Customise, or at civicrm/admin/options/wordreplacements?reset=1 which I think is worth trying out.


How to reduce database bloat for faster upgrading? In order to speed up slow upgrades, experienced folk (1
2) recommend reducing the size of the database to facilitate testing.

What is the best way to declutter the database?

Best to review the tables which are largest in your DB, and also identify which queries during the upgrade take the longest. This is a chicken-and-egg problem, which means you might review the tables you "lighten" as you work through the upgrade process.

Here's something I was using a few years ago on fairly heavy DB. This would exclude data in those tables from being tested on upgrade, but that was an acceptable tradeoff to test the core upgrade.

WARNING - this SQL will destroy data in the DB you execute it against.

-- Trim a CiviCRM DB by stripping out the enormous amount of data
-- stored in some tables, especially the ones relating to mailing.
SET FOREIGN_KEY_CHECKS=0;
TRUNCATE TABLE civicrm_cache;
TRUNCATE TABLE civicrm_log;
TRUNCATE TABLE civicrm_mailing_event_bounce;
TRUNCATE TABLE civicrm_mailing_event_delivered;
TRUNCATE TABLE civicrm_mailing_event_forward;
TRUNCATE TABLE civicrm_mailing_event_opened;
TRUNCATE TABLE civicrm_mailing_event_reply;
TRUNCATE TABLE civicrm_mailing_event_trackable_url_open;
TRUNCATE TABLE civicrm_mailing_event_unsubscribe;
TRUNCATE TABLE civicrm_mailing_event_queue;
TRUNCATE TABLE civicrm_mailing_recipients;
TRUNCATE TABLE civicrm_mailing_spool;
TRUNCATE TABLE civicrm_subscription_history;
SET FOREIGN_KEY_CHECKS=1;

A couple of automated scripts would use the above to reduce a copy of the live DB to a more workable upgrade dataset, then test the upgrade against this reduced DB.

Another set of DB tables you might remove is those prefixed log_*. The ARCHIVE table format they use by default has on-the-fly compression, and every DB update will trigger a duplicate query against log. This means you run double the number of DB updates, one of which will also require some compression. Disabling CiviCRM's trigger logging feature should then reduce the size of the database and the amount of work it does for each change.


Why doesn't my dashboard get saved? If I edit the dashboard widgets and save, it only lasts for the current session. Next time I log in it's the same set up as the default when I upgraded to CIVI 4.7 - i.e. Getting Started, CIVI CRM News, etc.
(Joomla 3.5.1)

I am pretty sure this happens because the link between your Civi contact id and your CMS user has broken.  This happened to one of my clients, the cause was that I moved the Civi database & not the Drupal one, so the link was broken. The table to look at in Civi is civicrm_uf_match - field is uf_id which should link to your CMS user table (in my case, it was Drupal's 'users' table)


Which Drupal permissions does a user need in order to see and change their relatives (contacts with permissioned relationships) in webform? I have a webform which users use to register themselves and their family members for events. If users have a login, it automatically populates their family members, who are contacts with permissioned relationships to the user, and all they have to do is select which events they are registering for this time.

Recently, most of my users are not having their families pre-populate, even though they do have family members, properly relationshiped and permissioned in the system. It works perfectly for anyone with admin privileges, but in this case I want most users to only see their spouses and children.

Which permissions do I need to give them?

I'm using Drupal 7.43, CiviCRM 4.6.18, Webform 7.x-4.12, and Webform Civicrm Integration 7.x-4.15+27-dev

Below are my current settings:

EDIT: I have now read this documentation, which makes me wonder whether my question should be about the CiviCRM ACL permissions instead, but I don't see how to do that either. https://docs.civicrm.org/user/en/4.6/initial-set-up/permissions-and-access-control/

You're looking for the Relationship Permissions as ACL extension.


Active Event Type not appearing in CiviRules Drupal 7.67, Civi 5.13.5

I'm currently adding some CiviRules to automatically tag users based on what event they sign up to / attend. However one of the event types isn't showing up in the CiviRule dropdown box on the "Conditions" screen. This event is marked as active. I haven't yet added any other Conditions for this CiviRule.

Any clue how to fix this?

Screenshots below -

My list of Event Types. I want to have a CiviRule that adds a tag when people attend a "Youth Event".

"Youth" doesn't appear in the drop-down:

Or when I search for it:

I haven't added any other Conditions for this CiviRule.

Thanks in advance for your help!

This is a bug I spotted last week and submitted a fix for.  Some of the new conditions in CiviRules 2.9 (including this one) are limited to just the first 10 options.  If you know how to apply a patch, my fix is here.  If not, this will get fixed in CiviRules 2.10.


CiviCRM Page Not Found Error After Copying Site to New Server I wanted to do some testing on my CiviCRM site (on Drupal) and so copied everything over to another server. I am using CiviCRM 5.3.1 with Drupal 7.59.

I followed the steps in the "Moving an Existing Installation to a New Server or Location" guide but after re-enabling CiviCRM, when I try to navigate to any CiviCRM page I get an error in Drupal saying "Page Not Found". The CiviCRM menu link does appear in the admin menu and no errors are showing when I enable the CiviCRM module.

I have removed all the log files including the Config.IDS.ini file from the ConfigandLog folder, as well as emptying the templates_c folder. I did copy the civicrm.settings.php file over, but have updated all the paths in this file as well as updating all the entries in settings.php. I aslo emptied all the cache tables in the Civi database.

I have not been able to review and update directory paths and base URLs because of the page not found error. Not sure if I am able to do this using Drush?

I have checked the error logs for any clues, but haven't found any. There is one javascript error which comes up, which I'm not sure is relevant or not:

  index.php?q=civicrm/admin:1 Refused to execute script from 'http://.../civicrm/ajax/l10n-js/en_US?r=4hXrp' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

Seems like I have missed something but I don't know what!

We Always make a tar.gz from all the files, and a database backup of the drupal database and the civicrm database, without disabeling any modules.
The we extract the files on the new location, and give the files and folder the right permissions (in most case 755 is good and do not forget the .htaccess). Then we ajust the settings.php and the civicrm.settings.php, with the correct paths and database connection information. Than we change the "Temporary directory" in the "File system" in drupal, and the paths in "Directories", "Resource URL's" and "Cache" in civicrm. Clear the cache again and that's it!

Don not change anything on your current website!

cd /var/www/html
tar cvzf mywebsite.tar.gz mywebsite/
mysqldump -u database_user_drupal -p database_name_drupal > database_name_drupal.sql
mysqldump -u database_user_civicrm -p database_name_civicrm > database_name_civicrm.sql
Copy everything to the new server and do
tar -xvf mywebsite.tar.gz
cp -rf mywebsite/ /var/www/html/mywebsitelocation
chown -R username:www-data /var/www/html/mywebsitelocation/
chmod -R 755 /var/www/html/mywebsitelocation (or 775 for testing)
check the username of the DEFINER in the database_name.civicrm.sql

with:
sed -n '/DEFINER/p' database_name.civicrm.sql
remove it with:
sed -i 's#DEFINER=username@%# #g' database_name.civicrm.sql (replace username)
and:
sed -i 's#DEFINER=username@localhost# #g' database_name.civicrm.sql (replace username)
and:
sed -i 's#SQL SECURITY DEFINER#SQL SECURITY INVOKER#g' database_name.civicrm.sql

mysql -u new_database_user_drupal -p new_database_name_drupal < database_name_drupal.sql
mysql -u new_database_user_civicrm -p new_database_name_civicrm < database_name_drupal.sql
nano /var/www/html/mywebsitelocation/sites/default/settings.php

change the "$databases = array ("
change the "$base_url =" (if set)

nano /var/www/html/mywebsitelocation/sites/default/civicrm.settings.php

change "define( 'CIVICRM_UF_DSN'"
change "define('CIVICRM_DSN'"
change "$civicrm_root ="
change "define( 'CIVICRM_TEMPLATE_COMPILEDIR'"
change "define( 'CIVICRM_UF_BASEURL'"
we do not use the "$civicrm_setting['Directory Preferences']" settings and "$civicrm_setting['URL Preferences']" settings in the civicrm.settings.php

change the "Temporary directory" in the "File system" in drupal
clear the cache, use the button in drupal
"Reset Paths" on "civicrm/admin/setting/updateConfigBackend?reset=1"
and you can clear the cache in civicrm also with the button on "civicrm/admin/setting/updateConfigBackend?reset=1"


mysql_dsn error on amp config - why am I getting "access denied"? I'm trying to install buildkit on my Ubuntu 19.04 laptop, per the instructions at https://docs.civicrm.org/dev/en/latest/tools/buildkit/#config

I've used curl to run the script, successfully - civicbuild -h works - and am now on the amp config step.

When trying to create a mysql_dsn using either

mysql://joe:randompass@127.0.0.1:3306 or mysql://joe:pass@localhost:3306

I get this error:

SQLSTATE[HY000] [1045] Access denied for user 'joe'@'localhost' (using password: YES)

Running amp config:get does not show an existing mysql_type , which I think means there is not an existing mysql database that I can't log in to.

Running amp cleanup shows Destroyed 0 instance(s)

Running amp show returns an empty list

Running amp test shows this error:

PHP Fatal error:  Uncaught Error: Call to a member function getDriver() on null in phar:///home/joe/buildkit/bin/amp/src/Amp/Database/MySQL.php:59
Stack trace:
#0 phar:///home/joe/buildkit/bin/amp/src/Amp/InstanceRepository.php(56): Amp\Database\MySQL->createDatasource('canary')
#1 phar:///home/joe/buildkit/bin/amp/src/Amp/Command/CreateCommand.php(107): Amp\InstanceRepository->create(Object(Amp\Instance), true, true, 'admin')
#2 phar:///home/joe/buildkit/bin/amp/vendor/symfony/console/Symfony/Component/Console/Command/Command.php(252): Amp\Command\CreateCommand->execute(Object(Symfony\Component\Console\Input\ArrayInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 phar:///home/joe/buildkit/bin/amp/src/Amp/Command/ContainerAwareCommand.php(26): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArrayInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#4 phar:///home/joe/buildkit/bin/amp/src/Amp/Command/TestCommand.php(65): Amp\Command\ContainerAwareCommand->doComman in phar:///home/joe/buildkit/bin/amp/src/Amp/Database/MySQL.php on line 59

I'm trying to figure out the error message, Googling that.

Just in case anybody else has this issue when they try to use amp config with CiviBuild.  It is probably not entirely clear that you first need to create the user that you are inputting into the Enter dsn>
You first need to create a user in mysql with sufficent privileges.  Remember, one does not log in as root anymore! Use 'sudo su' and then run your MySQL commands. There are plenty of resources to show you how to do this, but on MySQL ver 5.7.heres's what to do:
user@ubuntu: sudo su
user@ubuntu: mysql
mysql> CREATE USER 'newusername'@'localhost' IDENTIFIED BY 'yourpassword';
This creates your new user - just replace 'newusername' with whatever you wish e.g. 'itadmin'.  The same goes for the password (the security is up to you but be secure if you ever build production servers)
Now grant the permssions that amp requires:
mysql> GRANT ALL PRIVILEGES ON * . * TO 'newusername'@'localhost' WITH GRANT OPTION;
Flush all privileges with:
mysql>FLUSH PRIVILEGES;
The WITH GRANT OPTION is important as this will allow the user to be able to grant options on other users by a script.
exit from Mysql and then from su with two lots of exit command.  You now have a user that you can put into amp config for the dsn section.
Remember! You have just created what is effectively a root user on your MySQL database


Fatal error: Uncaught CRM_Core_Exception: Found installation canary I am new to civicrm and I have been recommended by a friend to try it out for my website. But before I do that I would like to try it our on my laptop via xampp.

I installed wordpress and then civicrm everything seemed to have went through but now when I click on civicrm it gives me this error.

[0: Found installation canary. This suggests that something went wrong with tracking installation process. Please post to forum or JIRA. thrown in C:\xampp\apps\wordpress\htdocs\wp-content\plugins\civicrm\civicrm\Civi\Core\InstallationCanary.php on line 53

Could someone please guide me on how to solve this.

Tanmaya

@Mike
The name of your XAMPP installer suggests that you are testing with PHP 7. That is bleeding edge technology for CiviCrm. According to CRM-17789 thats supported for the first time in CiviCrm version 4.7.12. Maybe you can retry your installation using PHP 5.6.


Shortcode and permissions for WordPress publicly searchable member directory This is a fairly broad question: a client wants to have a publicly searchable member directory. So I'm looking at some old questions, such as Creating a public Members directory with CiviCRM in Wordpress using Profiles and Creating a public Members directory with CiviCRM in Wordpress using Profiles and shortcode with no luck.

Is there a shortcode for a publicly (not as member and not logged in) searchable member directory? (I have told the client this has privacy implications.)

This is currently being used but returns no results:

[civicrm component="profile" gid="11" mode="search" hijack="0"]

But not showing search results may be a result of no permissions for the anonymous user, as I read in one of the linked questions. I've given anonymous users the capabilities for profile listings and forms and profile listings in Administer >  WordPress Access Control. I've set up a Smart Group and a profile, outlined on https://docs.civicrm.org/user/en/latest/organising-your-data/profiles/ . But that doesn't help.

Using:
WP 5.2.4
CiviCRM 5.17.5

This problem turned out to be a Javascript error in the console:

SyntaxError: expected expression, got '<' on civicrm:1

A plugin must have been dumping in Javascript in the header or footer, and once it was deactivated, CiviCRM could render the search results in Javascript.


Calculated field on mail I want to add some information on a mail which is in fact calculated based on existing fields. More specifically, I want to send a mail to all members with an expired membership. In the mail I want to add (what we call in Belgium) a structured message which is in my case "membershipID & (membershipID mod 97)". What is the best way to accomplish this?

You could create a custom token to do the calculation and use the token in your mail.  See eg https://wiki.civicrm.org/confluence/display/CRMDOC/Customized+%28and+Custom%29+Tokens


Forms Question -- href issue I have an extension that adds a tab to Events.  The form is called up, and works using the automatic layout for the top piece.
 {foreach from=$elementNames item=elementName}

{$form.$elementName.label}

{$form.$elementName.html}

 {/foreach}

Further down I add more to this form:
/script>
{/literal}

id	Event ID	Trial Number	Trial Date	Judge	Started	Advanced	Excellent	Elite Offered	Games

{crmAPI var='result' entity='TrialComponents' action='get' event_id = $event_id}
{foreach from=$result.values item=component}
{$component.id}
{$component.event_id}
{$component.trial_number}
{$component.trial_date}
{$component.judge}
{$component.started_components}
{$component.advanced_components}
{$component.excellent_components}
{$component.elite_offered}
{$component.games_components}
 Edit  Delete

{/foreach}

  Add Component

The idea here is I have a one to multi so this second bit lists out the component section, and I have an Edit and a Delete function associated with each line.  The Delete works fine but its the href that does not.  I have a second form in this extension called EditComponent, which I want to call and put in the popup window that gets produced when you hit the edit or Add Component.  The issue is I'm getting a 404 error and it can't find that form?  What URL should I be using in there to get that other form in the popup?  My extension is called TrialAdmin and the two forms are called TrialDetails and EditComponent, both in the same directory of the extension.  I think I'm just too tired to think this one through -- help?

Resolved this issue by using:
 Edit  Delete


How to identify and report on donor anniversaries? We'd like to acknowledge donors who have given continuously for (say) 5 years. Let's say 'continuous' means at least one donation in a year. How could these contacts be identified and reported?  I've looked at all the contribution reports, including the Powerbase report extension, and thought about smart groups but I can't see a way of detecting these.  There is the 'Recurring contributions' report but that doesn't do it as these donations may not necessarily be defined as recurring contributions.  We're using Drupal so could use Drupal Views, but I'm not sure that would be able to do it.

I'm unaware of a way to do this with out-of-the-box features in CiviCRM. However we recently did this for a client by extending the Summary Fields extension, defining a Summary Field that calculates Yes/No based on whether the contact has at least one completed contributions of a certain Financial Type in each of the 5 most recent years. Sounds almost exactly like what you describe.

Summary Fields: https://civicrm.org/extensions/summary-fields
Joinery's "PAAO Summary Fields":
https://github.com/twomice/com.joineryhq.paaosumfields (this defines the Summary Field called "Loyalty Discount", which is currently not doing what's described above; but in an earlier version it was doing just that: https://github.com/twomice/com.joineryhq.paaosumfields/commit/234603ffcbad013e4ad37b6494625be4f1606bf3)

So my answer here would be "yes, totally possible by extending Summary Fields".


Why are Activity Imports failing with error message "source contact id not valid"? I'm running a monthly activity import into a site (4.4.13) [I realise it's due an upgrade to LTS]

We have a standard csv tempalte, and existing field mapping. And have been using the same method consistently for over 12 months.

Today on running the first batch all were rejected with the error message "source_contact_id is not valid : 2"

The source contact field is not included in the import csv and has previously been automatically picked up from  logged in user id ("2").

User 2 is the site admin account and has full permissions.

The csv includes an External ID field which we use to create the "With Contact"

I've tried including The source contact id as a field- failed with same message

I've tried replacing the External ID for the with contact with the External ID with the source contact.- failed with same message

Does anybody have any ideas what may be causing this?

Update 18 Nov

Found a working solution to the above- not sure of this counts as an answer or an extension of the question.

Ran an activity import against a dummy contact and the first few columns of the import ran fine. Then through a process of trial and error worked out that one column (out of 200) was causing the process to stall.

Still no idea where the source contact invalid error message is coming from- but was consistent across all failed attempts.

Setting the offending column to do not import allows the full file to import.

There are two fields in the activity custom data that share a field name (and multi-choice field labels). Don't know if the import mapping points to the same field twice.

The issue we were having was with two fields in the import field mapping having the same name.

Amending the field labels through Admin>custom data to allowed us to able to link the data to the right location.

-As I said both fields shared values and labels so it's not clear why this was a problem. Or at least, became a problem between this month's import and last months.


Is anyone using the bootstrap UI css in production in 4.6? I'm using bootstrap and it's very easy to work with, especially for form data.  I know there is a project, with documentation: http://wiki.civicrm.org/confluence/display/CRMDOC/Bootstrap+UI+for+CiviCRM but wondering if anyone is actually using it?  Also, I'm not sure how this is implemented - is it an extension?

This was part of a google summer of code. This requires change in the core and it wasn't "production ready" and hasn't been merged. For what I recall, they were a few tweaks that were "big gain", like automatically generate the input fields (most of?) so they use the same html structure and classes than bootstrap.

It would be great to complete the project and get it back in the core, but so far, no one picked it up (hint hint...)

What I often do is to use bootstrap and webform for nearly all the public facing forms, and it works fine

X+


Mosaico: Where can I find the source code of my mailing? we are using CiviCRM 5.4.0 and just got the Mosaico extension started to send our newsletter.
Now I have run into the following problem:
In the past I would take the source code of the mailing, create a .html file out of it and upload this to our homepage to back up a link people could click on - so for example it would say "January 2019 Newsletter", you could click on it and would be provided with an online version of the newsletter we had also send as an email.

Now, I am using Mosaico and don't know how to go about this situation anymore...I can not find the source code of the mailing to create the .html to then incorporate into our homepage...

So my questions would be - how can I obtain either the source code or a clickable link I can include into our homepage?

Thank you for any answers!

I believe you can set the "Mailing Visibility" option (accessed by clicking the "Advanced Mailing Options" button on the 3. Options page of the Mosaico workflow) to "Public Pages" which will create a public HTML page that visitors can view, accessed by a tokenized link in the email itself. You should be able to get the HTML from this page and add it to your homepage... or just add a link to that public page.

  Mailing Visibility

  This option controls who can view the contents of
  this email on your website. The link can be included by inserting the
  "Mailing permalink" token (place it in a link when composing in HTML
  mode).

  The options for mailing visibility are:

  "Public Pages" will make the content of this mailing viewable everyone
  who has the permission "view public CiviMail content". Note that even
  people who did not receive the mailing would be able to find it via
  search engines. "User and User Admin Only" means that only users that
  received the mailing or administrators can view this email on your
  website; users must be logged in to view the message.


Why some of our smart groups are empty after CiviCRM upgrade? We upgrade recently from 4.5.8 to 4.6.6 on our CiviCRM instances.
After that we note that some smart groups become empty. An example as proof:
Smart group has been emptied:

Event type = Centre Obert ...and...
Start Date - greater than or equal to "september 12th, 2013 12:00 AM" ...and...
End Date - less than or equal to "juny 20th, 2014 11:59 PM" ...and...
Participant Status ID is Inscrit ...and...
Participant Role is 1

NOTE: Cleaning caches and rebuilding smart groups has not worked.

It is not the ideal solution but so far has worked.

Edit the search criteria for the affected/s smart group/s - The search result remain empty
Search again - The search result will be good
Update the smart group

After this the smart/s group/s works correctly again.


CiviDiscount Navigation URL incorrect After upgrading to 4.7.0 on Drupal 7.50, the link to the CiviDiscount administration in the CiviCRM navigation menu is incorrect (cividiscount_reset_1); see screenshot below.

I have attempted to edit the URL by going to Administer > Customize Data and Screens > Navigation Menu. When I open the link to edit it, it reports the wrong information entirely and notice that the info seems to be from the link above it; see screenshots below.

In keeping with the formatting of the other links, which start at civicrm/, I edited the link to include the proper URL to the CiviDiscount administration page. I tested this link independently (full URL) in a browser and made sure that it works: /civicrm/cividiscount?reset=1. When I save the edit, it shows the same "all reports" that it was before, in the screenshot above. I created a new link in the menu, but it goes to http://civicrm/cividiscount?reset=1 which obviously doesn't work. When I put in the full URL, https://dev.example.com/civicrm/cividiscount?reset=1, the URL that it goes to is actually cividiscount_reset_1, the original incorrect link from the beginning.

Considerations:

all other links in the menu look normal, without the underscores and work
the correct URL for CiviDiscount works when entered manually
CiviDiscount appears to be functioning normal
I am running CiviDiscount version 2.6

The problem was resolved once I upgraded the extension to 3.3 and corrected the permissions for the extensions folder for the group. chmod -R 775 sites/default/files/civicrm/ext. After the CiviCRM upgrade, the extensions directory changed so permissions needed to be reset also.


How to enter a discounted fee after the discount date for an event Using CiviCRM v4.5.8 with WP v4.2.2 and no Price Set, using Regular Fees and Discounted Fees

We have a 5K Run Event with a discount fee of $20 before June 1 and after that date the fee is $30.  Some of the participants sent in payment via mail.  When we are manually entering them we can not enter the discount amount.  It is defaulting to the amount after June 1.   We are selecting "Advanced Discount" in the Discount set area but it does not change the amount that we can select.   Is this a bug or am I missing something?   THANKS.

One way to handle this involves using a price set. Insert a price field with the value of -1 called Discount that is visible only by Admin. This allows you enter a discount to registrations entered in the back-end without affecting the front-end pricing.

I believe the only way to do this without using a price set is to change your advance discount date, enter your mail-in registrations, and then reset the date. This does run the risk of people getting the discount rate if they register while you are entering the mail-in registrations.


CiviMail Does Not Send To A Whole Group Evening Everyone;

I have found an issue with CiviCRM 4.4.14 (Drupal 7.39) which I can not fathom. I have checked everything that I can think of and nothing obvious springs out.

I have a non-Smart Group of 369 contacts (361 with e-mails- so technically 361). When I go to CiviMail and generate a mailing it will only send to 311 (with duplicates filtered 308) which I can not get to rise. I have checked the following:

That they have a primary e-mail address
That they are not flagged as do not e-mail/no bulk e-mails
They are not dead (something from the old forums) suggested null deceased
They are not on any stop flags
They are not on hold
The organisations they are members of are "current" memberships

Everything says they should receive the mail.

Oddly, the previous mailing reports reported much more; at 354, but as far as I am aware there were no unsubscribes since that mailing.

has anyone else experienced this?

edit Having made a copy of the group and removed all the contacts without an e-mail address; it appears that having a blank e-mail address does not cause the issue. In that case it would only send to 311 of 361.

I have also searched the old forums and have found similar issues Missing contact in mass-mailing Warning : Undefined offset and  missing group members in mailout list et. al. but it does not appear that there were many ideas beyond what I have already tried.

Analysing the group, there is nothing obvious that would explain the missing 50, like a type of contact, or the like.

edit 11 Sept
I have now had a change to go through the mailing and the relevant group to work out what is going on and I am no further.

Just a few quick stats which may prompt someones thought process:

There were 54 contacts in the group (of 362) which the CiviMail did not go to - 7 additional members of the group did not have e-mail addresses
50 of those 54 contacts had a surname starting with S however 1 contact starting with S did have the mailing sent to them.
There is a mixture of current and grace memberships; other contacts with those memberships received the mailing.
There is a one organisation and the rest are individuals with a variety of sub-types; other contacts with those sub-types received the mailing.
None are pending/on hold/etc

Something of note though which may be significant.

I went to the original group, to pick out and create a new group of those that did not receive the mailing. When it came to the letter S (and 50 of the 51 needed selecting) I clicked the checkbox to select all the members of the group so that I could then de-select the one who did.... it would not let me.

On the select records option it still showed 0 selected records and it errored when I tried to add it to the new group I created. I had to manually select all 50 records for it to work.

I also tried to send a CiviMail to the group of 54. It would only estimate that I would be sending it to 4 recipients. This would suggest to me that I am looking at the 50 contacts with surnames starting S.....

edit 25 Sept
This issue continues for us and I am still running into dead ends in terms of leads.

Of the 54 contacts, 4 have been discounted as they are duplicates within the mailing group
Of the 50 that remain, I have them additionally in a separate group that I can select all and send an e-mail to and they will appear on the e-mail screen. This suggests that the actual e-mails are valid without any stray spaces.
This affects the same contacts across all the groups. We know that there was not an issue on 26th August when a civiMail was sent out which contained many of the group, but then fell over between then and 4th September.

Obviously I will be trying to send the monthly mailing to all the recipients on the list manually to see if anything bounces back; but that probably won't explain why this specific list of people, surname starting S, can not be sent anything via CiviMail.

I finally gave up and forwarded this our developer who found that indeed, the issue was the is_deceased flag which had become NULL of their own accord!

It could be noted that manually setting all the flags via the GUI does not resolve this issue.

It would be interesting at some point to work out whether there was a specific action on the website that caused these flags to become NULL vice 0.


How to import organizations with active relationships I have two kind of organizations: A and B with a relationship type of A owns B, B is owned by A.

When importing my file, I can set that B1, B2, B3 belong to A1 and this appears in the summary but the reality of the relationship is not active (A can't view/control B and/or B can't view/control A)

This is an example where I set this manually

I checked the relationships and I can't force this parameter.

Can I and how do I set this in the .csv file ? I installed the API CSV importer extension but this means I need to upload two times.

Have I missed something?
regards,
Guillaume

Thanks to @petednz-fuzion, solution was very simple:

install the Related permissions extension which is already included in CiviCRM extensions and that you can add from : domain.com/civicrm/admin/extensions?reset=1
Set the parameters the way you need at: domain.com/civicrm/admin/reltype?reset=1
Select the relationship type you need to set
Scroll down to Related Permissions Settings and set them the way you fits your situation best


User access to own contact record, forwarding upon login Is there a document that describes how best to setup the security in CiviCRM on WordPress so that a user can login and access their own record? I have read much of the documentation that is in the forum and in the help but nothing that seems consistently in one place from step to step.

The part that seems to be missing is how to forward the person logging in to their own record, rather than to a page where they have to search or find their record. I'm not a programmer so I am assuming this must require some code that I can't find reference to. Any links anyone can share?

When a user is logged in their information is auto populated in profile forms. So when they go to event registrations, donation pages, etc. their info is listed in the profile fields. If they make changes this information is updated in CiviCRM.

You can create a profile for editing and insert it into a WordPress page via a short code with the edit option and direct the user there after login. You may want to restrict access to that page to logged in users. The 'Members' plugin in WordPress does a good job of restricting access by user role.


When importing activities can you use an external id? Is there a standard way to import activities with an external identfier in the same way as contacts to help us identifiy what has been previously imported.

otherwise, I guess we would just have to create a custom field.

At first, I thought you meant importing activities and joining them to contacts with the contacts' external IDs.  This is the most common way I do activity imports.

However, reading closer, it sounds like you want to have an external ID field for the activity.  You'll need to create a custom field for this.  Also, you should remember that your custom field will not do the same magic as the contact external ID field: nothing will enforce that the value is unique, and nothing will automatically match activities based upon this field.

It still might be useful for cross-referencing your imported activities with the source, but you'll have to apply your own logic to the field.


Extension for hierarchical custom fields? Does anyone have a generic extension for hierarchical custom fields?
For example, we have 'Country', 'State' and 'County' - the value of Country determines what States are valid, and the value of State determines the valid Counties.  But that is done with specific coding for those fields.  I'm interested in a generic extension that enables reproducing the Country/State/County behaviour without further coding.
The tags feature allows custom hierarchies and has a convenient drag-n-drop interface for creating it ... but the end result is a hierarchy in tags rather than fields.
The focus here is creating hierarchies of data attributes, not an organisational hierarchy of contacts.

Yes, I have such an extension - and so do many others!  I think mine is the most functionally advanced, but lacks a UI, or, uh, documentation (oops), and so is unsuitable in most use cases.
If you're interested, I can ask one of my staff members to write some documentation on this today, but broadly:

This creates two new entities (with full APIs): FieldLookupGroup and FieldLookup.

There is one FieldLookupGroup for every "lookup" set.  FieldLookup contains the actual corresponding values.

Here are some SQL tables of FieldLookupGroup from two different clients:

+----+----------------+--------------------+----------------+--------------+-------------+-----------------+
| id | field_1_entity | field_1_name       | field_2_entity | field_2_name | lookup_type | lookup_operator |
+----+----------------+--------------------+----------------+--------------+-------------+-----------------+
|  1 | Event          | start_date         | Event          | custom_302   | reverse     | BETWEEN         |
|  2 | Event          | start_date         | Event          | custom_303   | reverse     | BETWEEN         |
|  3 | Activity       | activity_date_time | Activity       | custom_305   | reverse     | BETWEEN         |
|  4 | Activity       | activity_date_time | Activity       | custom_306   | reverse     | BETWEEN         |
|  5 | Participant    | custom_265         | Participant    | custom_307   | reverse     | =               |
|  6 | Participant    | custom_265         | Participant    | custom_308   | reverse     | =               |
+----+----------------+--------------------+----------------+--------------+-------------+-----------------+

+----+----------------+--------------+----------------+--------------+--------------+-----------------+
| id | field_1_entity | field_1_name | field_2_entity | field_2_name | lookup_type  | lookup_operator |
+----+----------------+--------------+----------------+--------------+--------------+-----------------+
|  1 | Contact        | custom_50    | Contact        | custom_52    | chain-select | =               |
|  2 | Contact        | custom_54    | Contact        | custom_56    | chain-select | =               |
|  3 | Contact        | custom_58    | Contact        | custom_60    | chain-select | =               |
|  4 | Contact        | custom_62    | Contact        | custom_64    | chain-select | =               |
|  5 | Contact        | custom_63    | Contact        | custom_62    | chain-select | =               |
+----+----------------+--------------+----------------+--------------+--------------+-----------------+

The first set handles a "reverse" hierarchical lookup - e.g. "given a county, simply fill in the state and country on save".  The second set is a "chain-select" and more closely matches what you're looking for.
Here's is a small sample of values from FieldLookup for the second client:
+----+-----------------------+---------------+-----------------+---------------+
| id | field_lookup_group_id | field_1_value | field_1_value_2 | field_2_value |
+----+-----------------------+---------------+-----------------+---------------+
|  1 |                     1 | 4             | NULL            | 3             |
|  2 |                     1 | 4             | NULL            | 19            |
|  3 |                     1 | 4             | NULL            | 20            |
+----+-----------------------+---------------+-----------------+---------------+

Taken together with the table above, this reads: "If a user selects a value of 4 in custom_50, then custom_52 should be limited to the options with values 3, 19, or 20".
field_1_value_2 is if you use the BETWEEN operator - e.g. "if the start_date is between 2020-01-01 and 2020-12-31`, limit the value of the second field to the following options".


Where is the 'Require Participant Approval' checkbox on the 'Online Registration tab'? I am trying to set up an event that requires participant approval.  I have read the guidance and have ensured that the participant statuses, 'Awaiting approval' and 'pending from approval' are enabled.

The guidance then goes on to say, 'You can then check the Require Participant Approval checkbox on the online registration tab', but I can't see this checkbox on the tab.

Am I missing something?
Thanks
Anna

Civi 4.6.5

You need to enable 'Rejected' participant status as well.

"Require participant approval?" checkbox will appear only after you enable the following participant Statuses

Awaiting Approval
Pending from approval
Rejected

Looks like the book/docs is not updated.


Website Display in Directory listing I have a front end directory which lists websites. When the results are displayed we get the website type (i.e. work, main, etc.) displaying in parenthesis. We want to take that out. For example:

Current display: http://www.website.org (main)

We are looking for it to look like this: http://www.website.org

running CiviCRM 4.6.10 in WordPress.

Yes, you can do this easily.  In Profiles, go to the website field and edit the Display field.  The default setting displays the type, but you can easily remove it.


How do I distribute CiviSurvey by email, and then analyze the results? Can somebody help me to answer these following questions or refer me to some source to find out the answer:

I've created a survey by creating the custom fields and custom data. How do I get this survey distributed to people on my database i.e how do I email the survey link to targeted respondents?
If the survey can be emailed to them, are their answers automatically recorded on their account/profile?
In the report feature we can see answers of individual respondents. But does civiSurvey provide analysis capabilities such as counting percentage of the people choosing a, b, c for a specific question? If yes, where do we get that information?

Although you're putting together a survey, the CiviCRM tool you'll want to use is the Profile.  Create a new profile with the custom fields along with any standard ones you want to include.

You'll then want to send an email with an automatically-personalized link to the profile--that way, everyone's responses will go on his or her own contact record without having to log in.  The full directions are here (follow the directions for Profile): https://aghstrategies.com/content/how-create-one-click-personalized-links-civicrm-emails

The analysis capabilities in CiviCRM reports are kind of crude, but you'll be able to export the results into a spreadsheet and do any kind of statistics you need.

A note about "surveys": this use case is collecting information into custom fields on the contact record, so that's a natural use for a profile in "edit" mode.  There is a feature in CiviCampaign called "survey" that is oriented toward collecting information through phone interviews or door-knocking.  You'll have the fields on the contact and/or the activity, and interviewers will fill it in.


Webform error for event registration - Invalid argument supplied for foreach() I am getting this error at the top of a webform (in the civi section):

Warning: Invalid argument supplied for foreach() in wf_crm_admin_form->buildParticipantTab() (line 930 of /home/site1/public_html/sites/all/modules/webform_civicrm/includes/wf_crm_admin_form.inc).

It happens when a contact is added to an event. I have attached a screen capture.

A new part in the form has appeared. No idea where from. I think this might be causing the issue. See attached for for more information.

It turned out to be a problem with Custom Data (civicrm/admin/custom/group). A Set of Custom Fields had been created for participants without any fields added. I removed the group and problem is fixed.


CiviCRM menu missing Administer link after reboot I am a CiviCRM admin. I shut down my computer (personal computer, not the server where CiviCRM is installed) and when I restarted it, the menu is different. I do not have an Administer link in my main Drupal menu; I have Configuration instead. How can I restore my previous menu (the one with the Administer link)?

You can access it directly using the URL: -
yourdomain.com/civicrm/admin/

But from there you should see the navigation menu and be able to edit the menu and what shows in it.

You might need to check the permissions for your user role in your CMS (Drupal?)


When will MySQL utf8mb4 support be mandatory? With recent upgrade, CiviCRM showed me this message

  Future versions of CiviCRM may require MySQL utf8mb4 support. It is
  recommended, though not yet required, to configure your MySQL server
  for utf8mb4 support. You will need the following MySQL server
  configuration: innodb_large_prefix=true innodb_file_format=barracuda
  innodb_file_per_table=true

Since I am on shared hosting plan, it is likely that the host will not update these global MySQL settings. I guess that can mean for me the end of updates or a very tedious task of migrating CiviCRM elsewhere.

Is there any information when these MySQL changes will become mandatory?

It seems like it's still under discussion as of last week. See e.g. https://lab.civicrm.org/dev/core/issues/979


Is there a report that will group by source of contact? We have stared to use the contact source field to designate how our contacts get into CiviCRM. (event, membership, donation, helpline call etc.

I would like to be able to have a report that lets me filter by contact source and show the numbers from that source by month.  (A pivot tabe  would be OK but isn't ideal as contact source is a free text field.) I haven't be able to find a core report or reprot in an extension that will do either.

It seems like something other organisations might also be interested so someone might have already created an appropriate report.

Does anyone know of a report that will provides that summary information?

In Drupal this could very easily be done with a View using Aggregation that would do this if you will accept that.

EDIT: The above should not have said 'very' easily ;-) but you can see / grab an example from Fuzion's Treasure Trove


civi crm get request not working I'm working on a ruby on rails application and trying to pull data from a civi crm server. I'm sending the get request from Rails but ending up with

{"IP":"some IP","level":"security","referer":"","reason":"Destructive HTTP GET","is_error":1,"error_message":
"SECURITY: All requests that modify the database must be http POST, not GET."}

Can someone tell me why is that and how to get data from civicrm server?

Please post the full url you call, but you probably have an error on the url, it should have an action=get (or getcount or get*) param. If it doesn't, it blocks the access, because it doesn't know it's a read only action that can actually be performed over a GET method

However, as Jaap mentioned, I would recommend you to use POST all the time, no matter the action you want to perform, it's easier and cleaner.

FYI, in my client libraries, I tend to have the action+entities as get param and all the rest into post. The main reason is that it's giving cleaner logs to help understand what's going on, without leaking any sensitive information

Please share if you write a gem to wrap up the rest call inside a ruby framework, I'd be interested to use it on one of my project (sinatra, but probably going to work the same)


Refresh page after closing modal opened by .crm-popup outside of CiviCRM We've a page (in Drupal) outside of CiviCRM  for "editors" (mean, users with restricted permissions) to perform some civicrm tasks.

From this page civicrm forms is being opened in modal frame via .crm-popup class added  to form open links. There are also hooks being used (_pre and _postProcess) for these forms.

Drupal page should be refreshed after form submit (in order to show editors their edits); but each form submit summons a js status message CRM_Core_Session::setStatus(ts('Your information has been saved.'), ts('Thank you.'), 'success'); from civicrm\CRM\Profile\Form\Edit.php.

And  we're lost in how (mean, where would be a right place) to add something like location.reload which, ideally, should be fired right after status message close. Or, may be, it should be added at hook_postProcess level via "header(refresh)" (we've made some attempts doing this and failed though)?

Any clue form true js / jquery experts, please!

If you want the entire page to refresh during a popup form submission, then essentially you want to disable the ajax submit. You can do so in your _pre hook by writing:

$form->preventAjaxSubmit();


All My activities show for other person name I registered someone in CiviCRM and now after doing some activities I saw all my activities for her name and I think both of us link together how can I unlink without losing any information?

The Problem

When you are logged in to CiviCRM, ALL public-facing pages (event registration, contributions, etc.) will assume that you're the logged-in person.  There's a warning on the page with a link to let you register/contribute as someone else (see screenshot below).

Preventing this

All registrations/contributions should be added via the back-office screens, not public screens.  If you need a public screen, use the link circled below.

Furthermore, the excellent No Overwrite extension should be installed wherever a) it's possible that someone might overwrite another record, and b) you don't need to permit visitors to overwrite their name during registration/contribution.

Fixing After it's Happened

This must be fixed by hand.

Figure out all the information on the shared contact that belongs to the new person.  You can figure this out by looking at the public-facing page.  Any fields on that page are most likely overwritten.
Put the fields (name, etc.) back the way they were before the bad transaction.  If you're not sure, you may want to load a backup of your database on to a test server to compare side-by-side.
Create a new record (if necessary) for the new contact and populate it with their info.
Additionally, this record will have one or more contribution/membership/participant/activity records associated with the transaction.
If you have back-end access to the database, change the contribution/membership/participant/activity records so the contact_id is changed to the new contact.
If you don't have back-end access, you'll need to delete the transaction and do it again (don't forget to refund the money before charging again, if applicable).
If the contact was supposed to be added to a group based on a profile in the page, don't forget to add them (and potentially remove it from the mixed contact).


How can we get Custom data Used For: Relationships to display in a Drupal View? Relationship is e.g. Board Member - custom data on that Relationship is e.g. Treasurer (or President).

We can pull the Relationship into a View but even using CiviCRM Relationships as a base table - we can't seem to add the Custom data as Fields.

We double checked that the specific table got copied into the settings.php:
  'civicrm_value_committee_relationship_data_7' => 'civicrm_project_org.',

Curious if anyone has any ideas on how to get this working!

On 4.6 LTS for this project;

Suggestion made on MM was that the Description field is available in Views and may be useful for folks in similar situations.

To get custom fields on Relationships available in Views will require some additional code in the 'civi views' module.


Calling images from a database with custom tokens in mass mailings I was just wondering whether CiviCRM offers the ability to insert custom images into a mass mailing? So that each person receives a different image pulled from a server?

The best described example I can find is here.

In the same vein, can tokens/mail merge be used in CiviCRM to send a different attachment to each subscriber?

If the answer to these questions is yes, can you tell me where the images/attachments are pulled from? I would assume our own server?

Kind regards,
G

What you're describing is technically possible, but far from streamlined - so whether it's worth doing is up for debate.  If it's a feature that's interesting to you, you may want to write (or fund someone to write) an extension to facilitate it.

Let's talk about doing this with custom fields (Administer menu > Customize Data and Screens > Custom Fields) and with an extension.

Custom fields are available as tokens, and they can contain HTML links.  So you can create a custom field called, e.g., "image link" on a contact.  You can then insert a token in CiviMail - see "Using Tokens in Emails" on this page in the documentation.  It will look something like this:

Here's a link to the image: {contact.custom_8}

That's not quite what you want - you want to embed the image into the mail itself.  So instead, do:

Here's your image: <img src="{contact.custom_8}">

Note that you'll need to go into "HTML Source" mode on your mail to enter that.

You can store the images wherever you like.

Now, this is unwieldy, because you have to populate the custom field for every user who receives the mailing.

If you went the extension route, you would use civicrm_hook_tokens and civicrm_hook_tokenValues to create your own tokens.  You could then make tokens that created images based on, say, someone's interests or any other data you already stored.  There's a good article here if you want to go that route, or check out the excellent Fancy Tokens extension for a solution to a related problem.


I cannot get the installer civicrm screen I have downloaded and unzipped the files. In wordpress when i click on the menu "install civicrm" i have no answer, the screen remains.
See screencap

Thank you for help

My hosting is by 000webhost free

Marc

Welcome to the CiviCRM community!

After enabling CiviCRM on the WordPress plugins page, you must run the CiviCRM installer.  Please see the WordPress installation instructions for details.

If you still have trouble, please post a new question, indicating a) the version of WordPress and CiviCRM; b) what steps you've taken, and which aren't working.


how do I exclude blank or null in a report I'm currently trying to set up a simple report for bookkeeping transactions for the last month. It's was great except for the fact it is also including paypal fees on top of the full transaction amount (this makes it look very much like we collected the full transaction amount (including the paypal fee), plus we collected the paypal fee as well.) I though it would be simple enough to filter these out, they are easily identifiable by the fact that they don't have a payment method or a financial type at all. I don't seem to be able to filter out null/blank values though: I have to select a value from the list, null/blank is not an option.

I have found I can exclude them based on account codes and this solves my immediate problem. I would, however, like to know if there is a way to exclude items with blank or null values. I could see it being very handy in the future.

It would also be nice to have the pay pal fees subtract their values in a report rather than add them? Possible at all?

Using civiCRM version 4.7.3 right now.

Workaround -

Select operator as is not one of and multi-select all the values in the dropdown. Result shown will be the record not having the selected values.

For Eg - Financial Type -> is not one of -> all the values in the dropdown -> Preview Report

Can that work for you?


CiviMail with postfix, handling retries I'm currently investigating switching from direct SMTP to Amazon SES to using postfix (configured to talk to Amazon SES) as I gather this is a more robust approach.

I'm slightly confused as to how CiviMail picks up failures, or retries from postfix.

For example, if halfway through a mailing Amazon SES becomes unavailable, what would happen? If postfix tries to send them again later how will these deliveries be recorded in CiviCRM?

Postfix is a Mail Transfer Agent (MTA), and the task of an MTA is to ensure that the mail gets through if at all possible.

If the remote site stops accepting connections for any reason, then your MTA will keep those mails on disk and retry them periodically. In the case where your SES becomes unavailable, your Postfix will just sit tight and keep trying.

Barring a severe SES outage, a local MTA + SES should be more robust than SES alone, because you have a local agent able to handle short SES outages. For even better handling, you may configure your MTA to "fail over" to a secondary mail provider, or attempt direct delivery over SMTP when the preferred provider is unavailable.

When a mail can't be delivered - whether or not this involves an outage at SES or elsewhere - the MTA currently holding the email should return it as a bounce message to the sender. This is the feedback loop which will return the failed delivery information to CiviCRM's Bounce Processor task.


Changing sort of cases with recent activities on case dashboard? Currently cases with recent activities are sorted oldest>newest - i'd like the newest to be at the top.

I am guessing i could do it within Case/Page/DashboardSelector.tpl but i'm floundering from there.. is it possible? thanks!

I don't think you can do it in the smarty template but since you might want the sorting of similar listings to be consistent anywhere it's used you could just change line 545 in CRM_Case_BAO_Case::getCaseActivityQuery() so that it sorts descending.

      $query .= " ORDER BY case_recent_activity_date ASC ";

becomes

      $query .= " ORDER BY case_recent_activity_date DESC ";

Obviously editing core files directly isn't recommended, but that's where the sorting happens for this.


Exporting Contacts - Reporting? Is there a way to save different reports? ie. the fields wanted to export? so you don't have to enter those in every single time you do an export?

If you mean exporting after doing eg a Search or Advanced Search, then on the screen where you select which fields to export, you can check a box to save that common set of fields for future exports (see image below). Then, the next time you go to do an export you can select to "Use Saved Field Mapping" and select the previously saved set of fields.


Dynamically Change QuickForm on EntityRef selection I am building a form that has an entityRef that gets me a list of groups. When a group is selected I want another entityRef to be displayed that uses the value of from the entityRef selection (I'm getting the child groups for the selection).

I'm looking for some direction on the best approach to this.

Thanks!

This can be done by adding javascript directly to the TPL file associated with the QuickForm.

In the FORM php file The following are the elements that I add for selecting:

        $this->addEntityRef('field_dc_group', ts('Select DC for the Leader'), array(
        'entity' => 'group',
        'api' => array(
            'params' => array(
                //'tag' => GetCiviSetting('org.namelessnetwork.smallgrouptracking', 'small_group_leader_tag'), // filters results to just those with Small Group Leader Tag
                'parents' => array('IN' => array(34)), // this will get the DC we want to select
            )),
        'select' => array(minimumInputLength => 0),// auto populate results),
        'id' => 'field_dc_group'),
            true // require
    );

    $this->addEntityRef('field_sg_group', ts('Select Small Group Leader'),array(
        'entity' => 'group',
        'id' => 'field_sg_group',
        'select' => array(minimumInputLength => 0),
        ),
            true
    );`

At the bottom of the FORM tpl file I added the following javascript code (inside {literal} tag):

<script type="text/javascript">
    CRM.$(function ($) {

      console.log($("#field_dc_group").val);

      $("#field_dc_group").change(function() {
        $('#field_sg_leader').select2('data', {id: null, text: null}); // clear currently selected group
          console.log("DC Group ID: " + $("#field_dc_group").val());
        $('[name=field_sg_group]').crmEntityRef({
            entity: 'group',
            api: {params: {parents: $("#field_dc_group").val()}},
            create: true
        });

      });
      $( document ).ready(function() {
        $('#field_sg_group').hide();
      });
  });
</script>

Using this setup I am able to update the select2 fields dynamically as well as get the value in the FORM postProcess.


No Civi Confirmation Email After Using Paypal I apologize in advance, as this question seems to have been asked many times, but the answer is still not clear after looking at different responses. I am using Civi 4.7.7 and Wordpress. I am using PayPal Pro for both credit cards and PayPal, on my own website. When a client uses credit card, there is no problem, and he also receives a Civi Contribution Confirmation Email. However, when PayPal is used, a payment receipt email is generated through PayPal, but there is no Civi confirmation sent, and on the backend of Civi it says the status of the transaction is pending (incomplete transaction).

The PayPal IPN is pointing to the the homepage of my website.
Please can you tell me how to fix this problem?

Thank you!
S

Not sure if this applies, but there is a known issue regarding receipts and payment recording for recurring payments.
See CRM-18805.

PR-8615 corrects this and is scheduled to be merged into the 4.7.10 release, or you can apply it yourself to 4.7.6.


Integrating CiviMail tracked links with Google Analytics I'm in the process of cleaning up our analytics tracking, and I've realised that one of the gaps we have is between the tracked links in our CiviMail mailings and Google Analytics.

The main thing we need to implement is to (remember to) use GA campaigns, but I also wanted to check whether there's anything I'm missing on the CiviCRM side.

One issue is that we have CiviCRM installed on a subdomain without any GA tracking - however, I'm not clear on why the CiviMail tracked links aren't registered by Google Analytics as referrals from the subdomain.

(It may be that there isn't anything I can about this from the CiviCRM and I just need to deal with it from the GA side - I'm happy to close the question if that's the case)

It's possible to add tokens to a url - I was concerned that the token wouldn't get replaced before CiviCRM sets up the redirect url for tracking links. I've tested this and the token is replaced first, so it's possible to use tokens in a correctly formatted GA campaign url (using https://support.google.com/analytics/answer/1033867?hl=en ) that's still tracked by CiviCRM.

I haven't done this with a 'real' mailout, just test runs - I've various things to sort out on the Google Analytics end, and will update this answer if anything relevant arises.

Obviously there are privacy issues about sending contact info to Google - I'm probably just going to use the CiviCRM ID, but if anyone has any recommendations about which tokens would add value to GA data, do let me know.


Particular report about contribution on CiviReport Good morning,
I'm writing to ask if it exist a particular report about contributes.
I'd like to have a report which contain these columns: Surname/Name, amount and date of the last donation and total contribution, contribution AVG and number of donation for every donor.
Over this, I need also the filter in order to research specific group of donator, like campaing, group, contact type, sex,...
Does it exist?
What I have to do if I need it?
Tanks to all... and sorry for my bad english!

You may have to use several reports for what you are asking. But the Contribution Summary report has most of what you are asking for.

Look at Contributions > Contribution Reports > Contributions Summary. This report will give you most of what you are asking for. Under Filter you can set your date range, financial type, and other criteria. Under Grouping if you Group by Name or Contact ID you will probably get the results you are wanting, but try other options. You probably want to uncheck Group by Date.  IN the columns tabs you can select what is displayed in the report, Name, state, etc. Check Contribution Amount Stats to see the total # of contributions from each donor, their Contribution $ Aggregate and Average.
In the previous report, you can click on a donors name to see their profile. But you may need to use the Contribution Detail Report to dial into specific donors. This would be to see their last contribution.


Search for people who have NOT registered for an event using a custom search or data processor I need to search for all users who have not registered for an event.  Five years ago, I asked the question, and the answer was to create a group of users who did register and then do an include/exclude search.
The thing is that I need to do this on a regular basis, for many events.  Creating a group for every event became too cumbersome.
I am trying to figure out how I can do this search, perhaps using the data processor extension.  Where I am stuck is figuring out how to express my intention: "all users who have not registered".

I tried using a search on Participants.  But if someone has not registered, they are not a participant.  So using a search like "all participants for event X where status is not Registered" only shows me people who did register but whose status is now Attended or Canceled for example. It does not show me people who have not registered.

The data processor extension allows you to join data, but I don't see how it lets you do the opposite of a join.  Essentially to say "select all users" plus "exclude (reverse of join) any person who is a Participant for this event".

I believe this is where I am thinking about the problem wrong.  SQL doesn't have such an exclusion call, instead you are supposed to re-think the question so that it becomes a query where join is possible.
So can anyone help me re-think this so that using "join" function of data processor is possible?

SELECT cc.id, cp.id
FROM civicrm_contact cc
LEFT JOIN civicrm_participant cp ON cc.id = cp.contact_id AND cp.event_id = 1 WHERE cp.id IS NULL;

You can confirm that this works by running this straightforward query to see the contacts who ARE registered for an event:
SELECT cc.id, cp.id
FROM civicrm_contact cc
LEFT JOIN civicrm_participant cp ON cc.id = cp.contact_id
WHERE cp.event_id = 1;

Then confirm that this query is functionally the same:
SELECT cc.id, cp.id
FROM civicrm_contact cc
LEFT JOIN civicrm_participant cp ON cc.id = cp.contact_id AND cp.event_id = 1 WHERE cp.id IS NOT NULL;

The first query is the same as the third, except uses IS NULL instead of IS NOT NULL.
This search should be possible with the forthcoming Search Kit.  I tried a pre-release version but there was an error joining contacts to participants.  However, I was able to create the equivalent with contributions - "All contacts without a member dues payment".  The screenshot below shows how you'll be able to do this with Search Kit very soon:


API usage: How to change the 'participant_note' field in the Participant entry for an event I need to update the 'participant_note' field for a few Event Participants via the API. I can't figure out how to do this using the API explorer (it seems the explorer does not recognize 'participant_note' as a valid field).
Here is an example of a Participant get call

  {
              "contact_id": "11111",
              "contact_type": "Individual",
              "contact_sub_type": "",
              "sort_name": "Last, First",
              "display_name": "First Last",
              "event_id": "1",
              "event_title": "Readable Name",
              "event_start_date": "2014-01-01 00:00:00",
              "event_end_date": "2014-01-01 00:00:00",
              "participant_id": "1",
              "participant_fee_level": "",
              "participant_fee_amount": "",
              "participant_fee_currency": "",
              "event_type": "Some Type",
              "participant_status_id": "1",
              "participant_status": "Registered",
              "participant_role_id": "1",
              "participant_role": "Attendee",
              "participant_register_date": "2014-01-01 00:00:00",
              "participant_source": "",
              "participant_note": "",
              "participant_is_pay_later": "0",
              "participant_is_test": "0",
              "participant_registered_by_id": "",
              "participant_discount_name": "",
              "participant_campaign_id": "",
              "id": "1"
          }

i figured it out:

  entity=Participant
  action=create
  json={
       "sequential":1,
       "id":"", THIS IS PARTICIPANT ID
       "participant_note":""
       }


How can I change to the Spanish language? How can I change to the Spanish language?
I want to know if it is necessary to download a package of Spanish language, where to get it and how to install it so that the whole program runs in the Spanish language.

At https://docs.civicrm.org/sysadmin/en/latest/install/drupal7/#i18n it links to some instructions at https://wiki.civicrm.org/confluence/display/CRMDOC/i18n+Administrator%27s+Guide%3A+Using+CiviCRM+in+your+own+language

The download link it mentions is a little bit hidden. When you go to https://civicrm.org/download and click on the big download button it's the last one that shows in the dropdown list.


New install on WP 4.7.4, CiviCRM 4.7.18, System Status: Error I am a newbie to CiviCRM. I have installed CiviCRM 4.7.18 on WordPress4.7.4 and it failed.
The db password for CiviCRM and wp admin password does not contain any special character.
Everything on installation page was green with green checks.
After I pressed "check requirements and install", I did see successful installation message then the page redirects to
/wp-admin/?page=CiviCRM&q=civicrm&reset=1
And I see the following:

CiviCRM Home
System Status: Error
Cron Not Running
Configure Default Mailbox
Complete Setup
View details and manage alerts
Configure Your Dashboard Refresh Dashboard Data
Welcome to your Home Dashboard
Your dashboard provides a one-screen view of the data that's most important to you. Graphical or tabular data is pulled from the reports you select, and is displayed in 'dashlets' (sections of the dashboard).
Access Keys:
Powered by CiviCRM 4.7.18. CiviCRM is openly available under the GNU AGPL License.
Download CiviCRM.     View issues and report bugs.     Online documentation."

Using my backup I made before installing CiviCrm I have tried again this time I changed permission for civicrm and files folder to 777 from 755, thought that was the problem.

Create the /wp-content/plugins/files/ directory and ensure it is writable. CiviCRM uses this directory for temporary and uploaded files. (Source: https://wiki.civicrm.org/confluence/display/CRMDOC/Installing+CiviCRM+for+WordPress#InstallingCiviCRMforWordPress-2.WordPressInstalled)

Since I have a backup I can restore to and also delete and re-create sql db/user, I do not mind going at it again, but I think I might be missing something and it's better to know what and try again with the possible solution.
Any help/suggestion is appreciated.
Thanks,
Usman

I would recommend to get the CiviCRM package from sourceforge, the link is here:

Also please make sure to follow the installation instruction detailed here for installing CiviCRM in wordpress CMS.

I installed WP 4.7.4 and civi 4.7.18 on local and it got installed smoothly, yes it do gives notifications that you mentioned but that's expected:

Cron Not Running

Configuring cron on your server is necessary for running scheduled jobs such as sending mail and scheduled reminders.

Timestamp Mismatch
Configure Default Mailbox

A default mailbox must be configured for email bounce processing.

Complete Setup

Please enter your organization's name, primary address, and default FROM Email Address (for system-generated emails).


Is a CiviVolunteer shortcode available? All my WordPress pages have completely different headers (through a plugin). However, I need to get the Search for Volunteer Opportunities form in CiviVolunteer to appear on a WordPress page in order to change its header.

Is there a shortcode to do this? If this is not possible, how would I go about giving the form its own header?

No, there is not a shortcode available, but I'm not sure either that it isn't trivial to enable one.

But, I suspect it is not necessary for what you are trying to acomplish.

Have you enabled clean URL's for your CiviCRM install?

https://docs.civicrm.org/sysadmin/en/latest/install/wordpress/#enabling-cleaner-urls-for-wordpress

After you do that, the sign-up page should be displayed with your wordpress front-end theme: http://example.org/civicrm/vol/#/volunteer/opportunities

Be sure to note the permissions required: https://docs.civicrm.org/volunteer/en/latest/sign-up-form/

I think this would enable your custom plugin to display its headers.

Saludos!


Is there a way to preserve existing data when importing into multiselect and checkbox fields? My use case involves lots of importing, and extensive use of multiselect fields (to track things like skills, interests, etc). Sometimes we get new information about, for instance, an existing contact's skills. We want to include this new info in our import. But of course importing with "fill" overwrites the old information. We want to keep the old information and add the new information to it.

Unfortunately this is not something we thought about when we designed our fields and processes!

I am looking for advice on a (non-manual) process that a non-technical user could do to achieve the intended outcome (appending additional values to multiselect fields).

If anyone has any experience with this I would much appreciate your insight.

Depends on how you define non-manual. Only non-technical I know of is

import just the cid, add to group as part of import, then export
do a vlookup, and get your new data and old data for those fields on same spreadsheet
use CONCATENATE to combine your new 'option values' with the existing 'option values'
do import


Membership form that also allows for just a donation to be made The membership form https://www.colongwilderness.org.au/join-donate-membership has the option to select a membership or 'none' and make a donation.

If just a donation is chosen then the form submits and says that the payment was successful but no payment is recorded either with the gateway or with CiviCRM.

This is what the form looks like

If you choose

Membership - none -
Additional Donation $5

The submitted form says that the payment has been submitted to eway, but there is no record with eway or record of the contribution.

The Contribution p9age does not have 'membership required'.

The price set doesn't have anything as required. If the value to be submitted is $0 then the credit card form is not displayed correctly.

This is what the price set looks like

CiviCRM 4.7.22.

Do the following :

menu Contribution -> Manage Contributions Pages
configure -> Memberships Settings
at the bottom, there should be a checkbox "Separate Membership Payment".

Confirm that it is checked or not.
In doubt, don't check this box because i think not all gateway support it. You can at least give it a try.


This transaction cannot be processed. The merchant's account is not able to process transactions I am getting this error message in Paypal (Live transaction) My sandbox (testing) working alright

  This transaction cannot be processed. The merchant's account is not able to process transactions.

Any help is much appreciated

Also we do have previous question similar to this issue but was 2 years old.
PayPal Website Payments Pro: This transaction cannot be processed. The merchant's account is not able to process transactions

Thanks in Advance `

@Bobs thanks - I found out that only for upgraded Account Paypal Pro works - I did manage to change to Paypal standard and it works - Thanks