How do I set up dev environment with buildkit? I am new to the developer/code side of CiviCRM and attending the Dev training at CiviCON. I saw a post on StackOverflow about installing buildkit but haven't seen it re-posted here. I would appreciate a little more detailed steps on installing buildkit so I am prepared for the training.

I am using a Mac and it has also been recommended to me that I use MAMP. Would I install buildkit inside MAMP?

As Kurund pointed out, the general instructions are at https://github.com/civicrm/civicrm-buildkit . Follow those instructions to download the all the tools.

There are a few details that may not be well represented yet in the documentation:

As the main developer behind buildkit, I use it mostly in MAMP (and a bit in Debian and Ubuntu).
Buildkit runs several things on the command-line, so you need to make sure that the command-line is setup with the right version of php. By default, OSX uses its built-in version of php, but MAMP's version is generally better. See: http://wiki.civicrm.org/confluence/display/CRMDOC/Setup+Command-Line+PHP
I suggest putting buildkit in your home directory (e.g., git clone https://github.com/civicrm/civicrm-buildkit.git ~/buildkit). This is where all the tools will go. The source-code for CMS+Civi may go somewhere else (more in a moment).
After downloading buildkit, you'll need to setup a site with Civi. You can choose among two distinct workflows:

gitify: You install CMS+Civi manually and then run gitify to load the bleeding-edge Civi code.

Where: You can put the code anywhere. In MAMP, /Applications/MAMP/htdocs is probably easiest.
Pro: You can use any tools or processes you want to setup Apache, MySQL, CMS, etc.
Pro: Your configuration is custom. You control everything directly.
Con: Your configuration is custom. It's hard for other developers to reproduce, and it doesn't match the official test/demo environments.
Con: If you need to create multiple sites, you have to do all setup work repeatedly.
Con: If you want to work with the automated tests or schema, then you'll need to do several extra configuration steps.
Summary: gitify is generally best for light development with a single build.
Next step: Setup Apache+MySQL as you normally would. Install a CMS (Drupal/WordPress) and CiviCRM using tarballs or zip files. Then, run gitify with no arguments. It will display a help screen with some examples.

civibuild: You run a command like civibuild create d46 --url http://d46.localhost; the command automatically configures Apache+MySQL, downloads Drupal, downloads Civi v4.6, and installs them.

Where: All builds will get placed under  buildkit's folder. For example, the "d46" build might be ~/buildkit/build/d46.
Pro: Setting up new sites is automated. It's easy to create several different sites using a mix of CMS's and versions.
Pro: Your configuration is standardized. It matches the official test/demo environments.
Pro: Each site is automatically configured to run the automated tests.
Con: Your configuration is standardized. Loading things to match your personal preferences requires more work.
Con: The upfront configuration can be difficult/unforgiving - buildkit needs access to the internals of Apache and MySQL. Generally, it's based on a philosophy of "fail early, fail hard".
Summary: civibuild is generally best for heavy development.
Next step: See the detailed tutorials at https://github.com/civicrm/civicrm-buildkit/blob/master/doc/civibuild.md or https://buildkit-ui.civicrm.org/#/welcome .

If you go the civibuild route, then will need to prep the system by running amp config, which will present some questions and instructions for the local system. In a default MAMP configuration, some good values are:

db_type: mysql_dsn
mysql_dsn: mysql://root:root@127.0.0.1:8889 (or sometimes :3306)
perm_type: osxAcl (or none)
perm_user: www
hosts_type: file
httpd_type: apache
httpd_restart_command: /Applications/MAMP/Library/bin/apachectl graceful

In any workflow, buildkit has better support for Drupal- or WordPress-based dev-sites. There's some experimental code to support Joomla-based dev-sites, but the Civi-Joomla installer is difficult to automate, and it probably won't be resolved until http://forum.civicrm.org/index.php/topic,35050.0.html gets some real attention.


How to send organization a list of current Employees? I want to send a scheduled email to our organizational contacts to have them review the list of employees we have on record for their organization (employees inherit a membership status with our organization).

Ideally, I'd like to have a private link that the organization's contact can click that will display all contacts who have a relationship of "Is Employee Of" their organization. This way, they can verify whether our records accurately reflect their current employee listing.

I'm using Joomla 3.14 and civi 5.21.1

Is there a way to create a link like this from civi email? If so, how?

You may be able to do it using https://civicrm.org/extensions/data-processor extension to create list of contacts belonging to logged in user contact.


Custom report Action not working on new development I have now, after a steep learning curve built a custom report based on the  kind help I have has so far.

How to write custom report SQL

But I have an issue, that I don't know how to effectively resolve.

The report works online fine now with the desired output.

I built the report using the Example 101 - starting with 'Empty Report' and adding my SQL & columns as required.

But when I select an 'action' such as 'print' 'print to pdf' etc, there is a brief pause a refresh and nothing ..

Nothing is appearing in the php logs.

I have debug on.  Nothing is showing in the CiviCRM log output.

There are no browser console JS errors.

All other reports perform as expected.

I'm working through CiviCRM debugging, any pointers here please - I'm so close but so far!  (CiviCRM 4.7 - WordPress)

OK,

I tried deleting the report and recreating the report from the template, and like magic the functions started working.  Seems that CiviCRM has certain ways about it that developers need to know. ( is there a list somewhere ).

Moving on to the next part suppressing duplicate row content and page braking on sections. Getting closer to the goal :)


Buildkit -- Warning: file_get_contents(http://localhost:7979/index.php): failed The setup for buildkit runs smoothly, until  the 'amp test' command where it fails no matter what I do. I have tried over and over again for 6 hours. I'm new to this so maybe I'm making a basic mistake. Following are the exact steps and configurations I used, along with the output. Please help if you can.

Linux Mint 17.1 fully updated, fresh install, on
Virtual Box (running also in Linux Mint 17.1)
Apache/2.4.7 (Ubuntu)
PHP Version 5.5.9-1ubuntu4.9

As far as I can tell all the prerequisites are fulfilled. Following are the commands, reports and configuration I used:

apt-get install curl

comment: Note the new setup script name for Node.js v0.12
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

comment: Then install with:
sudo apt-get install -y nodejs

Use software manager to install:
Ruby and
Rake

git clone "https://github.com/civicrm/civicrm-buildkit.git" "/opt/buildkit"
export PATH="/opt/buildkit/bin:$PATH"

civi-download-tools

sudo service apache2 restart

amp config

Enter mysql_dsn> mysql://root:my_password@localhost:3306

Enter perm_type  [1] "linuxAcl": Set tight, inheritable permissions with Linux ACLs [setfacl] (recommended)

Enter perm_user>  www-data
Enter httpd_type apache24

Note: Please add this line to the httpd.conf or apache2.conf:

  Include /root/.amp/apache.d/*.conf

service apache2 restart

amp test

Connect to test application
Expect response: "response-code-vh4D13nHwi"
PHP Warning:  file_get_contents(http://localhost:7979/index.php): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
 in /opt/buildkit/vendor/totten/amp/src/Amp/Command/TestCommand.php on line 153

Warning: file_get_contents(http://localhost:7979/index.php): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
 in /opt/buildkit/vendor/totten/amp/src/Amp/Command/TestCommand.php on line 153
Received incorrect response: ""
Tip: Try running "amp config" and/or restarting the webserver.
Mint17a buildkit #

Even if I set the following permissions I still get errors:

group and full permissions for /opt/buildkit = www-data
group and full permissions for /var/www = www-data

Thanks in advance!

Check that you've followed this instruction?

  Note: Please add this line to the httpd.conf or apache2.conf:

Include /root/.amp/apache.d/*.conf

To do this, edit your Apache configuration (on Debian I'd create /etc/apache2/conf.d/civicrm-buildkit.conf) and add that line.

Check that you can open http://localhost:7979 (or the URL reported by your amp test) from the machine you're working on (curl http://localhost:7979/index.php etc).

A DNS failure suggests that your machine cannot resolve localhost - check /etc/hosts is correctly configured.
A connection failure suggests Apache configuration - check that Apache is seeing the configuration and able to bind to appropriate ports.
Errors in the output from curl, and further information in Apache / PHP error logs should give further information about what needs fixing.


Contribution receipt showing no fields We are using CiviCRM 4.7.10 on Joomla 3.6.2.   The contribution receipt isn't showing any field data, except amount and date, though it does show the intro text put into he Contribution form.   This is a contribution form that has an optional donation, but mostly collecting profile data.

My understanding that all fields from this form should display on the receipt - How can we get all the form data to email in the receipt?

Is this an online or offline receipt. It looks like an offline donation receipt. The information available for each is different.


Civicrm Activities - Scheduling conflicts CiviCRM  4.6.11, Joomla 3.4.8

So we're using activities to schedule meetings between our clients and our staff.

Our admin assistant selects the date and time, and the staff member that will be meeting with the client and creates the meeting activity. The creation generates an email and sends the notification to the staff. Which is all great.

The issue we have is the creation of conflicting meetings. Is there anything in Civicrm that would notify the activity creator that there is already an activity scheduled for that date /  time for that staff member? Rather than having to look up their activities before making the meeting?

Any help would be appreciated, and please let me know if additional details are needed.

Thanks!

" Is there anything in Civicrm that would notify the activity creator that there is already an activity scheduled for that date / time for that staff member?"

No there is nothing in CiviCRM that can do this currently.

For anyone using Drupal (I realise this user is on Joomla) then you could make a Views Calendar of Events and that could be used to view existing meetings, including filtering by contact.


Save before custom fields load overwrites with blank record Is there a patch for this.
I have an activity with quite a lot of custom fields and lookup fields.   The loading of the custom section takes quite a time, but the Save button is already displayed.
If you hit the SAVE before the custom fields are loaded, then the record is saved with blank data - overwriting the existing data.
It does not validate against the custom data - otherwise that would fail - it goes direct to overwriting.

I don't think there's any kind of patch that would help you. The easiest way to achieve what you want would be through a simple java script which disables/hides the save button until the page is fully loaded.
For this you would need to create an extension.


Renaming Tags - Possible? We've got about 100 tags we use to mark a contact's vertical market across thousands of contacts.

We've been asked to rename some of the tags for consistency, but I can't seem to find any way to do that.

We also tried creating a new tag set with the new tags, but as not all tags need to be renamed, I am not allowed to create  a duplicate tag, even if it is in a different tag set.

Is tags a Civi dead-end in this respect, or am I missing something?

Cheers!

You should be able to navigate to /civicrm/tag?reset=1 select a tag and click on the label on the right side (see screenshot).


Upgrading a server that's hosting CiviCRM to get to PHP 7 I did the deed and upgraded from Debian 8 to 9 and from PHP 5.6 to PHP 7.0. I wanted 7.1 but the host recommended I stick with the native packages since the 7.1 broke the SOAP function. I've been having all kinds of issues since the upgrade, such as users getting a DB error when trying to subscribe or use the contribution form, and numerous issues or errors in the log. Without going into that detail, I am wondering if there was any provisioning I need to do? I tested it all on a different PHP 7.1 server without issue.

How can I check the database integrity, etc. of the CiviCRM and is there a checklist to make sure the upgrade didn't break something
Is there a pre and post-upgrade CRM and server provisioning checklist?
What is the recommended MySQL version?

It seems like some simple setting got overwritten somewhere on the server.

Drupal 7, CiviCRM 5.7.2

An example of the problems we've run into since upgrading the server, no settings in CiviCRM or Drupal were changed and to my knowledge, no file permissions were changed:

Postfix status is excited
CiviSMTP keeps sending a notification that our password and username is wrong but testing the settings in CiviCRM and CiviSMTP reports that they are correct
The soap user also had an issue and our first mailing had a 100% failure rate. My host downgraded to PHP7.0 to stick with native Debian 9 packages. Mailings seem to work now
CiviMail drafts take forever to save or give an error that they can't be saved because content is out of date (posted separately)
CiviCRM sometimes runs very slowly
Users get an unknown db_error when trying to submit a contribution form (a lot of the time but not every time, posting separately)
Unknown DB Error for query UPDATE  civicrm_mailing. Error includes the full HTML of the email. (Submitting separately).
Several/constant MySQL deadlocks
Several in log: "We can't load the requested web page. This requires cookies to be enabled...". (Submitting separately).

I want to post in server fault also but when they see "CiviCRM" they might assume it goes here.

This looks like a collection of issues, not just a single one, even if they all originated from the OS upgrade.

The CiviCRM status page (assuming it loads) does a pretty good job of checking the usual suspects. I don't think your db would be corrupted.
The CiviSTMP error sounds like the crypto issue. I'd guess that your mailouts are being triggered by a cron running a different php (different version, or different packages).
CiviMail drafts issue + civi running slowly, but only sometimes, both sound like mysql issues. My guess is that your upgrade involved some other changes in the network or mysql settings. For erratic issues, I would definitely finger your provider, not CiviCRM.
Unknown db error - you'll need to look at the detailed error log (sure, install my log viewer!).


upgrade of civicrm fails with parse error I have a wordpress site with the civicrm plugin installed. We are still on 4.6, the latest in that branch. But we wanted to try out the latest version, which is 5.16.
I cloned the site and in that clone, I installed the zipfile of the new version , using the checklist for the 4.6 upgrades I did before.

When I had finished all steps and try to reload the site, it comes with an error message:

Parse error: syntax error, unexpected ':', expecting '{' in public_html/civicrm-nw/wp-content/plugins/civicrm/civicrm/vendor/league/csv/src/functions.php on line 33

I can enter recovery mode, but I have really no idea what I should do now. Should I try an earlier 5-version, or should I first upgrade to 4.7?

thanks for helping, Ruud

It sounds like your server has php 5.x. You need to use php 7.x for recent versions of CiviCRM.

See https://docs.civicrm.org/sysadmin/en/latest/requirements/#php-version


Using fields of referenced contacts in message When I have two contacts that have an employer/employee relationship in CiviCRM I can use the name of the employer in message templates when I sent messages with the {contact.current_employer} tag.
However I am currently seeing no way to get the name of a contact referenced through a custom relationship (say for example sibling) to use that in a letter. Is there any way to accomplish this in CiviCRM? Maybe something like {relationship_123.display_name}?

Welcome to SE CiviCRM, you can install Fuzion tokens extension. It provides lots of tokens for contacts like relationships, payments etc
Details can be found here.


Upgrading from 4.7.25 to 5.6.0 breaks CiviCRM When attempting to upgrade CiviCRM version 4.7.25 to 5.6.0 I ran into a number of issues. To rule out this is caused by something specifically from 5.6.0 I also tried 5.4.0. Unfortunately, this did not make any difference.

I get the following error when viewing the 'System status' screen:

Warning: Declaration of CRM_Volunteer_Permission::check($permissions) should be compatible with CRM_Core_Permission::check($permissions, $contactId = NULL) in /var/www/html/civicrm_viva_las_vegas_nl/wp-content/uploads/civicrm/ext/org.civicrm.volunteer/CRM/Volunteer/Permission.php on line 151

The screen stays empty for the rest. After clearing the cache, I also get the following error:

Fatal error: Uncaught Error: Call to undefined method CRM_Core_BAO_Address::isSupportedParsingLocale() in /var/www/html/civicrm_viva_las_vegas_nl/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check/Component/AddressParsing.php:45 Stack trace: #0 /var/www/html/civicrm_viva_las_vegas_nl/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check/Component.php(54): CRM_Utils_Check_Component_AddressParsing::checkLocaleSupportsAddressParsing() #1 /var/www/html/civicrm_viva_las_vegas_nl/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check.php(209): CRM_Utils_Check_Component->checkAll() #2 /var/www/html/civicrm_viva_las_vegas_nl/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check.php(93): CRM_Utils_Check::checkAll() #3 /var/www/html/civicrm_viva_las_vegas_nl/wp-content/plugins/civicrm/civicrm/CRM/Core/Page.php(218): CRM_Utils_Check->showPeriodicAlerts() #4 /var/www/html/civicrm_viva_las_vegas_nl/wp-content/plugins/civicrm/civicrm/Civi/Angular/Page/Main.php(70): CRM_Core_Page->run() #5 /var/www/html/civicrm_viva_las_vegas_nl/wp-content/plugin in /var/www/html/civicrm_viva_las_vegas_nl/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check/Component/AddressParsing.php on line 45

The upgrade process itself seems to run very smoothly, it does not give any errors.

What could cause the above errors?

Jack,

There seems to be problem with the extensions you have installed. Try upgrading CiviCRM after disabling all the extensions. Some extension might not be compatible with latest version of CiviCRM. As a best practice we disable all the extension or plugin of CiviCRM and then perform CiviCRM upgrade. Once finished with upgrade we turn on extension or plugin one by one.

HTH

Pradeep


Can a Drupal webform be used to create a waitlist registration? I have a CiviCRM Event which allows waitlist registrations and handles them correctly within Civi - including sending emails when there is a cancellation.

However, a Drupal webform used to enter registrations does not seem to allow/create waitlist registrations.

Is it possible to use the Drupal webform for waitlist registrations?

I do think that this is possible it also depends on the event configuration in CiviCRM.

If it is not possible you could create a webform in which each participant gets the status on waitlist instead of registered. That way you could create a waitlist.

To enable Participant Status - on waitlist in your webform -> you need to visit: /civicrm/admin/participant_status?reset=1 and enable both On waitlist as well as Pending from waitlist


How to sync CiviCRM contacts with a Drupal content type I am looking to sync CiviCRM Contacts with a content type in Drupal. Basically, I need to relate the contact information, via a 'person' content type, to other entities in Drupal(content types, taxonomies, files, etc). Also need to have it smoothly integrate with SearchAPI/FacetAPI, which having the information synced to a Drupal content type would give me. So far all I can seem to find is information covering how to sync contacts from CiviCRM to 'users' in Drupal, which I do not want to do.

At first, it seemed as though the CiviCRM entity module would work(https://www.drupal.org/project/civicrm_entity), but I don't see an obvious way to add Drupal fields to CiviCRM entities on the Drupal side.

--edit--

Apologies, I should clarify. I do not need to push any data from Drupal to CiviCRM in this case. I just need to make sure that my 'person' records in Drupal are linked to 'contact' records in CiviCRM in such a way as the person's contact fields in Drupal(first name, last name, email, address, etc) are synced to grab the most recent data from their CiviCRM 'contact' field counterparts. The views integration is great and is working for displaying data from CiviCRM entities, no problems there. What I need is the glue for grabbing the contact field data from CiviCRM into a Drupal content type.  Looking into services to see if it will fit for this, thank you.

It depends what you are after. You can use CiviCRM Contact Reference Field and this gives you a field on Node that you can then pull in the civi data. Having done that you can then pull in other civi data to that node via Views. You can see an example of this in action here where the Node is the Party, there is a reference field on that node to the Party contact in civi - and then the info about the Party eg Contact details are pulled on the page via Views using a Context Filter for 'nid from current node).

Then the MPs in the list lower on the page are pulled in because they have a Civi relationship to the Party ;-)

The Leaders on the other hand are 'node referenced' to the party in Drupal.
And if you click through to a Leader page you get the same deal. The MP page has 'civi reference' field to the MP civi contact. And all the other blocks are pulling in data eg Nodes that are node referencing back to this node.

Hope that gives you some ideas and partially answers your question.


change profile default (custom field) I have an application form for students wishing to sign up for an audition. Our student records contain a custom "standing" field to indicate whether they are active (current students), inactive (past students/alumni), or applicants. This field does not appear in the application form, however when the form is submitted the records default to "active." I must have set it up when I created the profile, but can no longer remember or find where to change it. Any help on how I can change the profile to default to "applicant" on this form?

From your description it sounds like a custom field with specific options (either a select field, checkbox or radio button). If you go to Administer>Custom Data and Screens>Custom Fields, find the field group and field then click Edit Multiple Choice options. See if the option for "active" is marked as default. Edit the option and uncheck the default option.

Hope this helps.


method for versioning configuration of civicrm? Is there a way to version the configuration so we can just roll it back if its a bit broken? Or is the only option full filesystem and db backups?

There is the CiviConfigure extension but I'm not sure how current it is.

There is also still bin/csv/export.php which you can use for option values and tags and such.

You can also use the api to retrieve and set various entities, e.g. using the cv tool.

For CiviCase, one of the original arguments for using external files was for versioning and managing dev/production. You can still use xml files for its config.


Couldnt see Civicrm plugin when logged in as wordpress subscriber/editor and other roles I created different users for my wordpress page. When logged in as Administrator , I am able to access CiviCRM, but when logged in as subscriber or editor or other roles, I am not able to view civicrm link at all. where the settings should be changed?

You need to set the ACL permissions for the specific roles in CiviCRM. Go to 'Administer>Users and Permissions>Permissions (access control)' then click on 'WordPress Access Control'. Here is where you can set specific permissions for user roles. The permission to provide access to CiviCRM in the back end is 'CiviCRM: access CiviCRM'. You will probably need to set many other permissions for these users depending on what you want them to have access to.


Why are country names not translated We are using CiviCRM 4.7 on Wordpress 4.4 in German Language and have switched the standard language to German. I have noticed that the country names are still in English.

Is there a specific reason for this?
What would be the correct steps to translate?
Do we need to translate manually all country names in the civicrm_country table?

I am not using the German version, but have translated the Norwegian version of the country names. There I also have just copied the English version, and only changed the name of my own country.

One of the cases we use country names most often, is when sending postal mail. Norwegian post men reads Norwegian, but French and German post men don't understand Norwegian country names. They do however understand English country names.

Therefore;
English country names=higher probability for postal mail to reach its destination abroad


PHP libraries in extensions I've seen the conversation at: https://forum.civicrm.org/index.php?topic=27981.0. But I was wondering if anyone had experienced successfully embedding a PHP library in an extension.

Specifically I want to include the PHP Simple DOM Parser. Any instructions/guidance? That contains a simple php file and a folder of files that it uses.

The OmniPay extension comes to mind as an extension built around a library.  Looking quickly, it seems like the sensible answer is "Use Composer".


How to send Amazon SES bounce notifcation emails to civiCRM bounce processing email address? I'm trying to follow the helpful guide here on setting up Amazon SES

https://www.compucorp.co.uk/node/1740

All working well apart from bounce handling.  Amazon SES by default seems to send bounce notifications back to the sending email address.

How to send from members@site.com and get bounce notifcations to bounce@site.com using Amazon SES?

I've figured it out now.  I'd not understood that bounce processing works only with bulk emails and not with 'transactional' emails.  All works fine if you know this!


CiviCRM component pointing to different database than Joomla CMS We have a little bit of a strange issue and could use some input.

We are using CiviCRM on Joomla.  Started on Joomla 1.5 years ago, then upgraded to J2.5/CiviCRM 4.4 a couple years ago, then a few weeks ago upgraded to J3.4/CiviCRM 4.7.1.

Somehow, somewhere along the way over the past couple years during multiple Joomla and CiviCRM upgrades, the site got configured so that Joomla was using one database (deafhhny_jmlprod) and CiviCRM was using a different database (deafhhny_jmlnew).  It seems to have been working fine all this time and nobody noticed.  Then during the latest upgrades, the CiviCRM config file got updated to point to the same DB Joomla uses (deafhhny_jmlprod).  We noticed in the CiviCRM dashboard that we were missing the last couple years of data.  I poked around and figured out that the data is in the deafhhny_jmlnew database, and that the civicrm.settings.php file had changed during the upgrade.

Before I just change the CiviCRM config file to point to the deafhhny_jmlnew database like it was before, I wanted to check with the community to find out if there could be any adverse effects to doing that.

If not, then I should be able to just update the database strings in civicrm.settings.php to point to deafhhny_jmlnew like it was before, right?  Although, I'm not sure if that DB got upgraded during the 4.4 to 4.7.1 upgrade process or what will happen if I point CiviCRM to it now.  Any ideas?

If there are potential issues with pointing to a different DB, can I get some help with how to get the data from the _jmlnew database into the _jmlprod database properly without breaking anything?

Thanks.

First - everything I suggest, do on a dev site, and make backups!

You SHOULD be able to just change civicrm.settings.php to point to @deafhhny_jmlnew@, then run the upgrade script, which upgrades the database to match the installed version.  Make sure you're logged into Joomla before you do this - going so many versions ahead, you're likely to be unable to do pretty much anything in Joomla/Civi (including log in) except go to the upgrade script page.


CiviCRM/Wordpress "Page" Integration I am using CiviCRM with Wordpress but I am having some trouble with getting pages in Civi to work in Wordpress.

For example, any time I try to view a contribution page, it takes me to a Wordpress page called CiviCRM that says "Do not delete this page. Page content is generated by CiviCRM."

No Civi content is actually there, just that text.

How can I get the actual contribute pages?

I just create a page called 'Contribute' or something like that, then either use the shortcode button the CiviCRM supplies in the page/post editing interface as Kevin mentioned above. Or, depending on how you like to build your Wordpress site, use Wordpress's do_shortcode method straight in your page template


Adding a contact profile to a contribution page (user registration) I have been searching the database for this kind of error but was unbale to get it solved thus far.

I am trying to add a contribution page for users to sign up. I have defined two main user groups: members and administrators.
Contact types as in the picture:

And I want to add a profile "basic profile" to the sign-up including some custom set of fields, which I have defined as follows:

If I want to add it to the contribution page, not even the drop down is visible, and it seems like a display error, but I have tried it on multiple browsers and the problem persists.
I reckon it must be some sort of definition error which makes no profile pop up in my contribution page. But where is the faulty definition?

Thank you very much for your help, appreciate it! I am using wordpress 4.12.1

Best regards
Joël

It sounds like the problem is the one described here: Backbone isn't loading on Civi 4.6.11/WP 4.4.1

Please try changing your theme to the default theme, which doesn't conflict with Backbone.  If you find that this solves the problem, you can follow the instructions on the other question on dequeuing Backbone from your WordPress theme.


How to save a search criteria? is there a way to save the search criteria from a 'search builder' or 'advanced search' for future use without making it a smart group? TIA

I don't think so, but there is some support for bookmarking a url for certain types of searches:
https://docs.civicrm.org/user/en/latest/the-user-interface/searching-url-support/


inner join using api3 chaining I am trying to use api3 to get all participants to an event of a certain type. In SQL I would use an inner join for this, using api chaining I do:

  $result = civicrm_api3('Participant', 'get', array(
  'sequential' => 1,
  'api.Event.get' => array('event_type_id' => $type_id),
));

However this results in all event participants, to every type of event, being returned. The ones who haven't participated in an event of the type get no events tacked to them. Is there a way in the API to filter these participants out?

Normally you could handle this with an API Join rather than an API Chain but unfortunately the Participant API is one of the four quirky entities that don't support this.

APIv4 is under heavy development right now, and one of the primary goals is to standardize these four entities to eliminate this limitation of APIv3.  You may want to test APIv4 to see if it meets your needs yet.


How do I control the order in which hooks fire? If I have two extensions that both use, say, hook_civicrm_post, how can I control the order in which the two extensions fire?

CRM/Utils/Hook.php indirectly calls CRM/Extension/Mapper.php::getActiveModuleFiles which does

SELECT full_name, file
        FROM civicrm_extension
        WHERE is_active = 1
        AND type = "module"

So there is no well-defined order. You could of course hack that line to add an ORDER BY.


Can I get a notification emailed to me every time a contact with a certain tag is updated? Our team would like to be notified any time a certain group of contacts are updated. Ideally this notification would contain the most current version of the contact profile, as well as the previous version of the profile so that our team can compare the old information with the updated fields. Is such an automated notification possible? Is there a way we could do this with a scheduled report?

I think meeting all these requirements would involve custom code. Some possible approaches to meet some of the requirements...

(1) In Advanced Search, search for contacts with the relevant tag and under Change Log, modified date yesterday. Save as a smart group. Then set up a Constituent Detail report filtered by this smart group. Have it emailed daily.
This will not give you the contacts' previous data.

(2) Enable logging, at Administer -> System Settings -> Misc. Use the Contact Logging Report.
This does not allow filtering by tag. However this feature could be added, with code customisation.

(3) A custom solution using the civicrm_pre hook to provide real-time notification of changes. This could include before-and-after values.

(4) A custom solution running under cron, using Civi logging to check for changes and retrieve previous values.


Search Builder - find one word amongst many I'm in the process of testing CiviCRM for managing our non-profit contacts.  I'm in the process of testing the import function.  We already have our current contacts organised into groups.  When I export out of the old database, all the groups end up in a single cell.  So I have mapped them all to a custom field on import. So far so good.

Now I need to search that custom field to filter the groups so I can tag them with new tags inside CiviCRM.  I hope this makes sense?

I have been trying to use the 'search builder' to query the custom field, using the LIKE and % but I don't seem to get all the records.

I know there should be 91 records with PAWS in them but I only end up with 4. See the screenshots below.

Is there a better way to do this?

The %PAWS% should work.

Another option is, which depends on the number of groups you have.

Export all people of group PAWS to an excel with a unique identifier (external id or email address for example). Import them and place all of them in right group.


MailChimp Integration imports First Name, but not Last Name CiviCRM 4.4.14 (Drupal)

I am trying to use the MailChimp integration extension but on importing a list from MailChimp, only the first name is imported. I've gone through all the settings but cannot find a way to get last name too.

The extension looks for specific MailChimp merge token names (FNAME, LNAME, and EMAIL). You can check it out in the function CRM_Mailchimp_Utils::updateContactDetails() if you want to see the guts of what it is doing. If your merge tokens are different, I think your options would be:

update your tokens on the MC side
hack the extension to hard-code your own token names instead of the default ones
improve the extension by creating some kind of field mapping!
create your own extension to override the functions that affect merge tokens


CiviCRM Event auto public on WordPress after saving Our CiviEvents are being made public on our Wordpress whenever we save them. They are all listed as private, because only our community are meant to see them.

When we edit the event in CiviCRM it automatically makes the event public in wordpress on save.

Any thoughts?

Addition information as per the comment.
We are using the following plugins -
CiviCRM Event Organiser V0.4.1 - https://github.com/christianwach/civicrm-event-organiser
AND
Event Organiser V3.6.2 - https://wp-event-organiser.com/
*This one does have an update available.

Please update to the latest version of CiviCRM Event Organiser:

https://github.com/christianwach/civicrm-event-organiser

This should respect the existing post status of your Event Organiser events.


CV Scheduled jobs not firing from cron I am attempting to use CV to call job.execute to run my scheduled tasks as described in the CiviCRM Documentation. I am using Drupal 7. I have several independent sites running on the server.

It works fine when I call it manually (for each site):

sudo cv api job.execute --user=admin --cwd=/var/www/html/siteroot

The tasks also work when I call them manually from the UI (for all sites)

Crontab is set up with the following:

*/5 * * * * cv api job.execute --user=admin --cwd=/var/www/html/siteroot

the syslog shows no problems and that the cron fires (example output):

Nov  1 10:15:01 live CRON[8991]: (root) CMD (cv api job.execute --user=admin --cwd=/var/www/html/siteroot)

However,

the scheduled tasks appear to not be running. I have configured several to run "whenever cron is run" but they still do not run unless I fire them manually.

Is there something I am missing? Is there a log in Civi where I can see if the command is being received?

I am using Drupal 7, php7.0, CiviCRM 5.3 on Ubuntu 16.04

Ok so this may seem like a silly issue to some but after some messing around I figured out cron didn't have access to the path where CV was installed so to fix it the crontab entry had to be changed to:

*/5 * * * * /usr/local/bin/cv api job.execute --user=admin --cwd=/var/www/html/siteroot

There was no error as the mailer deamon was not firing correctly so no error was being sent or logged.

Cron does not generally have access to the path that a shell root user does, which is why running the command cv as root works just fine.


How to count event attendees with price sets and multiple bookings? I am using price sets with events. In all the reports it has 'Fee Level' and it looks like this

Two Day Passes - 2,

I can count the number of people who registered, but not the number of passes sold except via, filter on 'Fee Level' and 'sed and awk'.

awk -F',' '{print $6 }' Report_20160905-720.csv | sed 's/"//g' | awk -F ' - ' '{sum+=$2} END {print sum}'

The fees section of the event is setup with price sets and field type 'number' which is the count. If I purchase 2x $30 passes the form calculates the amount. The reports however, have Two Day Passes - 2 and I can't see how to add up the actual number of passes bought, just the number of registrations.

Thanks

Install Eileen's:
https://civicrm.org/extensions/extended-reports

That will allow you to Filter for participants who have the 'Two Day Passes - 2' option.


How to get job.execute to run with drush I have the command in cron  cd /home/quabbinm/ && /usr/local/bin/drush -r /home/quabbinm/public_html/trainingactivebystanders.org -l https://trainingactivebystanders.org -u nan civicrm-api job.execute
which results in errors

X-Powered-By: PHP/5.6.33
Content-type: text/html; charset=UTF-8

Notice:  Undefined variable: argv in phar:///usr/local/bin/drush/drush on line 114

Warning:  array_shift() expects parameter 1 to be array, null given in phar:///usr/local/bin/drush/includes/startup.inc on line 171

Warning:  Invalid argument supplied for foreach() in phar:///usr/local/bin/drush/includes/startup.inc on line 182

Warning:  pcntl_exec() expects parameter 2 to be array, null given in phar:///usr/local/bin/drush/includes/startup.inc on line 359

Notice:  Use of undefined constant STDERR - assumed 'STDERR' in phar:///usr/local/bin/drush/includes/startup.inc on line 363

Warning:  fwrite() expects parameter 1 to be resource, string given in phar:///usr/local/bin/drush/includes/startup.inc on line 363

Notice:  Use of undefined constant STDERR - assumed 'STDERR' in phar:///usr/local/bin/drush/includes/startup.inc on line 364

Warning:  fwrite() expects parameter 1 to be resource, string given in phar:///usr/local/bin/drush/includes/startup.inc on line 364

When I run the same command at the command line it runs fine

It looks like you are using an incorrect version of php when this command runs from cron. According to this resource you are receiving these errors because you are using php-cgi rather than the php CLI binary. Most reports of this error are regarding 1 & 1 hosting.

Rather than using /usr/bin/drush use something like this:

  /usr/bin/php /usr/local/bin/drush {rest of the command}

Where /usr/bin/php is the path to the php CLI binary on your system.


CiviCRM Stripe PCI Compliance I am using the latest version of the Stripe extension (5.2) and have CiviCRM up-to-date and Drupal. I'm getting this error in my Stripe portal, I only use Stripe with CiviCRM. Can anyone provide some insight? Was not sure if i should post this here or at https://lab.civicrm.org/extensions/stripe/issues

The Stripe development team has upgraded the code of the extension to support the new API that is PCI compliant.


How to do a Mail Merge How do I start a mail merge? I would like to mail a letter to multiple contacts. Not an email, but an actual letter to receive in the mail. Can you please provide step by step instructions.

Thank you,
Becky

You can add tokens and produce a PDF from that as a printable item. You will find some instructions about this in the manual's postal communication page (thanks to Allen for improving answer)


How can I create a group containing all contacts with more than one email address? I'd like to create such a group so that I can contact them to identify which of their multiple email addresses they want to have as their primary one.

Here's a hack that only works if you're not using the "Do not SMS" field for contacts, if you do, find a different one.

Use that field as a temporary flag to identify contacts in the group, using sql like this:

UPDATE civicrm_contact set do_not_sms = 1 where id in (SELECT contact_id FROM civicrm_email group by contact_id having count(id) > 1)
Use that field via a search to select all the multi-email contacts.
Put 'em in a group.


How can I display the participations of events in the user profile? How can I display on Joomla 3.6.4 with CiviCRM 4.7.13 the tickets purchased by a user on his user profile?

Thank you in advance

have you tried the default contact dashboard provided by CiviCRM? At least in Drupal the URL would be yoursite.org/civicrm/user?reset=1

Contacts can do many things (such as renewing a membership or printing an invoice) from the dashboard, you can edit what contacts are able to see here: yoursite.org/civicrm/admin/setting/preferences/display?reset=1
(above the choice for the WYSIWYG editor).

Make sure users have the correct permissions described here: https://docs.civicrm.org/user/en/stable/initial-set-up/permissions-and-access-control/#giving-users-the-ability-to-view-their-contact-dashboard


"Failed to authenticate key" when posting to REST api I used the API explorer to create a target url, but I cannot send a GET request with curl. The error is: "Failed to authenticate key".

Here are the steps I am following:

Create an url in the API explorer:

http://51.15.94.180/wp-content/plugins/civicrm/civicrm/extern/rest.php?entity=Contact&action=get&api_key=userkey&key=sitekey&json={"sequential":1}

Looked up the site key in civicrm.settings.php (under CIVICRM_SITE_KEY)
Used the "API Key" extention to add an API key to the "admin" contact (the one that is associated with the civicrm admin account).
I inserted my keys (which I change here for security reasons) to produce this expanded url:

http://51.15.94.180/wp-content/plugins/civicrm/civicrm/extern/rest.php?entity=Contact&action=get&api_key=uCMXIUhzpPv&key=VKtUrOkd&json={"sequential":1}

I curl this url, and get the mentioned error

Can anybody help?

UPDATE

I was able to stick a debug log statement into the authenticateKey function of System.php:

CRM_Core_Error::debug_var("req", $_REQUEST);
CRM_Core_Error::debug_var("req size", sizeof($_REQUEST));

The result of this is:

Mar 21 11:49:21  [info] $req = Array
(
    [entity] => Contact
)

Mar 21 11:49:21  [info] $req size = 1

So it seems only the first key/val pair of the request is received in _REQUEST. How can this happen?

Turns out the problem was that I was calling curl without putting quotes around the url.


CiviRules Action to add tags not working Wordpress 5.6.1, CiviCRM 5.33.1, CiviRules 2.21
I would like to add a tag to a contact when a membership is added/renewed. I can select the action "Add Tag to entity", but I can't see any of the available tags. I can create a rule with a trigger "Contact is tagged" where I can select from the available tags. In Drupal, I can choose the action "Add Tag to contact" and it works, but I need to do it in wordpress and can't figure out the issue. Any ideas?

Welcome to SE. I think this may be a bug with Civirules 2.21, where something has obviously changed as I now see the action "Add Tag to entity" rather than "Add Tag to contact which was in 2.20. I also don't get offered any tags to select. I'm guessing you may have an older version on your Drupal site. Nothing in the release notes (https://lab.civicrm.org/extensions/civirules/-/releases) suggests this change so I suggest that you contact the email addresses in the documentation (https://docs.civicrm.org/civirules/en/latest/)
I'm on an older version of WordPress 2.26.2 but I don't think that will make any difference.


Permit member-only pricing Goal: Provide member discount pricing for some events and member exclusivity for other events.

I realize cividiscount can provide membership discounts - is it required or can it be achieved via price-sets too?

Can event registration be restricted by membership status (free or for fee)  Can't see how to do that with cividiscount.

I can do it with a specific civicrm-webform but wanted to see if I'm missing something in native civicrm.

I would guess that member-only events would be a common use case.

The Group Price Extension states that it

  allows you to limit the display of individual prices in price sets to specific groups. This can be used to implement members-only pricing for events, as well as other use cases.


Got error on installing CiviCRM on Drupal 8 I tried to install civiCRM with Drupal 8 following this https://www.mydropwizard.com/blog/better-way-install-civicrm-drupal-8 but I am unable to do so. I am getting the following error:

Fatal error: require_once(): Failed opening required 'D:\Myprograms\php\civicrm\vendor\civicrm\civicrm-core/packages/DB.php' (include_path='.;D:\Myprograms\php\civicrm\vendor\civicrm\civicrm-core;D:\Myprograms\php\civicrm\vendor\civicrm\civicrm-core\packages;D:\Myprograms\php\civicrm\vendor/civicrm/civicrm-core/vendor/tecnickcom;D:\Myprograms\php\civicrm\vendor/pear/archive_tar;D:\Myprograms\php\civicrm\vendor/pear/auth_sasl;D:\Myprograms\php\civicrm\vendor/pear/console_getopt;D:\Myprograms\php\civicrm\vendor/pear/log;D:\Myprograms\php\civicrm\vendor/pear/mail;D:\Myprograms\php\civicrm\vendor/pear/net_smtp;D:\Myprograms\php\civicrm\vendor/pear/net_socket;D:\Myprograms\php\civicrm\vendor/pear/pear-core-minimal/src;D:\Myprograms\php\civicrm\vendor/pear/pear_exception;D:\Myprograms\php\civicrm\vendor/pear/validate_finance_creditcard;D:\Myprograms\php\civicrm\vendor/phpseclib/phpseclib/phpseclib;.;C:\php\pear') in D:\Myprograms\php\civicrm\vendor\civicrm\civicrm-core\install\civicrm.php on line 151

I am getting the above error when installing CiviCRM module. Please help

I don't know how it works on Windows, but had the same problem yesterday with Ubuntu. Fixed by forcing the directory structure to be writable by both the Apache user and the user I'm logged in as—by default, some of those directories were unwritable and the install failed halfway through.

Note: failing halfway through was an unrecoverable state, I had to revert to a recent backup and start over.


Customize Bookkeeping Transactions Report: Print custom field option value instead of name/label I am using custom fields to store additional (cost accounting) data for contributions. Using the bookkeeping transactions report, I am able to export the data.

However, when we are trying to import the data into the legacy accounting system, it does not accept the option's long name for import, but only the key value, which is stored in the custom field option value.

How can I customize the bookkeeping transactions report, in order to make it print the custom field option value instead of name/label?

Any hint is highly appreciated!

Cheers, Detlev

I assume you're not asking how to customize reports in general, but what customization you can make to get your desired results.

You can use the alterDisplay() function to modify the output of your report.  Check out CRM_Core_PseudoConstact and its methods (getKey, getLabel, getName) one of those is likely to do it for you.


Can I change Event Types in bulk? Can I batch change more than one event type at once?
I want them all to be the new, same type. Do I have to go into each event configuration separately to change the event type?

If the events are all part of a repeating event series, then you should be able to change them by changing one, and selecting the option to change all related events.

Otherwise, I'm afraid there's no built-in way to bulk change event types.  If you know what you're doing with the API Explorer or MySQL, you can bulk change the event type on the back end - there's no real harm unless you have custom fields tied to the old event type, in which case they might show up unexpectedly on a report.


CiviEvent registration & IATS payment processing fails to blank page IATS plugin 1.5.3 in Civi 4.7.11 on Joomla 3.6.2

First off, CiviContribute works like a charm.

Second, in backend (test) and frontend (live), CiviEvent form comes up and goes to second step correctly. Upon submitting for payment times out with this error but the payment is processed as per IATS TEST88 portal:

On Chrome:

  This site can’t be reached

  The webpage at
  https://alcoholjustice.org/administrator/?option=com_civicrm&task=civicrm/event/register
  might be temporarily down or it may have moved permanently to a new
  web address.

  ERR_SPDY_PROTOCOL_ERROR

On Firefox:

  Request Timeout

  This request takes too long to process, it is timed out by the server.
  If it should not be timed out, please contact administrator of this
  web site to increase 'Connection Timeout'.

I'm not getting any log reports even with debugging on. I increased the PHP input and execution time limits to 5 minutes. It times out at 2 minutes.

Also, just want to be sure this is the correct URL for iATS:
https://www.iatspayments.com/netgate/ProcessLinkv2.asmx?WSDL

1.5.3 (see info.xml) file is a release for CiviCRM 4.4 - 4.6

If you're on 4.7 - you can try our pre-release master branch - I just checked and Event registrations are processing fine w/ iATS

Though what you're seeing may actually be a server configuration issue... or a issue w/ your specific CiviCRM instance;


DB Error: no such field : Assignee Contact Email We had to restore a database from server crash to a newer version CiviCRM (4.6.3). We have gotten most of the data moved over but this one has us stumped. We have been getting the error "DB Error: no such field" when we have the "Assignee Contact Email" checked in the Activity Report-Template.

I have gone through and compared the tables: civicrm_activity and civicrm_activity_contact to a fresh install of CiviCRM 4.6.3. All Columns, Indexes and Foreign Keys seem to be identical.

Is there some other place I should be checking?

Thanks again for everyone's help!

Which version did your database come from? I could imagine your report still tries to retrieve the assignee contact id from the table civicrm_activity_assignment (prior to CiviCRM version 4.4) rather than from civicrm_activity_contact?


Error: require_once(): Failed opening required 'CRM/Core/ClassLoader.php' PHP Error: require_once(): Failed opening required 'CRM/Core/ClassLoader.php' (include_path='.:/buildkit/build/dmaster/web/sites/all/modules/civicrm/:/buildkit/build/dmaster/web/sites/all/modules/civicrm//packages:.:')
at line 552 in /Users/apple/Work/Gsoc/Opensrc/civicrm-buildkit-docker/build/dmaster/web/sites/default/civicrm.settings.php

This is the complete error i am getting.
For this i changes the path in civicrm.setting.php '''$civicrm_root ='/Users/apple/Work/Gsoc/civicrm/civicrm-buildkit-docker/build/dmaster/web/sites/all/modules/civicrm';''' even then i am getting the same error.
Please help me out.

I'm using drupal with civiCRM and got the same error [failed to open require_once CRM/Core/ClassLoader.php].
I made the following changes to solve it.
In your civicrm.settings.php if you have
require_once 'CRM/Core/ClassLoader.php';

Change it by adding "civicrm_root" variable
require_once $civicrm_root . '/CRM/Core/ClassLoader.php';

This is assuming that somewhere in that file, you have already set the "$civicrm_root" variable to point to your civiCRM install directory such as
$civicrm_root = '/var/www/html/drupal-root/vendor/civicrm/civicrm-core';

Note: my path might be different as I'm using composer to install civiCRM


CC Option in Contribution - Email Receipt I need my Receipt to be CC'd to specific (Sponsor of the user) whenever I email my receipt to the actual user - How do I achieve this?

Note: each user will have a different sponsor

Is their a way I can do ?

Or do I have to add CC option in the Form ?

Thanks in advance

Perhaps you could use CiviRules (along with the added extension Email API to enable CiviRules to send emails) not sure though. I don't think CiviCRM provides you facility to choose cc or bcc when sending receipt from offline contribution form(you can add extension and implement buildform and altermailparams hook). However you could achieve this by doing some manual process

Create contribution and don't send receipt.
Find contribution and select contribution, use 'Print receipt' action
Download the receipt
Use Email to activity to send email with receipt as attachment.

Cheers

Pradeep


Merging case types in CiviCase I would like to consolidate the case types that I have created for CiviCase.

Is there a way to merge two or more case types into a broader category so that the cases once assigned to these more narrow case types can assume the new, broader case type?

I don't think there's a way in the user interface but if you're comfortable with directly accessing the database and don't need to update any timelines/activities you can do something like:

UPDATE civicrm_case SET case_type_id = CONCAT(CHAR(1), '8', CHAR(1)) WHERE case_type_id = CONCAT(CHAR(1), '1', CHAR(1));

This would take the ones who have case type 1 and convert them to 8. You'd have to look and see what the existing numbers are:

select ov.label, ov.value from civicrm_option_group og inner join civicrm_option_value ov on (ov.option_group_id = og.id and og.name = 'case_type');

And of course do this on a test site first, and make a backup.


allow public access to entityRef field contact lookup I need to add an entityRef lookup field to a public facing profile form so that users can search and select organization contacts. I patterned it after the current employer lookup in the contact record with slight changes (you can't create a new contact):

$props = array(
  'api' => array('params' => array(
    'contact_type' => 'Organization',
    'check_permissions' => 0,
  )),
);
$form->addEntityRef('employer_id', ts('Organization'), $props);

If I access the form anonymously, the lookup fails with a permission error. If I grant the public user "access AJAX API" it does not fail, but does not return any records (because the public user isn't permissioned to view all contacts). You'll see that I attempted to modify the API with check_permissions, but it has no impact.

With "access AJAX API" enabled for the public user, the alterAPIPermissions hook is hit -- so I could modify the perms and avoid granting the public user "view all contacts" permission.

My question is:
What are the consequences of giving the public user access AJAX API permission? Is there some way to avoid having to do that? Is the above the right way to implement this -- to grant that permission and them modify the actual permissions with the hook?

EDIT:
Actually, I don't seem to be able to grant sufficient permissions with alterAPIPermissions. I've tried:

$params['check_permissions'] = 0;
$permissions['contact']['get'] = array('profile create');
$permissions['contact']['getquick'] = array('profile create');

(the anonymous user has profile create permission) and the entityRef still returns no records.

The Access AJAX API permission was added in CRM-8840 to get around the firewall of sorts that surrounds the API unless you have Access CiviCRM.  If you don't have either, you'll get blocked trying any Javascript call to the API, regardless of your other permissions (whether granted via hook, ACLs, or CMS).

As best I know (and I just did a quick test on a dummy site), all of the APIs require Access CiviCRM or Administer CiviCRM even beside the blanket requirement for Access CiviCRM or Access AJAX API.  While adding Access AJAX API will get your foot in the proverbial door, you won't have the ability to do anything.  You'll want to write a hook to change the permissions in the specific cases that you need to run an API call.

So yes, you're on the right track, and no, there shouldn't be any immediate negative consequences of adding Access AJAX API.  However, since it removes the outer layer of security against the API, you'll just need to be sure everything's configured tightly.


Reassign Case Role Not Working in 4.7 I'm on Drupal with CiviCRM 4.7.21. I have a case with John Doe as the "Manager." When I try to reassign the individual, I can select a new individual and the form will submit. However, nothing changes after the page reloads. "Manager" is still John Doe.

Can anyone verify this? I don't see any of the CiviCRM demos have CiviCase activated for me to replicate this.

Steps

Create a custom relationship "Manager is"
Create a custom case "Supervision"
Add "Manager" case role to Supervision case under case type
Open a case
Reassign the case role from "Person A" to "Person B"
Page is reloaded with no change. Person A remains the case manager.

Ok I see your config is still on the demo. A key piece of information missing is that the new relationship type is defined for a different type of contact (Student) than the client. If I change the relationship type to be between Individuals it works fine.

The role is a relationship with the CLIENT. If the client is an Individual, the relationship type needs to be one that is also with an Individual.

You could argue it would be nice to have an error popup, but this just seems like a configuration issue - it needs to be the same type as the client.


What's happened to contact images in 5.8.2? I've recently upgraded a site to CiviCRM version 5.8.2, and my contact images are no longer visible on contact summary screens. If I click the Edit button the image is visible on the edit page.

Looking through the code for the summary screen the div that contains the image looks to be floated to the right of the contact name, and the URL for the image is certainly there, but nothing is visible on the page.

I've cleared caches and suchlike to no avail. Anyone got any clues as to how to make the contact images visible again?

I'm pretty sure that that this problem wasn't caused by the update to 5.8.2 but instead the installation of the Shoredtich extension as part of installing Mosaico. This issue clarifies: https://github.com/civicrm/org.civicrm.shoreditch/issues/374

Essentially there is a JS file in the Shoreditch extension - contact-summary.js - that is loading on every page regardless of whether Shoreditch has been installed purely to support Mosaico (as in my case).


Column sorting not working I have civicrm 4.4.2. When I try to order any search result by other columns, I always get the same message:

  No matches found for:
  Contacts IN Administrators AND Group Status - "Added"
  Suggestions:
      check your spelling
      try a different spelling or use fewer letters
      if you are searching within a Group or for Tagged contacts, try 'any group' or 'any tag'
      add a New Individual, Organization or Household
      make sure you have enough privileges in the access control system

I have tried with Firefox 31.5, with IE9, and Chrome 47.0. When I click the different columns, a parameter appears in the ULR ...&crmSID=4_u The only one working is the default one &crmSID=1_u (first column).

Any help? Thanks!

You should start by upgrading to the latest version in the 4.4 series.  (4.4.20).

The problem you refer to sounds like a bug that was fixed in a later point version of the 4.4 series. We are using 4.4 and can sort successfully by all but State.


How to create a multiple-record custom field set for a Membership? Short version: Using the standard New Custom Field Set form, it is currently not possible to create a multiple-record field set for memberships. Is there some other way to achieve this?

Long version: I work for a membership-based society comprised of, among other things, a number of choral music organizations. As part of their being members, we would like them to tell us the names of the choirs that are part of their organization, and the number of singers in each choir. Given that a single organization can run multiple choirs, a multiple-record field set would be perfect for this information...if only I could create one. Using CiviCRM's built-in facilities, the only options I can see available to me are:

a) creating a finite series of separate fields for the membership type based on some reasonably safe assumptions about the maximum number of choirs a single organization is likely to have, or

b) creating a new contact type specific to these members, creating a multiple-record field set to associate with it, and then forcing someone in the office to update the information manually.

At present I'm leaning toward the first option, but I'd love to hear if anyone has any other ideas, especially ones that would allow me to use the correct (for the situation) field set type associated with the membership scope.

Thanks!

We ended up going with option c): create each choir as its own contact, then create custom relationships between the choirs and the organization they're a part of. This in addition to making the choirs themselves easily searchable, this also allows us to create separate relationships between conductors and their individual choirs (since each choir in an organization might have a different conductor).


Joining fee for new memberships I’m looking for an elegant way of implementing a joining fee for new members. The joining fee is different for each membership type and is payable in addition to the normal annual membership fee. After the first year the member should be able to renew at the normal rate, preferably without an administrator needing to change anything. The CMS is Joomla.

Some of the suggestions that I’ve seen (https://forum.civicrm.org/index.php?topic=29226.msg125372#msg125372 and https://forum.civicrm.org/index.php?topic=27362.msg121121#msg121121) involve the use of different sign-up and renewal contribution pages, with each using a different price set. I’ve tried that but the “(Not Xyz User, or want to do this for a different person?)” link can turn a renewal page into a new member signup page. (The organisation has valid use for renewing for someone else, e.g. other household members, so disabling this for everyone wouldn’t be a good idea, if that’s even possible.)

Other info that may be relevant:

At present the organisation’s rules require new member applications to be in writing  & signed, so at least for now I will probably need to prevent online signups altogether
The membership period is fixed (1 January to 31 December); a 50% discount applies to the membership fee—but not the joining fee—from 1 July to 31 December.
If a member does not pay the membership for a whole year and wants to re-join then the joining fee is payable again.

You could include the joining fee in the membership fee, and then give an automatic discount (joining fee amount) for renewals (requires testing).

Or, some custom code could be written to remove the joining fee field/amount if the user is a member.

In both these scenarios the user will need to be logged in.


What does Group Type = Mailing List do? When you create a group in CiviCRM there are two tick boxes for Group Type: Access Control and Mailing List. I presumed that the latter controlled whether that group was available in CiviMail, however this doesn't appear to be the case.

When you create a new mailing you can select a group whether or not this tick box has been ticked.  So, I was wondering if this tick box actually does anything or if it can just be ignored?

I'm using CiviCRM 4.4.15

I think I have discovered the answer to this.

If the 'Mailing List' box is ticked and the visibility is set to public the group is listed on a page (yourdomain.org/civicrm/mailing/subscribe) that allows people to subscribe to the mailing list.  If the box isn't ticked it won't be displayed on this page.

It doesn't appear to affect whether the group can be used to select recipients for a mailing, which is what I first thought it did.


Search Builder One of parameters is not of the type MysqlColumnName Drupal 7.43 / CIVICRM 4.7.7

I am trying to find contacts with no emails (any type eg/ Home, Other) using Search Builder. Using either IS EMPTY or IS NULL, I end up with no result but get a DB error.
Viz:  Sorry but we are not able to provide this at the moment.
One of parameters (value: Home-email) is not of the type MysqlColumnName

It doesn't seem to matter what operator I use, the result is the same.
Please help. Ian

I just tried to replicate this problem on the demo site but couldn't.

I would recommend upgrading to Civi 4.7.9, and if you still have the problem, you can do two things:

Try to replicate it on the demo server (demo.civicrm.org).  If you can't, the issue is most likely in the configuration.
The "DB Error" isn't really enough info to go on.  So you can go to Administer menu » System Settings » Debugging and Error Handling, and set "Debug mode" and "backtrace" to "yes".  That will give you a much more detailed error.  Updating your question with that info will let folks provide much more detailed information!


Events -> Find Participants results in Warning: Cannot modify header information - headers already sent I've running CiviCRM 4.7.31 on Wordpress 4.9.6.
When selecting Events -> Find Participants, I get the following warnings and a blank screen:

Strict Standards: Static function CRM_Core_Task::permissionedTaskTitles() should not be abstract in .../wp-content/plugins/civicrm/civicrm/CRM/Core/Task.php on line 132
Warning: Cannot modify header information - headers already sent by (output started at .../wp-content/plugins/civicrm/civicrm/CRM/Core/Task.php:132) in .../wp-content/plugins/civicrm/civicrm/CRM/Utils/System/Base.php on line 926

Furthermore, when I go into the Events Dashboard, I get the following each time:

Standards: Static function CRM_Core_Task::permissionedTaskTitles() should not be abstract in .../wp-content/plugins/civicrm/civicrm/CRM/Core/Task.php on line 132

Is this a bug or an issue with my setup possibly?

This has been recorded and fixed in later version of CiviCRM. You can either apply patch manually to 4.7.31 or upgrade CiviCRM to 5.2.1.

HTH

Pradeep


Replacing the Contact Dashboard with Views Has anyone started a project of creating views to replace the contact Dashboard that would show:

Recurring Contributions
Memberships
Donations
Event Attendance
etc.

I am considering starting this project and wanted to make sure I did not duplicate any work.

I think the Views block shared here may be a step in the right direction.


CiviGrants - view an extra field Quick question - How do I get the rationale field to show up under the Grants tab for a contact? Can this be done without access to the "backend code"?

Cheers - Phil

Short answer: no - you would need at least a little bit of code to achieve this.


CiviCRM Home Dashlets - making them wider, possibly span over right and left column I have a dashlet report that has a good number of columns. Right now I can only place it in either the left or right dashboard column. That cuts of the report view and I have to expand it every time I want to see the entire thing. Is there a way to make it wider on the dashboard or perhaps have it span over the right and left column?

You can make the dashlets wider on the dashboard.

It's hard to give exact instructions because I don't know what CMS you're using - it's a good idea to post your CMS and CiviCRM version with a question for this reason - but if you're using Drupal 7, I like the Civi Bartik theme for my back end.  It makes a number of sections wider, including the dashlets.  Make sure that civicrm_theme is enabled, then go to the "Appearance" section of Drupal and set the CiviCRM back-end theme to Civi Bartik.


Access Denied for Login On a handover document from a fundraiser to a volunteer, this link was left to access our database. When it is clicked on it takes you to a page which says 'Access Denied'. Why is this? I'm assuming this database is not paid for and we don't owe money. We really need to access this quite urgently. We have record of the login and password. Any help would be greatly appreciated. How can you contact CIVI for help or is this the only way to get feedback? Thanks.

https://spires.civisites.com/civicrm/dashboard?reset=1

Go to https://spires.civisites.com/user and there you can log in.

By the way I would think you actually ARE paying for the hosting. The hosting company is civisites and you can try to contact them (https://www.civisites.com/about-us / http://www.circle-interactive.co.uk/)


How to send email from CiviCRM and Wordpress I am trying to send an email from CiviCRM and Wordpress. The test mailings work, but the scheduled mailings never go beyond being scheduled. I done some research online and I think I have to setup a cron job...I'm not exactly sure.

Can someone please show me how to configure the settings, or direct me to a link that will help me in this matter.

Thanks in advance.

Look at the wiki book CiviCRM user and administrator guide for setting up scheduled jobs and cron jobs.

http://book.civicrm.org/user/current/initial-set-up/scheduled-jobs/


Employer on Profile - Mismatching I saw a few with similar questions, but not exactly the same on a major point. If moderators see value in merging this, go for it.

We have a problem where people sign up for an event which includes Current Employer on the profile. When that gets saved to their contact, it often maps to the wrong organization - one that starts the same. Even if we type out the full name of the organization exactly right, it will pair it with another organization instead. It seems like it is only able to store the first 10-20 characters and then matching to the first organization it finds starting with those characters. This happens a lot when you're dealing with a lot of organizations named starting with the city/region.

This is on Version 4.6.31 with Drupal but the client has said this has been an issue for about a year, so it's not a new version bug.

Any better ways around this than creating another custom field which they would need to manually copy into the auto-select Employer field from the back end?

Matching to existing organisations is determined by the Unsupervised rule for Organisations - go to Contacts > Find and Merge Duplicate Contacts then click Edit Rule on the rule marked Unsupervised to see how it is currently defined.  You can change the existing rule, or create a new one and set its usage to Unsupervised.

Alternatively, you might find this extension useful: https://civicrm.org/extensions/public-autocomplete-of-organisation-names


Can't view "Public View" of "Scheduled and Sent Messages" as a Super User admin in CiviCRM. Incorrect URL being constructed (Joomla 3.9.8)
(Civi 5.14.1)

When signed in as a Super User in CiviCRM, I am getting an error when trying to view the "Public View" of "Scheduled and Sent Messages" for Civi Mailings.

The error message I get is:
You do not have permission to access this page.

One thing I noticed is that my url loses 'administrator' when clicking "View Public View" and instead looks like this:
index.php?option=com_civicrm&task=civicrm/mailing/view&id=413&reset=1

If I manually remove index and replace it with administrator the url works:
administrator/?option=com_civicrm&task=civicrm/mailing/view&id=413&reset=1

I checked the Global Configuration in Joomla for CiviMail: view public CiviMail content and it is indeed allowed for a Super User, but it still does not work. The only way to get the 1st, Civi generated url to work is to set CiviMail: view public CiviMail content to enabled for all the public. I don't want that.

So my idea was to go into Civi's core, find out where this url is being created and change the index? part of the url to administrator. I am not sure where to find this. Does anyone know where this url is being constructed? If there is a better way of doing this, I would like to know as well.

This may or may not be related, but there is an ongoing issue relating to when /administrator is included in the path.  See https://lab.civicrm.org/dev/joomla/issues/5 for details.


What is the best way to use CiviCRM for on-site registration at an event? We have an event coming up and this is the first time we've used Civi to handle our registrations both pre-event and on-site. It is possible that we will have people attend who are not yet in our database. As I understand it the existing workflow for registering a new contact would be to add a new individual, enter their info, save the contact, click events, add event registration, pick the event, pick their options. [...]. That's a lot of different screens to jump through.

My solution for this piece was to keep the online registration open and add a menu item to a blank form. Then our folks doing registration can just  bring up the form and key in the participant's info and event options (we have a couple lunch and banquet choices they get). However, we also want to record payments. This means having a second tab open, refreshing the participant list, editing the registration, and recording the payment. Which works if your "cashier" is a different person than your data entry person.

Has anyone used Civi for on-site registrations like this? Is there something I'm missing? Absent custom coding is there a way I can build a profile or use Drupal Webform to allow a registration team member to enter a new person, select their registration options, and record a payment  all on one screen? I imagine if not, I can do it with the API and build a  page, but I'm not sure I can get it done in the time I have.

Thanks for any suggestions.

Rachel

Yes, a Drupal-Civi webform will allow you to do just what you've described.

Note that if your event uses a price set, you will have to get creative (see below).

From Webform CiviCRM Integration:

  Event registration via webform is extremely flexible; any number of
  contacts can be registered for any number of events on a single form.
  If your form has multiple contacts on it, you may choose to register
  them each separately for different events, or all together for the
  same event(s). If you choose to register them together, CiviCRM will
  show contact 1 as having registered the others...

  With payment integration, events can be paid for online or offline via
  webforms (see notes below on supported payment processors). Note that
  CiviCRM pricesets are not supported and fees should instead be
  allocated using the "event fee" field provided by this module.

If you have your staff/volunteers using the webform on behalf of registrants, you can also have exposed Existing Contact fields to look up whether registrants are already in the system or not, all on the same screen.


How to change the value of a custom radio button field programmatically? I have a CiviCRM profile that hosts a custom field. The custom field is of type "Radio-Button" and hosts two options:

What I'm trying to achieve is changing the values of each option programmatically when the form gets built. According to the hook reference, the buildForm hook should be used for doing such changes.

I know it's possible to change default values for simple input fields, it can be done by calling the $form->setDefaults( $defaults ) function. But how does one modify more complicated HTML form elements such as radio buttons?

I browsed the CRM_Core_Form PHP class reference and cannot find the appropriate functions.

If the options that are shown on the profile are custom fields, then the radio options displayed might be the option values of some option groups.

To add/remove any options from the profile, you can make use of fieldOpions hook. Eg -

function hook_civicrm_fieldOptions($entity, $field, &$options, $params) {
  //replace 1 with your custom address field id
  if ($field == 'custom_1') {
    $options['my_option'] = 'My Custom Option';
  }
}

Check the doc for more info about the param, etc.


How do I run CiviCRM PHPUnit tests from within Netbeans? I want to run PHPUnit tests from within my IDE - and I know Karin G. has created excellent directions for PHPStorm, but I use Netbeans 8.2.  What can I do?

[This all assumes you have civicrm-buildkit already working and that you can run CiviCRM phpunit tests successfully from the command line.]

1. Tell Netbeans which phpunit executable you're using.

Go to Tools » Options, then PHP tab, PHPUnit subtab.
Set the path of your PHPUnit script.  See screenshot:

2. Create a shell script with your environment variable.

Copy this script into a file anywhere on your filesystem:

#!/bin/sh
env CIVICRM_UF=UnitTests /path/to/your/phpunit5 $@

3. Tell Netbeans where to find your tests.

Go to File menu » Project Properties, Testing tab.
Click Add Folder and select the <civiroot>/tests/phpunit folder.  See screenshot:

4. Tell Netbeans the CiviCRM-specific info it needs.

Go to File menu » Project Properties, PHPUnit tab.
Check the Use XML Configuration box.
Set the XML Configuration path to <civiroot>/phpunit.xml.dist.
Check the Use Custom PHPUnit Script box.
Set the PHPUnit Script to the path of the file from step 2.

5. You're ready to go!

From any PHP file in the main codebase, press Ctrl-F6 (or Run menu » Test File) to start your tests.  You can also re-run only failed tests.

Troubleshooting

If PHPUnit isn't working, bring up the "Output" window (Window menu » Output).  This will show you the exact command Netbeans tried to run.  You can run it on your command line to compare results and tweak it.


How to create a custom field for a file upload, and make it private We would like to create a custom field in CiviCRM for a file upload, and link it to the CiviCRM Webforms Integration module while at the same time keeping it "private" and is not publicly accessible.

Is there a way to do this in CiviCRM? Or maybe this is a default behaviour and files uploaded to CiviCRM are kept private? (Not accessible from the web directly etc..).

Thanks in advance for any help,

CiviCRM files are never directly web-accessible. If you are also using Webform integration to submit the file, then a copy of the file is also stored in Drupal. You could either make your Drupal files private (this is a Drupal setting) or you could implement a hook to delete the files from Drupal after they are uploaded.


Drupal Views + Multiple CiviCRM relationships of same type I see many stack exchange questions about views & relationships but none like this.

A person may attend many schools in his/her lifetime.

Contact A "is a student at" Contact B (college, active relationship)

Contact A "is a student at" Contact C (high school, expired relationship)

Contact A "is a student at" Contact D (middle school, expired relationship)

I need a view that displays all Organization names of schools where the contact type is "is a student at" whether active or not.

This screen recording may better explain and shows my progress thus far:
https://drive.google.com/file/d/1_gkXbYn-Kdg8G-8JDfbz7J96ELvt_Gon/view?usp=sharing

It appears the View you are using is starting from the entity CiviCRM Relationship. This is unusual in my experience. I would be building a View based on Contacts and then adding the Related Contacts by using the View Relationships to pull them in.


How do I record partial payments? My client frequently needs to record  partial payments for events and memberships. When I open the transaction history, I  don't see a way to record the partial payment. In fact, all registrations seem to get recorded as completed by default. Any suggestions for a workflow which better records the transactions and the status of payments?

First, record the payment with a status of Pending.
Click the triangle next to the contribution to open up the payment listing (see screenshot below).
Click Record Payment (or Submit Credit Card Payment).  You can log a partial payment from here.

In my screenshot below, you can see the $55 donation has a status of "Partially Paid".


Is there a way of automatic discounting renewals based on referrals? We have an offer for our existing members, that whenever any new member enrolls based on existing member's recommendation, that recommending member gets a fixed discount on his nearest membership fee. He can convinced as many new members, as he is able to do and by doing this he gets this discount for each of recommended new member and thus reduces his membership fee. Is it possible to calculate his discount every time he attempts to renew his membership? Any suggestions how to implement such functionality (CiviCRM 4.7 on WordPress)?

I think you'd need to write a custom extension to handle this.

I would create a custom field of type "contact reference" on your membership form so people could indicate their referring contact.  Of course, this exposes some (or all) of your contact names to the public, but it's better than manually connecting the records.

Then you could write a simple extension that queries for the number of contacts that are referenced by this field on other contacts to calculate a discount.  Optionally, you could also clear the fields after that to prevent the discount from being applied to a future renewal.


Where is the CiviCRM ERD / data-dictionary? In a variety of contexts it is useful to have a Entity Relationship Diagram (ERD) / data-dictionary:

Using the API
(Xavier avert your eyes) querying the database with SQL
Developing extensions; and even
Refining the core.

Where is the definitive data-dictionary for CiviCRM? And how do we patch it?

You should use the API as the data dictionary. The API explorer (available in every installation) provides a convenient interface to browse the data dictionary.

The demo sites each have an API explorer and they are the authoritative public data dictionary for CiviCRM. For example  http://dmaster.demo.civicrm.org/civicrm/api/explorer (login first with username:demo and password:demo). Other versions are also available..

The entity select box shows a list of all available entities.  For each entity, the three most important actions from a 'data dictionary' perspective are

getfields - for the given entity, this action shows available fields
getactions - for the given entity, this action shows available actions
getoptions - for the given entity and field this action shows available options (only available for multiple choice fields).

Here are some examples of useful API calls:

To list all entities

civicrm_api3('Entity', 'get');

To list fields for an entity

civicrm_api3('[EntityName]', 'getfields');

To list options for a field (only available for multiple choice fields):

civicrm_api3('[EntityName]', 'getoptions', array( 'field' => "[FieldName]"));

To list actions for an entity:

civicrm_api3('[EntityName]', 'getactions');

FWIW, the above four API functions are used to build the API explorer, which is quite neat, IMO.

As you might expect, in most cases the API is a fairly close match to the database structure.  This database structure is defined in a series of XML files that you can find in our git repo (for example this xml file defines the table civicrm_group).

A couple of areas that merit a bit more explanation:

Custom data: At the database level, each custom set is a database table and each custom field is a database column.  All custom data is registered in two tables civicrm_custom_group and civicrm_custom_field.  These tables are exposed in the API as the entities CustomGroup and CustomField.
Options: At the database level, a lot of the simple drop-down options that you see in the user interface (for example activity status) are stored in the two tables civicrm_option_value and civicrm_option_group. These are exposed in the API as OptionValue and OptionGroup. The more complex options (for example membership status) typically  get their own table and API Entity.

To answer the second question, when you say "patch the data-dictionary", I'm not entirely sure what you mean, but if you were "refining the core" and wanted to for example, add/edit/remove a field, I would

Edit the xml file that creates the database table you are interested in
"Run GenCode.php" to rebuild the data files
Do various other things depending on what you changed!

Of course if you are going down this route, I would recommend discussing any changes with someone who has a deep understanding of CiviCRM and its data structures.


Strange Text Appearing in Contact Address Area My CiviCRM installation is showing weird text around the address area of each contact entry.

The weird text disappears when I try to edit the address, but when I finish the edits the weird text appears again.

I have no idea what could be causing this issue. I have the latest version of CiviCRM and Wordpress installed.

I began to import the database in pieces to a new installation to see if I could pinpoint where the issue might be coming up in the database. I found that the problem was with the civicm_setting table. There was a row added for address formatting that had the weird characters in it. I deleted the row and the problem disappeared.


Listing events in wordpress So I would like to use the CiviCRM events in wordpress, in a page listing multiple events, using the shortcodes. If I create a page in wordpress with the following:

[civicrm component="event" id="584" action="info" mode="live"]

It is fine, it will display the single event. However, if i was to add another event into the page, it doesn't display. Ideally I would like to use this shortcode inside of Advanced Custom Fields. The reason for doing this is we need to display only certain events for a page which members are logged in to view.

<?php

if( have_rows('events') ): ?>

        <?php while( have_rows('events') ): the_row(); ?>

<?php var_dump(get_sub_field('event')); ?>

        <?php endwhile; ?>

<?php endif; ?>

The vardump above literally returns null. Any ideas how I can do this. I am aware of the civievent wiget but that lists all events that are upcoming.

Just to clarify this is for civicrm 4.5.4. Cheers.

This was an issue prior to 4.6--you couldn't have more than one instance of CiviCRM content on a screen.  Christian Wach did a lot of work to change this for 4.6--that's why he was asking what version you're on.

In short, if you're not on 4.6, upgrade.  If you are, you may have found a bug.


Paypal PCI Compliance Should the Omnipay Paypal checkout option be able to pass Paypal's PCI compliance checks?

I have a client with a Paypal account ( although this is a payments pro account ) which has been limited ( cannot withdraw).  They wanted to verify the checkout process etc.

I'm using the latest version of CiviCRM and Paypal Checkout via the omnipay extension. It previously used Payments Pro.

I believe that removes the main part of PCI compliance ( everything is handled on their side). However they have come back to the client saying it was a express checkout payment ( Assume they treat 'express checkout' and 'paypal checkout' as the same thing ) and were passed a document after they said they can't validate it.

Has anyone had any experience with Paypal checkout on Civicrm and passing Paypal's new checks?

I'm not sure whether they are trying to validate a website payments pro solution rather than just Paypal checkout?

Thanks in advance for any help, will be very much appreciated.

Only PayPal can tell you the reasons for an account limitation and the steps required to resolve it.

PCI stands for "Payment Card Industry", and is a standards body that Visa and MasterCard and other payment card providers are part of. They created a set of standards that merchants must meet to be compliant. PayPal does not validate, and is not responsible for, merchant's compliance when handling payment card data directly (e.g. credit card for fields on your website).  Merchants accounts who do touch credit card numbers directly (e.g. a Pro integration), and are not compliant, are likely to have their accounts deactivated.

But since you seem to be talking about a regular PayPal Express Checkout payment, which would not involve any payment card data external to PayPal's site, your client's PCI compliance is not relevant at all for this type of payment. Something else is going on with regards to it.


What differences are there between CiviCRM 4.6 and 4.7? We're trying to make the decision to upgrade from 4.6 to 4.7 and would like a complete list of changes between the two. Does such a document exist? I can't find anything except blog entries about point releases. Is there any point upgrading to 4.7?

I'm not a Civi enthusiast, I just maintain a large installation.

The performance improvements to move from 4.6 to 4.7 when you have a large installation is, in itself, worthwhile (we did it when we had about 500k contacts, we would have done it earlier if we'd known how much faster some things were). If you go for a big upgrade, I recommend you to move to php7 too.

As for the features, this blogs list a few, but it's more than a year old.

Since January last year, the bunch of the new features and developments have happened on 4.7, both in the core and in extensions. Whatever need or problem you are, it's way more likely someone else has already sorted it out or is working on it in 4.7, not in 4.6.

And in any open source project, being where the community is is in itself a good reason enough to go through a major upgrade.


Scripts not running in contribution pages Contribution page loads slowly and is missing the field for "total amount" . Viewing in console indicates that all scripts fail to load because the path references source path of https://xxxURL.xxx/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=GcFU5”.
All scripts for the page fail. The problem is obviously that the path should be: administrator/components/com_civicrm/civicrm/etc.

I've looked everywhere I can think of but don't see where that path variable is set. Civicrm.settings.php file is set correctly.

Any thoughts?

I couldn't find it as well, so what i did is in css of the template, I hid the label. This was my workaround.
.crm-section section-pricesetTotal  {
color: #ffffff;
font-size: 0px;
}

You may want to clean up your profile display in the template as well, have the labels and fields on the same line.


How to change the maximum number of members-by-relationship for given membership types? I want to change the settings for the maximum allowable memberships by dint of the relationship with the primary member. I can easily modify this number in the membership type settings, but this doesn't reflect in the current memberships for any member - they continue to display the old limits.

Can I force this change into current memberships, do I have to wait until the membership is renewed, or am I stuck with the old settings?

If you have access to the DB try changing the value in civicrm_membership.max_related


Error with Contact Custom Field in Advanced Search We had an issue with the addresses of our contacts, so for now we added a temporal custom field that saves the province of that contact, so we can easily filter them. The thing is that when I do an advanced search filtering for that field, it doesn't show any results. What could be the problem?

Thanks in advance!

It sounds like the custom field you created isn't searchable.

You can fix this by editing the custom field and ticking the box that says 'Is this field searchable?'


Cannot get mailings to work I would like to use mailings for our organization.

First, I went to System Settings->Outbound Email Settings and selected mail(). When I clicked 'Save & Send Test Email', the email was properly delivered.

I then went to Mailing->Create New Mailing. I entered a message and clicked 'Send test' under 'Send test email to'. When I did this, I received the error: Error in call to Mailing_send_test : mail() returned failure.

Per some other posts, I did turn on additional debugging support, but that did not change the message displayed or the message that was logged to ConfigAndLog.

My guess was that mail() was the issue and specifying an authorized user via SMTP might work. So, I then went back to System Settings->Outbound Email Settings and selected SMTP. I entered the correct information (trying both SSL and non-SSL) and both times when clicking 'Save & Send Test Email', I recieved a lengty error message:

Sending test email. FROM: mail_sender@ TO: test_recipient@.
Oops. Your SMTP settings are incorrect. No test mail has been sent.

An error occurred when CiviCRM attempted to send an email (via SMTP). If you received this error after submitting on online contribution or event registration - the transaction was completed, but we were unable to send the email receipt.

The mail library returned the following error message:
Failed to connect to  :25 [SMTP: Failed to connect socket: php_network_getaddresses: getaddrinfo failed: Name or service not known (code: -1, response: )]

I tried replacing the fully qualified domain name with localhost, but that also resulted in the same error message.

Can someone please suggest some steps for me to try to resolve these problems?

Thank you.

So you have two issues, that are probably not directly connected:

1) mail() working only when 'Save & Send Test Email'
it uses a different sender (the default site email, as opposed at the one defined as the bounce mailbox)

They are various reasons so the later could fail, the most common ones are that you didn't configure properly the bounce mailbox or that your mail server prevents you to "impersonate" the bounce mailbox (eg if you use a gmail account for the bounce)

The documentation on how to configure is usually helpful, but if you can't walk through the steps, could you create a new question?

2) no smtp connection
It depends on how your server is configured, check with your host provider what is your smtp server, if it on the same box as your webserver, if it accepts local connections, or if it needs authentication.

if you really have the same error message when you put localhost, try 127.0.0.1, if it works, you might have another problem (wrongly configured dns on the server), because localhost must be seen as a valid address (ie. I was expecting a different error message)

Lastly, what hosting provider are you using? if you went for a "low cost" option (ie. less than 5$/month) you often have providers that actively prevents you to send mass emails and you will spend way more struggling with your server than the cost of switching to a more mass mailing friendly.


Donations page on mobile phone not formatting properly on Wordpress site Is there a straightforward way to allow mobile device browsers to properly render and handle a donations/event page?

I am trying to set up donations on a Wordpress CiviCRM installation so that the text does not overlap on mobile devices. The same issue was referenced and fixed for a Drupal installation here

I did install the extension "Simple Donate" but it stripped off information from the donation page. Plus it did not work, I could only look at it in test mode.

The public-facing donation and event pages inherit their look and feel from the Wordpress theme.  If there's overlapping text, it can't be fixed within CiviCRM; it must be fixed within WordPress.  You should be able to confirm this by loading a Wordpress default theme like twentyseventeen on your site (ideally a test version of your site), and the problem shouldn't exist.

As for which part of the theme needs fixing, it's very hard to troubleshoot without seeing the CSS of the page itself, which means posting the URL in question.  That said - you'll likely get better answers in the Wordpress Stack Exchange than here.


updated database from backend, issues when searching that field - Geocoding issue with Postal Code update So I was playing with the contact mapping option for a search profile. I noticed that mapping did not work when the postal code was entered with a space in it.
Example: "E1C E1C" rather than "E1CE1C"
When I tried to view the map I would get:
Error This address does not contain latitude/longitude information and cannot be mapped.

So I decided to run an update on the database: UPDATE civicrm_address SET postal_code = REPLACE(postal_code, ' ', '').

Which was successfull.. But still when trying to view map that error appears for the contacts that once had the space in their postal code.

If I go into the contact edit, edit the address field, change nothing, and just hit save, the issue is resolved. But I don't want to have to do that for every contact. Surely there most be a way to force it to update?

I hope I was clear with my issue. Any help would be appreciated.

I've also run the Clean-up Temporary Data and Files (cleanup) Job,  but still the same issue.

Would I be correct to assume it may have something to do with updating the Geocode?

Civicrm: 4.6.10
Joomla: 3.4.5

Thanks!

I've been able to correct this issue by running the Geocode and Parse Addresses Job.

Thansk!

After running the update command on database, you need to clear the civicrm cache (also make empty the civicrm_cache table) and delete the civicrm temporary file.