Edit button and allowing some users to edit subtype I've removed the main Edit button from the top of the contact record (using CSS) because it confuses people.

Almost everything can be edited by hovering over it, with the exception of contact subtype and external ID.

We don't edit external IDs but some people need to be able to change contact subtypes.

The people who edit subtypes could easily cope with the "global" edit button being there without getting confused.

Can anyone suggest a way of showing / hiding the edit button by role or group? Or any other solution to allow some users to edit subtypes, while not showing the global edit button to everyone?

What CMS are you using?

In Drupal, an easy way to do this would be to add a Block, shown conditionally by role, containing your css.


Civizualize does not render Using Civicrm 4.6.5 and the latest master branch of Civizualize at github https://github.com/TechToThePeople/civisualize,
The page /civicrm/dataviz shows the default visualizations list, but when I click on one of them, the vizualization does not render.

SyntaxError: Unexpected token <    http://crm.conscious.life/civicrm/sites/default/files/civicrm/custom_ext/civisualize-master/js/d3.v3.js?nsuhjj:1

SyntaxError: Unexpected token <

http://crm.conscious.life/civicrm/sites/default/files/civicrm/custom_ext/civisualize-master/js/dc/crossfilter.js?nsuhjj:1

SyntaxError: Unexpected token <

http://crm.conscious.life/civicrm/sites/default/files/civicrm/custom_ext/civisualize-master/js/dc/dc.js?nsuhjj:1

ReferenceError: d3 is not defined

http://crm.conscious.life/civicrm/dataviz/contribute:323

It's probably a javascript error.

Most likely it's that you didn't properly configure the extension url for your extension. What configuration do you have?

Checkout your browser console, do you have any error message? something about d3 missing?

You can also look at your Developer Tools (press F12 in Firefox/Chrome), and check the "Network" tab.  Are you seeing 404 errors?  Look at the URL that's getting a 404 error.  Is there actually a file in that location?  It's very possible that your "Extensions URL" is incorrect.  Go to Administer menu > System Settings > Resource URLs and change the Extension Resource URL to match the actual location of your extensions.


503 Error with large CSV import I’m hoping to use CiviCRM to manage campaign contacts for voters across many counties and need to upload BOE data to do it. It’s about 210 MB in total, but I have it broken up into CSVs under 30 MB each. Unfortunately, I keep running into a 503 error when I try to use the import wizard with my smallest file (around 3 MB).

I’m using CiviCRM 5.17.4 on Joomla 3.9.12. I’ve increased Joomla’s session timeout and added a bit of code to civicrm_settings.php, following a tip on this guide: https://wiki.civicrm.org/confluence/display/CRMDOC/Importing+Data

I know uploads of this size are a tall order; is there anything that I’m missing or anything else that can be done? There are about a million registered voters here and I don’t think uploading them 4,000 at a time is feasible.

EDIT: If this goes unanswered and someone else runs into the same problem, you can whip up a BAT file to cut up CSVs for you.

https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/

That's almost certainly a timeout issue - you can increase your timeout in php.ini, but I wouldn't use the UI at all for a million contacts.  Consider using a command-line import, where there should be no timeouts.

There are several approaches you can take.

Use the command-line API CSV import.  This is pretty solid but you need to import each file multiple times - once for contact data, once for postal addresses, once for phone, once for email.  If you script it, it's not bad.  I often use Hitachi Kettle to do this.
Use the Data Processor plugin and the REST API.  There's a recent blog post detailing this approach (using Hitachi Kettle actually).  This lets you import each file once.  However, the REST API is going to do something like 10 records/second, command-line import is far faster but requires command-line access to the server.
Write your own PHP script so you don't need to break the data up.


Paypal Payments Pro give 'Internal service Error' on checkout I'm trying to hook up Paypal payments using Paypal Payments Pro.

I'm trying to use the sandbox and live payments account and I keep getting the 'Internal Service Error' on checkout. This happens when using the form and also the checkout button.

Can anybody point me in the right direction with this? Has anybody set this up themselves?

The live account is definitely active.

Would be good to know if anybody has this running correctly.  The account is a UK Website Payments Pro Account

Not 100% on the route cause however I ditched any customisation and rebuilt from the ground up. I imagine something changed and hasn't been updated to reflect new functionality in the code base.

There was a brief question mark over the paypal checkout button, just need to make sure you are running the latest v4.26 of webform_civicrm.


What is the recommended upgrade increments to CiviCRM 5.7 from CiviCRM 5.0? I've done lots of CiviCRM upgrades over the years in Drupal but I've had CiviCRM complain in the past if I skip too many versions so I'm being a little overcautious maybe.

I have a Drupal 7 / CiviCRM 5.0 site that I'd like to upgrade tomorrow to 5.7 and I wonder if I need to upgrade in increments or whether I can just jump ahead and let the upgrade script upgrade the db all in one go.

What's the best practice for this?

Thanks,
Andrew

The 5.x series has a new point release every month, with a focus on stability (generally, large new features go into extensions).

So upgrading 5.0 -> 5.7 is the equivalent of upgrading 4.7.20 -> 4.7.27, a minor upgrade and generally considered safe to do at once.


How can I alter next value of membership id (which would be auto incremented)? I have an external identifier which has been imported and its max value is 10000, whereas it needs to be used as membership id, but membership id max value is 1500.Now to keep the Id of the membership consistent with external identifier, I want to start next membership id as 10001 instead of 15001.
Is there a way to incrememt the membership id from 1500 to 10000 in database?

This is more of mysql than CiviCRM. You will need to reset the AUTO_INCREMENT value for that table.

ALTER TABLE civicrm_membership AUTO_INCREMENT= 10001

Thanks
Pradeep


report mailing date and time have expired I can not send the mailing, in the report this message:  "Delivery has not yet begun for this mailing. If the scheduled delivery date and time is past, ask the system administrator or technical support contact for your site to verify that the automated mailer task ('cron job') is running - and how frequently." what am I doing wrong? What should I correct? Thank you
And if the problem is geolocation? And if the problem was the google API?
I also had difficulty understanding OpenStreetMaps, maybe I was wrong with them?
Is anyone practical with OpenStreetmap? Thanks
In setting mapping I put this indicated in the screenshot:

If your cron is not running then there is nothing to 'tell' the Scheduled Jobs (which starts the mailing job) to run.

As a quick fix you should be able to go to your Scheduled Jobs (Admin > System > Scheduled Jobs, or /civicrm/admin/job?reset=1 in Drupal), find the Mailings scheduler job and use 'Execute Now' under the 'More' option - this should cause any overdue Mailings to be sent out.

To set up a cron so that the Jobs run automatically you need to follow the instructions here: https://docs.civicrm.org/sysadmin/en/latest/setup/jobs/

You also need to set any relevant Scheduled Jobs to be 'enabled' (under More)


Can I dump all Caldera form submission data into the "details" of a CiviCRM activity? Caldera will email all form submission data in an email. Can I have that same form submission data added to the details field of CiviCRM activity records?
I don't see a tag to be able to do so from the CiviCRM Activity Processor, but surely this must be possible.
Thanks!

You can use the Integration of CiviCRM's Form Processor with Caldera Forms. See https://wordpress.org/plugins/cf-civicrm-formprocessor/


Issues with Personal Contribution Pages / Events / Joomla I have PCP turned on - the person is able to set one up -
When someone goes to donate they get the error below - I also get the error even when I am logged in as an admin - so I don't think this is a permission issue with the ACL -

Joomla 3.8.5 Civi 4.7.27

Example page http://bit.ly/lzzebra

CiviCRM-001 -   @import url(/administrator/components/com_civicrm/civicrm/css/civicrm.css); @import url(/administrator/components/com_civicrm/civicrm/css/crm-i.css); @import url(/administrator/components/com_civicrm/civicrm/bower_components/font-awesome/css/font-awesome.min.css);    Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred. The page you requested is currently unavailable. Return to home page.    function toggle( element ) { var parent = element.parentNode; var className = parent.className; if ( className == 'crm-accordion-wrapper collapsed crm-fatal-error-details-block') { parent.className = 'crm-accordion-wrapper crm-fatal-error-details-block'; } else { parent.className = 'crm-accordion-wrapper collapsed crm-fatal-error-details-block'; } }

So thanks to Brian at ICD who helped troubleshoot this - somehow the PCP that was set up for the event was done in a way that while it was a contribution page - it was pointing to the event ID -
This required some updating of the event PCP to point to the correct contribution page instead of the event. I am not sure how it happened - but it is fixed - I check on new event to see if I can select the appropriate contribution page and I can -


Displaying a column total in a report Is there a way to display a column total when viewing a report?

Specifically, we are wanting to run reports on contribution line items and quickly see the contribution line item total.

When you do Find Contributions, it displays the total, # completed, and average. Due to how we have our data set up, we need to use the line item report to view all of our donations; we can't use Find Contributions. I'm looking for a way for staff to quickly see donation totals from those line item reports.

Interestingly, if you run a line item report (http://example.com/civicrm/report/price/lineitem) and you don't have any sort criteria, it will display a total at the bottom, but if you enable sorting, that total goes away.

Any ideas?

Many thanks,
Carl

Check out the Pivot Report extension at
https://civicrm.org/extensions/civicrm-pivot-reports
and
the ReportPlus extension at
https://civicrm.org/extensions/reportplus .
Both should give you a way to produce the report you want, I believe.


Problem with free memberships on contribution page (Resolved) I am working in CiviCRM 4.7.24/Drupal 7.56.

I have a contribution page for member signups. The page is using a price set that we just added a new free member type to. The rest of the member types are not free. The page works fine with the paid member types.

If someone selects the free membership they are forwarded to the billing info page but nothing is showing but the "Back" and "Confirm Contribution" buttons. If "Confirm Contribution" is clicked we get the error "Please review and correct errors before continuing" but there is nothing to review or correct.

Is it possible this is because we have "Execute real-time monetary transactions" selected in the page configuration?  Can there be free and paid options together on the same page?

Any suggestions on getting the free membership options to work?

Thanks!

EDIT Nov. 30: I've confirmed the issue is not specific to the free membership but anything free. If the final total is anything other than $0.00 it processes fine (even negative numbers)

As posted under Jenni's comment. This problem was due to some customization in the contribution form. Once we put in a test for a zero balance and a conditional response everything is working again.


error http 500 when clicking Contribute button I am on Civi 4.7.27 and wordpress 4.9

Our organization has been using civi for the last 6 months without any real problems. A couple weeks ago we upgraded to the latest version of civi.   Today I noticed that when ever someone submits a donation they get an error 500 page.  The donation still goes through and is recorded in civi, but the donor does not land on the confirmation page, nor do they receive their receipt in email. I tried running "Clean up Cache" and "Reset Paths"  that did not help.  Does anyone know what could be causing this and how I can resolved it?

Thank you.

ADDED INFO 12/5/17
We are seeing the below errors. This issue is still not resolved.  Remember everything was working perfectly until about three weeks ago, when both civi was upgraded to 4.7.27 and wordpress was upgraded to 4.9.  These errors are not a result of something we did in attempting to fix it as we have not changed anything at this time.  I hope it will give someone an idea of what is going on.

1 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/Mail/EmailProcessor.php(104):
   CRM_Core_Error::fatal("No mailboxes have been configured for Email to Activity Processing")

2 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/api/v3/Job.php(401):
   CRM_Utils_Mail_EmailProcessor::processActivities()

3 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89):
   civicrm_api3_job_fetch_activities((Array:1))

4 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(169):
   Civi\API\Provider\MagicFunctionProvider->invoke((Array:9))

5 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(100):
   Civi\API\Kernel->runRequest((Array:7))

6 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(23):
   Civi\API\Kernel->runSafe("job", "fetch_activities", (Array:1), NULL)

7 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/JobManager.php(145):
   civicrm_api("job", "fetch_activities", (Array:1))

8 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/JobManager.php(79):
   CRM_Core_JobManager->executeJob(Object(CRM_Core_ScheduledJob))

9 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/api/v3/Job.php(99):
   CRM_Core_JobManager->execute(FALSE)

10 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89):
   civicrm_api3_job_execute((Array:2))

11 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(169):
   Civi\API\Provider\MagicFunctionProvider->invoke((Array:9))

12 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(100):
   Civi\API\Kernel->runRequest((Array:7))

13 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(23):
   Civi\API\Kernel->runSafe("Job", "execute", (Array:2), NULL)

14 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/bin/cli.class.php(113):
   civicrm_api("Job", "execute", (Array:2))

15 /home/oursite/public_html/wp-content/plugins/civicrm/civicrm/bin/cli.php(32):
   civicrm_cli->callApi()

I don't believe that the error shown in the question is likely to be the one that triggers the error 500 for your registrants. Note that the backtrace shown starts with a CLI entry point civicrm_cli->callApi(), suggesting this has been triggered from system cron on the commandline, while your issue is reported as occurring via the web.

First, find the relevant error log.

If you are seeing error 500s, you need to understand what the fatal error was. This probably involves inspecting your webserver error logfiles. You can find these via the webserver (eg Apache / Nginx / ...) configuration, and you may also find there are separate logfiles for a separate PHP process.

The PHP error logs may be identified via phpinfo() (look for "error_log" setting). Webserver logs you'll need to ask your sysadmin or hosting provider. Bear in mind that a shared hosting provider may be reluctant to give access to logfiles which contain information from other sites, but you will need that information to resolve this issue without guesswork.

There should be a log entry made at the specific time you see the error in the browser. Don't accept any red herrings until you find out what this is, because it's essential to you finding the source of the problem.

If your hosting provider cannot help you track down CiviCRM errors, consider finding one who does: https://civicrm.org/partners


CiviHosting and MySQL 5.7 CiviHosting has sent a notice to all their customers that they are upgrading all their servers to MySQL 5.7, despite their acknowledgement that CiviCRM prior to version 4.7.7 "may fail". They plan on performing this upgrade in one week, August 17.

For those customers that are not able to upgrade to a compatible CiviCRM version at this time (due to various customizations),  what are the various issues that can be expected?

I know of the lock name length issue (When upgrading from 4.7.7 to 4.7.8 I get error "Specified key was too long") which appears to be an upgrade process issue.  (Does this problem extend back to prior to 4.7?)

What else is there to be concerned with, particularly with versions 4.4.x, 4.5.x, and 4.6,x?

IMO the only way to answer this with confidence is empirically: request a trial upgrade in the proposed new hosting environment (or equivalent), and test whether the system upgrades then functions as expected. Most effectively done when you have some tests that you can run on your newly upgraded site to ensure things function.

Fuzion host on MySQL 5.5 and 5.6, so I can't speak to what you should expect on MySQL 5.7. (This is not because we don't approve of 5.7, we just have had no reason as of today to move there.)

You might also see variation between Percona / MariaDB / MySQL, or between various OS or distribution packages ... Your best bet is to try it and see! Just not in production ;)


PayPal Standard Not Being Called I have a CiviCRM test site running on 4.7.12 which requires the Gift Memberships extension https://civicrm.org/extensions/gift-memberships

I realise that Gift Memberships is only compatible up to 4.6 but it matches our requirement perfectly so I thought I would give it a go and see if it worked.

Everything appears to be working correctly apart from one major flaw, when using the contribution page containing the Gift Membership price set the browser isn't redirected to PayPal (PayPal Standard sandbox) and simply skips straight to the Thank You page.

I also notice that the contribution id is set to 0 in the civicrm_gift_memberships_codes table, consequently the email contains all codes rather than just the ones associated with the contribution.

I've only just got under the hood of Civi so I'm a bit out of my depth. Normal membership contributions are working correctly and, using Smarty debug, I can't see anything in the confirm form which looks significantly different.

I assume there is a change between 4.6 & 4.7 which this code isn't coping with so I'm wondering if anyone has had any success with Gift Membership under 4.7 or might be able to point me in the right direction?

Thanks

Steve

Are you trying this in your local devbox or system - Is your instance accessible to outside world?

If No, then you need to test the same against a different server

Paypal standard needs a server open to outside world - I did the same test yesterday without any problem against Civicrm 4.7.12 - which worked alright

I guess this helps!!!


Server Security Update Breaks Cron A recent security update from our host has resulted in cron throwing out the following errors:

  PHP Warning:  ini_set() has been disabled for security reasons in /.../public_html/wp-content/plugins/civicrm/civicrm/vendor/symfony/config/ResourceCheckerConfigCache.php on line 84
  PHP Warning:  ini_set() has been disabled for security reasons in /.../public_html/wp-content/plugins/civicrm/civicrm/vendor/symfony/config/ResourceCheckerConfigCache.php on line 99
  PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 2359296 bytes) in /.../wp-content/plugins/classic-editor/classic-editor.php on line 631

We have been asked to find a workaround rather than reducing security on the server. I've searched around and not found any posts with similar issues so I'm not sure where to start. Any direction would be appreciated.

Can you ask your host about raising php's memory_limit setting to at least 128MB. 32MB is below the current recommended minimum for CiviCRM of 256MB (see https://docs.civicrm.org/sysadmin/en/latest/requirements/#php-configuration), and the absolute minimum value used in the configuration file that calls ini_set() is currently 128MB (see https://github.com/civicrm/civicrm-core/blob/5.17.0/templates/CRM/common/civicrm.settings.php.template#L540)


How to renew membership during event registration? I've set-up an event with several fee options that include "event fee plus 1 year membership renewal", "event fee plus 2 years membership renewal", etc. How do you suggest implementing the membership changes after the event payment gets processed?

I'm thinking it's possible to add time to their membership through the ThankYou.php page using the membership API. (using CiviCRM 4.1)

Any tips would be greatly appreciated!

One way to accomplish this is to programm an extension with a hook reacting on the event registration and then changing the membership based on the event registration.

Another way which might be usefull is to use the drupal Webform module and create an event registration with membership options.


Directory of Programs We are creating a directory of programs and we thought that using CiviMember would be the best way to approach it. Mainly because many of the programs are housed at other organizations/departments and we would want them to submit to the directory. We decided that the programs would register their programs as organizational members.

One website that uses Civi and is an example of what we are trying to accomplish (partly) is https://www.escr-net.org/members - Instead of Region and Workgroup, we would have something like Category and Age Group, or something along those lines, using custom fields. Similar to the ESCR directory, as a visitor to our site, you would be able to search and click to learn more about the different members.

We also thought membership would be a good approach as we can set expiration dates and have programs update their information when they renew their membership.

Is membership the right approach for what we want to do or is their a better option.  Maybe CiviVolunteer?

Using Drupal 7 and Civi 5

Clarification on Programs
This is a University Office that is seeking to list all the public programs that other university offices and departments offer.

We also want each department to submit a public program profile, that we will request to be updated yearly. Some of that info will be public, the rest will be private.

Side note:
We know we are going to have to work with a consultant to get this working the way we want it, but we wanted to see what the possibilities were, esp since we have seen other CiviCRM orgs do similar.

I would say that programs should either be:

A contact subtype.
A custom entity (defined by an extension).
Not stored in Civi, but in the CMS (assuming Drupal or Backdrop) - and use Entity Reference to connect it to Civi.

Memberships/Volunteers seem like we're stretching the paradigm a little thin.


How to do three-tiered multi-site? I see references in the CiviCRM wiki to "L2" and "L3" multi-site configurations - but no documentation on how to do L3 multi-site.  Can anyone explain the correct configuration for 3-level multisite?

Not sure yet about SE protocol but there are other options than L1 L2 etc especially if there is no requirement to have separate Drupal domains for each component. For example, we have delivered multi-level permissioned solutions using the Related Permissions extension. This can go as many levels deep as required.

For example if Org X has permissioned relationship to Org Y, which has permissioned relationship to Org Z, then any 'officer' with a permissioned relationship to an Org at any point in the hiearachy will only see the Contacts that their Org, or and sub-Orgs have permissioned relationships to.

This is also explained here and a blog is well overdue. Obviously if you need Drupal sites at each tier then yes the L2, L3 model is one to go for.


How to work with names that don't fit first, last I'm implementing CiviCRM for a client who works with African contacts whose names do not fit CiviCRM's first, [middle,] last format.

e.g. someone's name may have 4 parts, and may be presented in any order, although they will be presented in a particular way on their passport.

In terms of name display it seems that sort_name is favoured, but this presents names like: last, first. This jumbles the order in lists and is not helpful like it is with Western names.

I cannot put the whole name in the last name field and not use the first name because this is a requirement for creating a contact.

I would like to either

get control over 'sort name', e.g. I could make it simply concatenate first name, space, last name, instead of last name, comma, first name.
allow empty first names (then I can just use the last name field).

Is there a way to achieve either of these?

Many thanks to Andrei for supplying this answer in a comment:

If you navigate to Administer->Customize Data and Screens->Display Preferences at the bottom you have two fields:
Individual Display name format: {contact.first_name}{ }{contact.last_name} and
Individual sort name format: {contact.first_name}{ }{contact.last_name}

By updating this setting I can just put whichever is the first name in the first name field, the rest of the names in the last name field, and the records will always show name1 name2 name3 ... everywhere it is listed/sorted.
The last step was to update the existing entered names. I did this with the following SQL, which was appropriate for my particular use (and may not be for yours!):
UPDATE civicrm_contact SET sort_name = display_name
WHERE contact_type = 'Individual';

And now my names are working exactly as the client requested throughout the system. Many thanks.


Is CiviEngage a core part of CiviCRM now? I'm a new Civi user with the intent of using CiviCRM for political campaigns. I keep coming across dated articles talking about CiviCampaign and how it's functionality is extended by CiviEngage, which is only available on Drupal. However, I did not find CiviEngage in the available public modules list.

I am testing CiviCRM on both WordPress and Drupal, and I noticed that Drupal lists CiviEngage as an activated module by default, however I find no equivalent in WordPress. Is the functionality provided in CiviEngage now a core part of CiviCRM on all available platforms, or is this still specific to CiviCRM on Drupal?

CiviEngage, at the moment, is a Drupal module that currently ships with the official CiviCRM Drupal release (see https://github.com/civicrm/civicrm-drupal/tree/7.x-master/modules/civicrm_engage, which ends up installed in sites/all/modules/civicrm/drupal/modules/civicrm_engage). That means you won't find it on drupal.org or any other drupal module site and you will only see it in your CiviCRM installation as an available module if you are running CiviCRM on Drupal.

Having said that... plans are underway to first split the module out of CiviCRM and onto drupal.org so it can be downloaded and installed like any other third party drupal module and eventually be converted into an extensions so it can be used by anyone.

More information is available in this issue:

https://issues.civicrm.org/jira/browse/CRM-16671


Not all extensions appear in Add New list I want to install an extension in Joomla 3.5.1 (CiviCRM 4.6.15, Php 5.6.19, Linux, been using CiviCRM for several years, continuous upgrading).

But, the extension isn't appearing for me ("SPARKPOST / CIVICRM INTEGRATION 1.3.1"). I've refreshed, waited a day and refreshed again, but it doesn't appear. It's been released for more than two months, although the most recent version is from beginning of April.

I don't know what else to try. I would like to avoid manually downloading and installing the extension, because I'm concerned that it wouldn't show future updates if it's not showing the actual released version.

Many extensions are listed under the Add New list of extensions, but some newer ones (as far as I can tell) are not, although they're listed as available on CiviCRM.(https://civicrm.org/extension-civicrm-compatibility/civicrm-46)

Two of the missing items, for example: "SPARKPOST EMAIL EXTENSION FOR CIVICRM 1.0" and "SPARKPOST / CIVICRM INTEGRATION 1.3.1".

Another one (with a more recent release date than the two above "OUTBOUND DOMAIN ENFORCEMENT VERSION 1.4" IS listed on my "New Extensions" tab, so it's not just a date thing.

Extensions don't get added to the "Add New" tab just because they are on the https://civicrm.org/extensions. They must be approved by the CiviCRM team first. We are working to get our extension published into that list to make it easier for users to install.


Using Mailjet purely as SMTP server - pros & cons? Mailjet is undoubtedly very good at delivering emails, but the Mailjet extensions for Civi don't seem to be current & don't process bounces.  However, given this limitation, using Mailjet solely as an SMTP server without an extension works well and gets emails delivered.  Mailjet has some nice reports too. I've tested this setup and it works fine, but I'm concerned that there might be some disadvantage that I've overlooked.  Can anyone comment on this setup? Pros & Cons?  I'm using 5.13.5 with Drupal.

I'm working with a site that has used MailJet via SMTP for a number of years. I'm not aware of any issues of using it in that way.


Preparing for move to utfbmb4 should I limit character length? I'm looking into moving our database to utf8mb4 - as indicated will be required in the future. I've been trying to find information about the possible impact in doing so and I found this post: https://mathiasbynens.be/notes/mysql-utf8mb4
That article indicates the following (it has a nice, thorough explanation if anyone else is interested, this is just the summary of one section):

The InnoDB storage engine has a maximum index length of 767 bytes, so for utf8 or utf8mb4 columns, you can index a maximum of 255 or 191 characters, respectively. If you currently have utf8 columns with indexes longer than 191 characters, you will need to index a smaller number of characters when using utf8mb4. (Because of this, I had to change some indexed VARCHAR(255) columns to VARCHAR(191).)

So does it make sense that if I need to create any custom text fields in the near future (before making the swap) I should go ahead and limit the database field length to 191 (or less)? I'm looking for someone to verify I have not jumped to the wrong conclusion.
Does this also imply that I should look through my existing data for any fields with data that might be longer than 191 characters - and then adjust? I assume I could not adjust the data but it may be truncated upon conversion to utf8mb4 if it is longer than 191 characters.

If you have a modern (e.g. Debian 10+) server installed fresh, you should be OK. If not, I believe these are the settings you want in your server config (e.g. /etc/mysql/mariadb.conf.d/50-server.cnf if you're using MariaDB on Debian)
innodb_large_prefix = 1
#https://mariadb.com/kb/en/library/innodb-system-variables/#innodb_file_format
innodb_file_format = barracuda
# https://mariadb.com/kb/en/library/innodb-system-variables/#innodb_file_per_table
innodb_file_per_table = 1
# Set default row format to a Barracuda one. COMPRESSED is useful on a
# per-table basis.
innodb_default_row_format = DYNAMIC

The large prefix is key here:

If set to 1, tables that use specific row formats are permitted to have index key prefixes up to 3072 bytes. If not set, the limit is 767 bytes.

The row formats allowed are DYNAMIC and COMPRESSED. (The latter can be very handy if you don't do many writes to a table with a lot of compressible data, e.g. activities, but that's probably a special case.)
So then you don't have to shorten your text fields.


Does class autoloading not work in standalone phpunit testing? I'm following civix's upgrade instructions to enable unit tests to be executed with standalone phpunit.

I've got my code in a work-in-progress git branch. The first commit captures the civix-generated boilerplate phpunit.xml.dist and bootstrap.php. The second commit captures my attempts to adapt an existing test to the new way of doing things.

With these changes in place, I do:

$ cd /path/to/webroot/sites/all/modules/civicrm/tools/extensions/civivolunteer
$ phpunit4 tests/phpunit/api/v3/VolunteerProjectTest.php

... and get:

PHP Fatal error:  Class 'VolunteerTestAbstract' not found in /path/to/webroot/sites/all/modules/civicrm/tools/extensions/civivolunteer/tests/phpunit/api/v3/VolunteerProjectTest.php on line 6
PHP Stack trace:
PHP   1. {main}() /usr/local/lib/civicrm-buildkit/bin/phpunit4:0
PHP   2. PHPUnit_TextUI_Command::main() /usr/local/lib/civicrm-buildkit/bin/phpunit4:545
PHP   3. PHPUnit_TextUI_Command->run() phar:///usr/local/lib/civicrm-buildkit/bin/phpunit4/phpunit/TextUI/Command.php:100
PHP   4. PHPUnit_Runner_BaseTestRunner->getTest() phar:///usr/local/lib/civicrm-buildkit/bin/phpunit4/phpunit/TextUI/Command.php:123
PHP   5. PHPUnit_Runner_BaseTestRunner->loadSuiteClass() phar:///usr/local/lib/civicrm-buildkit/bin/phpunit4/phpunit/Runner/BaseTestRunner.php:67
PHP   6. PHPUnit_Runner_StandardTestSuiteLoader->load() phar:///usr/local/lib/civicrm-buildkit/bin/phpunit4/phpunit/Runner/BaseTestRunner.php:123
PHP   7. PHPUnit_Util_Fileloader::checkAndLoad() phar:///usr/local/lib/civicrm-buildkit/bin/phpunit4/phpunit/Runner/StandardTestSuiteLoader.php:39
PHP   8. PHPUnit_Util_Fileloader::load() phar:///usr/local/lib/civicrm-buildkit/bin/phpunit4/phpunit/Util/Fileloader.php:38
PHP   9. include_once() phar:///usr/local/lib/civicrm-buildkit/bin/phpunit4/phpunit/Util/Fileloader.php:56

Any suggestions?

This is an issue with intermediate base-classes for tests (like VolunteerTestAbstract). The most reliable solution I've found is to put a require_once to load the intermediate base-class. For example, this is what I used in uk.co.vedaconsulting.mosaico:

require_once __DIR__ . '/TestCase.php';

class CRM_Mosaico_MosaicoTemplateTest extends CRM_Mosaico_TestCase implements EndToEndInterface {
     ...
}

Unfortunately, it's hard to combine PHPUnit with a classloader that understands extensions. To see why, consider an example command:

phpunit4 tests/phpunit/CRM/Mosaico/MosaicoTemplateTest.php

Which would then:

A. Load test files, e.g.

Load tests/phpunit/bootstrap.php
Load tests/phpunit/CRM/Mosaico/MosaicoTemplateTest.php (which depends on a base class like CRM_Mosaico_TestCase)
Load tests/phpunit/CRM/Mosaico/TestCase.php

B. Begin executing the test logic, e.g.

Execute CiviTestListener
Execute setupBeforeClass()
Execute setUp()

The problem arises if the database-initialization (eg \Civi\Test::headless()->installMe(__DIR__)->apply()) is put in phase B test-logic (e.g. CiviTestListener or setupBeforeClass() or setUp()) . The database-initialization determines which extensions are active. The active extensions determine the class-loader. But all of this comes too late. During steps A2=>A3 (when we need autoloading), the extension-enabled class-loader isn't available yet.

Put another way: any code which references an autoloaded extension class has an implicit dependency on the database.

One can resolve this conundrum a couple ways, e.g.

In tests/phpunit/bootstrap.php, fully initialize the system. (Ex: In the line eval(cv('php:boot --level=classloader', 'phpcode'));, change the --level to settings or full.) This makes sense if all the tests are end-to-end (e2e).
Load classes in a way which does not implicitly depend on the database. The simplest thing is to do a require_once to load the target class. (EDIT: What's a nice place to put the require_once statement? I originally put it in each test class, but on second thought... it would be more elegant to put it in tests/phpunit/boostrap.php.)

(I'm writing this to help me get the problem a bit clearer in mind... hopefully that will eventually lead to a better solution...)


civiCRM: Resource Limit Is Reached when I load the data from the Excel sheet, I have discovered that civiCRM makes excessive use of resources; how to set civi so that this does not happen? Thanks

This is not something you can do in CiviCRM AFAIK, this depends on the configuration of the server where CiviCRM is running.
And I assume you mean you are importing data from a CVS file, and you do not do that every day.


Wordpress / Civi - How to Hide All Menus Install is latest WP w/Civi plugin. We would like to hide top menus from end users based on roles and use links in the Dashboard instead for limited functions. I've read postings regarding making changes in Drupal permissions but hosting in Wordpress. I've also seen suggestions of modifying the Civi navigation.tpl file.

Any suggestions for a Wordpress install? Thanks!

Install the plugin User Role Editor https://www.role-editor.com/ Then in WP under Users you will see User Role Editor. Set permissions according to your needs. You can also find Dashboard plugins that will allow you to control what the dashboard looks like based on user roles. I use ABD Dashboard Widget. The downside of this one is that you can only use it to specially control 1 user role. But that is all I need. I use it to simplify/control our contributors dashboards.


Transactions with fee amount don't show up properly in batches I ran into an issue the other day on a client site with how transactions with fees show up in batches. I wanted to be sure it wasn't unique to their instance so I deployed a fresh CiviCRM 4.7.20 instance to test it out. It appears related to this ticket. What happens is that when you enter a transaction with a fee it shows in the batch as two separate transactions. One for the full (not net) amount of the transaction and one for the fee amount. Meaning that the batch total is more than the actual cash received. I've created a short video demonstrating it here.
Am I doing something wrong here or is this just a bug?

The current batch total in CiviCRM is confusing as it is summing the amounts for all of the bookkeeping entries in the batch, NOT the total payments received for the contributions included or the total expected revenue from them.

To see this clearly, if you edit a contribution and change most fields this results in reversing and reposting a corrected copy of the transaction. Putting all of the relevant bookkeeping transactions into a batch results in a 'batch total' significantly larger than the contribution, even if you haven't changed the contribution amount.

We're finalizing (Sep 2017) some new functionality in core and extensions that will allow some batches to be used to more easily track batches of payments, and other ones to deal with non-payment bookkeeping entries.


Update multiple contacts failing Using the 'Update multiple contacts' action and a profile we get failures on large batches. The profile has 13 fields with 6 of them required by the profile.
If the update is run on one batch of 100 contacts, it fails complaining about multiple fields "... is a required field" despite a value being present. All the failing records are at the end of the batch.
If the same update is run as 2 batches of 50 contacts, it works as expected.

The problem was caused by the max_input_vars php setting being too low.  The effect of this is that $_POST is truncated and therefore the form was failing the required field validations since the data was not actually reaching the form.
Raising max_input_vars from 1000 to 2000 in php.ini resolved the problem.
However, if the profile does not have validation rules the form is processed with the truncated data resulting in data loss (depending on the field type).


Bookkeeping report that includes grouping by deposit and Line Item Totals We are using Civi 4.6.18
WordPress 4.7.1
iATS is our paymentprocessor.
All donations use Price Sets so we use Line Items for our reports

Is there a way to get a report that groups Contributions by Deposit and includes the line Item info? I know this is probably an iATS extension issue but I thought I'd ask here in case some one already figured out a system.

We do not export each individual donation to our accounting programming as the Bookkeeping report show it. We just want each deposit with the total line item amounts for that deposit. Civi has the donation details so it is not needed in our accounting as well. Right now we have to pull an iATS report with the deposit details and then compare those donations to Civi to manually tally the Line Item Totals.

This is not an iATS Payments extension issue. Payment Processors like iATS Payments process the total amount - the details of how the total amount was arrived at - are within CiviCRM.

CiviCRM stores the line items in the the civicrm_line_item table it contains an entity reference to the civicrm_contribution table -> which has the trxn_id (Transaction ID).

So if you want to group by lineItems as opposed to by contributions you'll need to combine these two tables - and sum up the lineItems over a specific receive_date range (and/or for specific trxn_id-s).


All contributions on this webform are created as recurring CiviCRM 5.20.0
Drupal 7.69
iATSPayments 1.7.1
Webform/Civi Integration 7.x-4.28

This webform is used for non-taxdeductible giving. I have two categories set at the top of the form, giving for food and lodging while visiting campus and assisting our short-term volunteers with the cost of their food and lodging. Often donors will want to set up a monthly recurring if they are assisting with our our volunteers food and lodging. But visitors do not want/need to have monthly recurring just for a visit to campus.
So, I used conditionals to only show the parts needed for the option they start with. If they choose to give to food and lodging, then I do not show "I want this to recur monthly" and I have Recurring monthly default set to no. But all giving to this is created as a recurring contribution. You can select "Payment for short-term staff room and board" and it shows the "I want this to Recur" with the default of NO and if you leave it on No, it does not create it as recurring.

I changed my conditional for the first option so that "I want this to Recur" is set to No. But I get the same results. It creates all contributions for this option as recurring.

Additional info:
The attached screenshot shows how I have Options set for civicrm_1_contribution_1_contribution_installments so it sends it as a number. The Value is what the consumer sees visually, the Key is the number that gets sent to civicrm_contributions_installments. It is obviously sending it as a number because it does work for the second option when people give to cover room and board for volunteers, with that they can choose to have it recur or not recur. There is only one civicrm_1_contribution_1_contribution_installments on my form so both options are using the same installments question.

The problem is, it is overriding my default = 1 AND my conditional to set civicrm_1_contribution_1_contribution_installments to 1. It is putting it in the installments column with a 0. But only for the first option of the form, the second option is working as designed.

You need to set a conditional to ensure instalments = 1 for the one time scenario. Instalments = 0 is open ended recurring and any other number is recurring with that number of instalments.

There was a change/PR to the repo that enabled open ended recurring contributions: https://github.com/colemanw/webform_civicrm/pull/141
so now it's even more important than before to ensure civicrm_1_contribution_1_contribution_installments is a number and set properly. It's a Number --> No is not a valid value.

Best to keep the Widget: Number -> this is how the component config looks when it's first enabled:

If you want to hide the Element -> change the widget to Hidden and use conditionals to set its value to either 0 or 1 (based on another field).


Wordpress Cron not Running I am using the following method to get cron to work with wordpress. It has worked in the past but recently (around December of 2019) it stopped working. It hasn't become too big of a problem until recently.
/usr/local/cpanel/3rdparty/bin/php /home/public_html/wp-content/plugins/civicrm/civicrm/bin/cli.php -s SITE -u USERNAME -p PASSWORD -e Job -a execute
The error that i get from cPanel is:
PHP Parse error:  syntax error, unexpected '?' in /home/public_html/wp-content/plugins/civicrm/civicrm/bin/cli.class.php on line 214
Can anyone help me figure out what to do.

That could be an old version of php.  Assuming you are on current CiviCRM then try setting your php version to 7.3 See https://docs.civicrm.org/installation/en/latest/general/requirements/#php


State/Province display for a contact shows a number instead of the name for Vietnam contacts Most of my contacts have Vietnamese addresses. When I enter the name (organization or individual), I see the correct name for the Vietnamese provinces in the list and choose one. When I view the contact details, the name of the province displays as a number (the id, I presume) instead of the name.

I have reported this several times on the old forum but never got a solution to the problem.

Actually I don't think it is the ID, rather it is the 'abbreviation' which in the case of Viet Nam have all been entered in to table civicrm_state_province as numbers.

SELECT * from `civicrm_state_province`
WHERE country_id = 1233

whereas eg US ones are of type WV (West Virginia) etc

I don't know how bad it would be to suggest you copy the 'name' field and paste in to the 'abbreviation' field as a really bad hack.

I know I also raised this on the forum in the past with the hope of a solution so that there was a setting you could nominate to use either the Abbreviation or the Name on the Contacts Summary screen


Can't add profiles to contribution page (DB Error: constraint violation) I am getting the same problem that is described here and here, but I can't find a clear resolution on either of these pages.

I am working with a fresh install of CiviCRM 4.7.11 on Wordpress 4.6.1. This is running on an AWS EC2 running Ubuntu 14.04. When attempting to create a membership signup page, the profiles tab contains a text box instead of drop-down menus. I created a custom profile after I observed this behavior, and am unable to access a selection mechanism to select the profile I created or any of the stock profiles.

When I look at the console log for errors, these two errors appear consistently:

Any advice would be much appreciated!

The problem came with the theme I had activated (Nimva by Rockythemes). I haven't been able to troubleshoot exactly what caused it (and likely won't have time anytime soon) but switching to a default theme and even leaving all the plugins activated allowed the dropdown menus to work as intended.


Admin > system settings unavailable after wordpress database import Part of my civicrm admin area and front-end forms are missing after import of wordpress database. I can see my contributions dashboard for example, but not the manage contribution pages section or any of the Administer area, so I cannot check systems setting > resource urls, or cleanup cache etc. This means also that my forms are missing on the front end. I have reset my WP database and Civicrm database from a couple of days ago and it hasn't made any difference. Any ideas how I can fix this?

Sounds like a permissions problem. Make sure you are logged in as a user who has full "administer CiviCRM" permissions in Wordpress.


quick search autocomplete not working on civi 4.6.20 drupal 7.50 After the last minor update, my colleague pointed out that quick search auto complete is not operating. I don't find any similar issues in stackexchange or jira, and couldn't reproduce it on the 4.7 demo site. I am seeing a failure in the browser on this resource:

403 error
https://domain.org/civicrm/ajax/rest?entity=contact&action=getquick&json=%7B%22name%22%3A%22asdf%22%2C%22field_name%22%3A%22%22%2C%22table_name%22%3A%22cc%22%7D

This was a hosting issue. ModSecurity rules had to be edited. Not a 4.6 update issue at all.


Delete multiple Contributions I'm not 100% sure, if the next process is safe or not, so first of all, I ask...

In my company's CiviCRM are more than 3900 Contributions, which should be deleted. These Contributions can be listed as result of a report in CiviReport, but not as result from the SearchBuilder because the query is too difficult for SearchBuilder (with 'NOT IN' clauses etc.).

On the report's page, on the Developer tab I see the SQL query of the report, and I have access to the CiviCRM's database, so I can run this query. I can rewrite the SELECT query to a DELETE query.

Is it safe - after backuping the database - run the DELETE query to delete all unneeded Contributions from the civicrm_contribution table, or it causes database inconsistency?

Thank you!

It will depend on how the contributions were created and whether payments were associated with it.

The best ERD I know of is this one doc.symbiotic.coop/dev/civicrm/latest/schema/index.html

At a minimum you will probably need to check the civicrm_line_item table as well as civicrm_contribution.


Search comparing two date fields I would like to be able to create a smart group of contacts who:
1) are participants for an event in the future
2) have passport expiration dates (a custom Individual Contact date field) that are before the End Date of said event

I'm not finding any way to compare the two date fields. I've looked at CiviRules, but that doesn't seem to get me what I need.

Any suggestions?

(Joomla 3.7.5, Civi 4.7.21)

I think it's unlikely you'll be able to perform this search within any of CiviCRM's existing searches.

Fortunately, it's possible to create custom searches. The process requires some coding, but gives you a tremendous amount of power and flexibility.


Views integration broken Since the last two updates I am having severe issues with the views integration with Drupal. The views module hasn't changed, but it doesn't seem to work after the 4.74 and 4.76 updates.

When upgrading to 4.74 I lost all the custom fields in the integration and now with the 4.76 I lost even more fields like event names, dates and contact fields.

Does anyone else have this issue and knows how to fix it?

Have you tried clearing all Drupal caches then running update.php for Drupal? This fixes views for me


Mailchimp extension not pushing new Civi group members to the Mailchimp list I've been setting up the excellent Mailchimp extension from Vedaconsulting.

It all seems to be working correctly (thanks to this page), except for when posting on the fly from Civicrm to Mailchimp:

I've setup a smart group to correspond to a list in Mailchimp.
If I unsubscribe someone from Mailchimp then Mailchimp's webhook fires and the person is correctly removed from the smart group.

But if I add someone to the smartgroup they aren't being pushed to Mailchimp. There is immediate activity in the Civicrm log, but the name of the person isn't included. (Arrays contain info about the list and groups etc, but not the person.) And no change in Mailchimp.

Nevertheless, syncing Civi from/to Mailchimp seems to be working fine.

What could I do to troubleshoot this?

We're on Drupal 7.50, Civicrm 4.6.17, Mailchimp 1.8.7. Our server is locked down pretty tight... but if syncing is working then I would have thought the database post should be working too?

Thanks for your help!

The instructions page you linked to is for an old version, which you must be on if you have 1.8.7.

I wrote version 2 of this extension and it's fairly a complete rewrite, so while I can't promise it solves your problem, I can say that no further development is going to happen on 1.8.x.

You need to update to v.2 before the end of 2016 as Mailchimp are apparently pulling their old API, so your integration will probably stop working. Veda have most of my code "merged in master" (means they've accepted it) but have not published a release.

I have published a release, though, at https://github.com/artfulrobot/uk.co.vedaconsulting.mailchimp/releases

It's flagged with a red beta tag at the mo because it brings in an experimental webhook thing for WordPress users, but I'm guessing you're on Drupal, so you can ignore the beta bit - I have been running this version in production for a few months now. But you should see the README as the new Mailchimp API changes a lot. I'd definitely recommend a backup of your Mailchimp lists ("exports" from Mailchimp) and your CiviCRM set up before you go upgrading. Of course you would anyway :-)


Missing participant is_test field in drupal views We would like to use the participant is_test field in drupal views but cannot seem to do so.
1. Would anyone be able to tell us how we can do so?
or
2. Can anyone show us with an example that will help us create a pr to add this field.

Thanks, Richard

Thanks Jaap, I now added it by this PR: https://lab.civicrm.org/dev/drupal/issues/95 From CiviCRM 5.21 i guess this will be included.


CiviDiscount Isn't Tracking Usage (Now CiviCRM 4.7.0, Drupal Commons 7.50 and CiviDiscount 3.3)

If a user uses a coupon code, the coupon code is no longer tracking the number of times it is used or who used it. It appeared to be working until I realized that it only tracks two situations: if there was money exchanged (not a 100% discount) and/or if the coupon was used during a transaction put in on the backend and not by the user.

Furthermore, you should be able to assign an organization to the code so that the "codes assigned" and "codes used" is tracked. As it sits, those tabs do not report anything.

Screenshot of how discount code is set up:

Screenshot of membership:

Screenshot of price set used:

Also, when I first look up "Test Organization for Code", the organization that I applied the the test discount to, the tab clearly shows that there is a code assigned, however, when the tab is clicked on, nothing shows and the value is changed to zero. This could be an important clue.

Lastly, here you can see a MySQL table showing all recorded uses of the same code (item_id=2) but the data is being recorded differently. The last 4 were entered through CiviCRM and the first 2 were entered through a Contribution page, when it was still tracking; there should be about 25 rows, but the rest of the uses were never recorded:

Here you can see where the discount code that was used is still reporting 0 uses:

Here you can see where the test user that used the code is still showing that no code was used:

Things I've Tried:

Changing CiviCRM to a standard install.
Upgrading Drupal Core, CiviCRM and CiviDiscount to latest major versions.
Was unable to reproduce the error on my own simplified sandbox using the same versions

(Edited from running CiviCRM 4.3.8 with Drupal 7.37 (Commons))

I'll ad this as an answer so it's not lost in a comment.
Steps to figure this out would be:

CiviDiscount is installed on demo/dmaster: try and reproduce your scenario/bug on demo/dmaster - starting by adding discount config here: http://dmaster.demo.civicrm.org/civicrm/cividiscount
If you can reproduce the issue you're seeing on:
http://dmaster.demo.civicrm.org/civicrm - then file an issue here:
https://github.com/dlobo/org.civicrm.module.cividiscount/issues
If things are working properly on http://dmaster.demo.civicrm.org/civicrm - the issue may have been resolved and you would then look at upgrading your own instance to that CiviCRM version/CiviDiscount version.

All the best!


How do I set a default From email in CiviCRM to be used when assigning Activities? A little help please
I am working on a civi system for an organisation that has volunteer supervisors  manning the phones and assigning "Activities" to other volunteers.
The email to the volunteer should come from a standard email address - Dutyofficer@...

However, the system defaults to the Volunteer supervisors email address and not the Dutyofficer one which is set up and used as default

Any ideas please

You could try adding Dutyofficer@... to each volunteer supervisor's record as an Other e-mail address perhaps and making that the Primary address for each - temporarily. That might work. Each volunteer may have to choose to send using that Dutyofficer@... address.


HOWTO remove inherited membership when corresponding relationship is disabled or deleted? We are testing out ideas to create a script to disable a relationship for a list of contacts, as that doesn't seem to be an option under Actions from a Search output list.

To get a feel for what we want to do, we have a script that generates an SQL query to disable the relationship for a list of contact_id's. Works fine.

However, this relationship is also tied to an inherited membership. That membership is not deleted, so we wanted to construct a parallel SQL query to delete the corresponding membership.

Can someone explain the database structure that allows us to link the two? In the civicrm_membership record, we see the membership_type_id that would tell us which record(s) are possibilities for the ones to delete. However, our members may have more than one corresponding inherited membership with the same relationship_type_id, because it is common for members to belong to two or more organizations, so they may have 2 or more memberships that are distinct and inherited.

A side fact is that the UI action on an individual view to disable or delete the relationship does ALSO remove the membership, so we know it is possible! We are essentially trying to automate this action for a list of contacts.

Another odd fact is that, if we delete the relationship, but still have the dormant membership, if we add the relationship back, then we have TWO memberships in the database, each related to the same organization. Their civicrm_membership records are identical. (If we do it again, we of course now have 3 ;) ) I was hoping there would be a column which would be NULL except for inherited memberships, where the column would contain the corresponding contact_id for the relationship. The membership END DATE provides a "weak" clue, but it is possible that 2 parent organizations could have the same END DATE.

I noticed a JIRA issue that is similar, https://issues.civicrm.org/jira/browse/CRM-16087. But that was evidently solved.

I also ran the Scheduled Job to Update Membership Status, hoping it would remove inherited memberships when the corresponding relationship is disabled or deleted, but that didn't seem to have effect.

Any help in understanding the full linkage for inherited memberships within the database is appreciated. We've been running CiviCRM for about a year now and are finally digging into some of the internals. Our ultimate goal is to provide an addition to the core or an extension so that the Action of disabling a relationship (and removing any inherited memberships based on that relation) is an available Action when viewing any list of contacts in Civi. It is too painful to disable a list of hundreds manually via the UI, although it works.

running Civi 4.7.22 on WP 4.8.2

After trolling around some more, the field I was looking for IS in the membership table, owner_membership_id. That is non-nil for inherited memberships. You can follow that key to the parent organization's membership record, and then from there, determine whether that is the organization for which the membership should be deleted. For maintaining history, you can just cancel the individual's inherited membership instead of deleting so it will show up under past, inactive memberships. If done properly, there will never be more than one inherited, active membership for a related (individual, organization) pair unles the organization subscribes to multiple memberships at once.


Menu Problem with CiviCRM 5.26.0 in Drupal My CiviCRM menu bar doesn't appear at the right place on the page and its stylesheet is not loading.

I have the same symptoms as in question Menu Problem with CiviCRM 5.13.2 but the solutions they offer there do not solve my issue.

Since the picture of the heading at http://***.be/sites/default/files/ocsr.png doesn't show up, I discovered that the files under the directory <drupal_root>/sites/default/files are not served anymore by apache when requested by the browser.

There is a .htaccess file in that directory containing:

# Deny all requests from Apache 2.4+.
<IfModule mod_authz_core.c>
  Require all denied
</IfModule>

# Deny all requests from Apache 2.0-2.2.
<IfModule !mod_authz_core.c>
  Deny from all
</IfModule>

# Turn off all options we don't need.
Options None
Options +FollowSymLinks

# Set the catch-all handler to prevent scripts from being executed.
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
<Files *>
  # Override the handler again if we're run later in the evaluation list.
  SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003
</Files>

# If we know how to do it safely, disable the PHP engine entirely.
<IfModule mod_php5.c>
  php_flag engine off
</IfModule>
<IfModule mod_php7.c>
  php_flag engine off
</IfModule>

My knowledge of apache is too poor to understand if this file is the guilty, but in the logs of apache, I see entries as:

[Tue Jun 09 14:18:54.299253 2020] [authz_core:error] [pid 30658] [client 127.0.0.1:42982] AH01630: client denied by server configuration: /usr/share/drupal/sites/default/files/civicrm/persist/contribute/dyn/crm-menubar.4153687684a8323812edc1dc3cdbefbd.css
[Tue Jun 09 14:38:46.732818 2020] [authz_core:error] [pid 22455] [client 127.0.0.1:43090] AH01630: client denied by server configuration: /usr/share/drupal/sites/default/files/ocsr.png

that seem to be connected directly with my issue.

Since I am a newbie with CiviCRM, I don't have any clue about how to solve this.

Perhaps another useful information: I didn't have time to upgrade to the last version of Drupal 7 up to now. I don't know if the problem is coming from that delay and I don't know what is better: first solve the issue and then upgrade, or the contrary.

Your .htaccess file is incorrect.

It should contain the following content:

# Turn off all options we don't need.
Options -Indexes -ExecCGI -Includes -MultiViews
# Set the catch-all handler to prevent scripts from being executed.
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
<Files *>
  # Override the handler again if we're run later in the evaluation list.
  SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003
</Files>
# If we know how to do it safely, disable the PHP engine entirely.
<IfModule mod_php5.c>
  php_flag engine off
</IfModule>

The remaining lines are added ONLY for private file storage, namely these lines:

# Deny all requests from Apache 2.4+.
<IfModule mod_authz_core.c>
  Require all denied
</IfModule>
# Deny all requests from Apache 2.0-2.2.
<IfModule !mod_authz_core.c>
  Deny from all
</IfModule>

You should check your Drupal configuration, to ensure that you have a separate folder configured for private file storage, this should be outside your web root.

You should check your configuration against the Drupal documentation here: https://www.drupal.org/docs/7/install/setting-up-the-files-directory


CiviCRM birthday error PHP Since I've updated my installation of Drupal - CiviCRM to version 4.7.27 we got some errors. If we edit or add a user we can't select the birthday for the user. Like you see on the screenshots, we get some initialization errors and the date picker only allows one date (the date of today).

Anyone who can help figure this out? Thx!

After some debugging, i found out the CRM_Core_SelectValues was overridden by the com.klangsoft.flexiblejobs extension. After disabling this module or updating the code the problem was resolved.


Views3 Integration instructions not working I followed these instructions to integrate Views3 with a custom CiviCRM extension.

I have Drupal 7 and I copied and pasted the array just under the $databases one in "settings.php" .
I clear the Views's cache and then go to the "Add new view" panel.

The Show select lists only few CiviCRM tables (I saw them also before the integration procedure) but not all and not the ones of the custom CiviCRM extension.

I have two separate databases for Drupal and CiviCRM but the drupal user has access rights to the CiviCRM tables.

Does someone can help with this issue?

I found this guide on how to expose Tables to Views in Drupal 7.

Now I'm writing a module that expose the tables of the CiviCRM extension that
I have to use and it seems to work as far as I tried.


SMTP Verification failed SMTP settings are checked (with user@domain as login) and Track replies using VERP in Reply-To header is disabled (it worked before).
How come a generated email adress name is used as login, thus preventing CiviMAIL to send a test mail?
Drupal 7.61 CiviCRM 4.7.30

  Jan 09 07:00:10  [info] Ignoring exception thrown by nullHandler:
  10005, Failed to add recipient: user@domain
  [SMTP: Invalid response code received from SMTP server while sending email.
  This is often caused by a misconfiguration in Outbound Email settings.
  Please verify the settings at
  Administer CiviCRM >> Global Settings >> Outbound Email (SMTP).
  (code: 550, response: Verification failed for
  < b.1223.8100.d34261f00e3242ab@domain>
  This email address does not exist. Dit e-mail adres bestaat niet.
  Sender verify failed)]

My comment above notwithstanding, there is a possibility that this isn't a mail server issue.

If you recently upgraded to a newer version of PHP, you may have gone from a version that uses mcrypt to encrypt the outgoing mail password to one that doesn't.  To fix this, go to Administer menu » System Settings » Outbound Mail and re-enter your SMTP password and save.


How to add extended reports blocks to Contact Layout Editor I asked a question about the Contact Layout Editor and how to add blocks such as memberships and contributions and have the answer so am posting here.
I struggled to find out how to create a block for Contact Layout editor for this type of listing so sought the help from Coleman.

Solution:
Once the ExtendedReport extension has been added, there will be additional reports shown in the CiviReports section.  To be able to use one of these as a block, go to Administer -> CiviReport -> Create New Report From Template and then find the Extended report you want and click on that report.  The next screen it takes you to is the important one.  You can make amendments to the report there and you must go to the Display Options tab and select "Make available for contact summary page (requires contact layout editor extension)", then refresh the results and then view the output.  Next, you have to use the Actions dropdown to "Save a copy" and call it the name of the block you want to appear in the Contact Layout Editor.
Once you have done this, the block will appear in Contact Layout Editor (you may have to go out and back in to the Contact Layout Editor for this to show) and then you can drag it in as you can the other blocks.


Translation of Terms and Conditions The wording of the GDPR texts is translated (into Dutch), but the title still says "Terms and Conditions". Where to find the string to translate? Or how can it be translated? Please include a translation in next releases. It's odd on an event registration in local language to speak about "Terms and Conditions"!

As a quick fix, you can use the word replacement feature of CiviCRM, which is located in the admin section. Just note that the character '&' is encoded as a html special character. Therefore the original English string you want to replace is Terms &amp; Conditions. Hope this helps.


How to expose Mailing Groups in webform? I would like to create a webform with a certin mailing group exposed to the user via the checksum link, so that they can subscribe to the mailing group.

If I select "User Select" option during webform processing the entire list of groups of civicrm gets exposed. Does anyone have an idea how to achieve this, please? thanks

Edit the form Element -> change live to static -> and select the groups you would like to put on the form.


Civicrm permissions for different departments can anyone advise if civicrm supports permissions at department level for a business. So that all departments have access to create/edit an event within their department. They don't have access to events created in other departments? I am referring to Manageing the events for departments not signing up to events.

Can the roles be configured to allow this somehow?

Thanks for any help

We have recently worked on an extension for a sports club association which means each club has officers who can create/edit events which are linked to that club, but not to other ones. It is not ready for publishing yet but will be something we will do if we think it can be made generic enough.

If you want to discuss them may be better to open a channel in https://chat.civicrm.org/civicrm/

I am doing some digging to check what the scenarios are that it caters for and which it doesn't and what it might require to make it generic.


Display Membership type description on contribution page? Can't seem to find the answer but sure there must be a simple way to achieve what I need.

On the contribution pages for Civi I would like to show the membership type description for the various membership types that need further explanation to users.

Is there a easy way to enable this or do I need to look at a more custom route?

Thanks in advance for any pointers!

If you did this as a Price Set you would be able to have some info in the post-field-help, and you can set the 'label' to be different to the membership type if you want eg

and actually the Price Options do have a pre/post help options but they show inline, presumably some minor theming could address that

Currently at https://dmaster.demo.civicrm.org/civicrm/admin/price/field?reset=1&action=browse&sid=10&new=1 but will be flushed within 24 hours


Search view profile to show only the primary phone number Is there a way to set up a search view profile so that it shows the primary phone number for a contact regardless of what type of phone it is?  When setting up this profile, I am required to indicate a type of phone.  I want to be able to see results that show the primary phone regardless of type.  Thanks.

We are using version 4.7.24

Ideally, there should be an option with the label -any- in the above select input. But as it is not present, I don't think there is any UI setting to accept all phone type values for the profile field.

Maybe, you can try API to trigger this (Support -> Developer -> API Explorer) OR http://domainname/civicrm/api#explorer.

Select Entity as UFField and action as create and form the API something like -

$result = civicrm_api3('UFField', 'create', array(
  'id' => <uf_field_id>,
  'field_name' => "phone",
  'phone_type_id' => 0,
));

The first param is the uf_field_id which is the id of the profile field created in your screenshot.

If you don't find the id, you can check by placing your cursor on the Edit link on the field row displayed for your profile. The URL will be shown on the bottom left of your browser. For eg: in the screenshot below 75 is the value of the field id.


Installing CiviCRM 4.7 in Drupal 7 can't match requirements I'm trying to install CiviCRM 4.7.12 in Drupal7 but I'm unable to proceed with the CiviCrm Installer. Right at the top of the page (outside of the Installer box) I have this error:

Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given in ...\docroot\sites\all\modules\civicrm\install\index.php on line 1256

Which is this line: $query = sprintf("CREATE DATABASE %s", mysqli_real_escape_string($conn, $database));
After that I can't make the requeriments match, and because of this, I can't procced with the installation. Apart from the error: Your database settings don't appear to be correct, which seems to be default, according to the Installation guide documentation, I have this list of errors:
CiviCRM Database Details

Are the access credentials correct? -> That username/password doesn't work: Access denied for user 'civicrm'@'localhost' (using password: NO)
Can I access/create the database? -> I can't create new databases and the database 'civicrm' doesn't exist. (user 'civicrm' doesn't have CREATE DATABASE permissions.)
Can I access/create InnoDB tables in the database? -> Unable to create InnoDB tables. MySQL InnoDB support is required for CiviCRM but is either not available or not enabled in this MySQL database server. Could not determine if MySQL has InnoDB support. Assuming no.
Can I create temporary tables in the database? -> Could not login to the database.
Can I create lock tables in the database? -> Could not connect to the database server.
Can I create triggers in the database? -> Could not login to the database.

Drupal Database Details

Are the access credentials correct? -> That username/password doesn't work: Access denied for user 'drupal'@'localhost' (using password: NO)
Can I access/create the database? -> The database: 'drupal' does not exist.

I just started a blank Drupal instance and the only thing I'm trying to install is CiviCRM, I'm also following these steps, the only one o got a little confused was step 2.
Am I supposed to replace my settings.php with that line of code? Because mine just have this $databases = array(); while the one on the guide is filled with information.
What am I doing wrong?

The real issue is that your database credentials are invalid.

Access denied for user 'civicrm'@'localhost' (using password: NO)

Access denied for user 'drupal'@'localhost' (using password: NO)

Most likely the warning you are seeing is due to the connection object being FALSE as a result of not being able to connect, instead of a mysqli connection object.

The database: 'drupal' does not exist.

You should also at the very least create the drupal and civicrm databases you intend to use; Drupal and CiviCRM's installation will create all the necessary tables.


Emails sent to an outlook email address are returned with failed fraud detection for some reason recently all emails we send that go to an outlook email will have

  This sender failed our fraud detection checks and may not be who they appear to be. Learn about spoofing

What am I able to do about this?

Welcome in the world of preventing spam. Your email is rejected by a Microsoft service, so Microsoft sets the rules. According to their documentation, the cause may be spoofing or, more likely in your case an incorrectly configured Sender Policy Framework (SPF) record.

You can reproduce this problem by sending a single email to an outlook address by using just the send mail action.

My assumption is that you sent your email directly from the server where CiviCRM is installed by using the mail() or the sendMail option in Settings - Outbound Mail . But your is not registered according to the SPF framework to be a legitimate email sender for your domain.

You can try to send the emails using SMTP server of your ISP (configure smtp in Outbound Mail). Another option is to add an SPF record to your DNS. More information at OpenSPF.

However, SPF is not the only countermeasure to discourage spam. The other is DKIM.

If you are sending large volumes of email you can consider using a specialised SMTP provider.


Mosaico blocks not staying in place Mosaico has been loaded for use in CiviCRM 4.6.33 in a Drupal environment. However, when blocks are dragged to create a template they do not stay in place. Has anyone experienced anything similar and any idea what might be causing the problem?

Thank you.

We've seen some major improvements in the 4.7.x version (Mosaico 2.0) [over the 4.6.x version] - if a client wishes to use Mosaico we do recommend moving them up the 4.7.x first;


Security Warning on Dashboard (pantheon / nginx) Getting Security warning everytime I log into civicrm that my log directory is downloadable.
I checked and it is completely viewable on my browser.
I realize that there is a solution for nginx enviroments however I am running my site on pantheon and do not have access to any nginx configs.
Is there something I can do civi-side to fix this?

Pantheon does not support .htaccess files nor custom location directives, which are the common approaches to protecting those files from access on Apache / Nginx.

However, moving your CiviCRM file directories from sites/default/files/civicrm to sites/default/private/civicrm should resolve this, because Pantheon protects that location out of the box.

See Drupal.org #2195947 - Security warning from Civi re exposed "files" directory for how this is addressed in CiviCRM StarterKit.

You will need to end up with something like this in your civicrm.settings.php, the linked issue above gives the required context needed to ensure $pantheon_conf contains appropriate values.

  global $civicrm_setting;
  $civicrm_setting['Directory Preferences']['uploadDir'] = '/srv/bindings/' . $pantheon_conf['pantheon_binding'] . '/files/private/civicrm/upload/';
  $civicrm_setting['Directory Preferences']['customFileUploadDir'] = '/srv/bindings/' . $pantheon_conf['pantheon_binding'] . '/files/private/civicrm/custom/';
  $civicrm_setting['Directory Preferences']['imageUploadDir'] = '/srv/bindings/' . $pantheon_conf['pantheon_binding'] . '/files/private/civicrm/persist/contribute/';
  $civicrm_setting['Directory Preferences']['extensionsDir'] = '/srv/bindings/' . $pantheon_conf['pantheon_binding'] . '/code/sites/all/extensions/';
  $civicrm_setting['URL Preferences']['extensionsURL'] = $base_url . '/sites/all/extensions';

See also the relevant CiviCRM security advisory, CIVI-SA-2014-001 Risk of information disclosure. Moving the restricted files outside the webroot entirely would be the ideal solution if/when CiviCRM supports that.


Any extension for customize the dashboard I want a extension that can change the dashboard layout and configure as per requirement.

In addition to Pete's answer, you can also put Views blocks into CiviCRM dashlets: https://civicrm.org/blog/brandonferrell/drupal-views-in-civicrm-dashlets


Can civi pre-authorise funds for events and is only charged the amount if the registered participant is a no-show? We have a client who wants to take a deposit fee for events and have it only processed if the participant is a no show. Is there a way to achieve this with Civi? Should we be talking to the payment processor about this?

We run on the latest version of Drupal 7 and the CiviCRM 5.13.x LTS version.

Thanks

Yes, the answer to this is - it depends on the Payment Processor that you use whether you can do this. With the CiviCRM iATS extension you could have people schedule a recurring contribution with one installment for a date in the future (perhaps the day after your event). What this will do is tokenize the credit card; on the future date the token with an amount are submitted to iATS for payment processing. So all you need to do is then make sure you cancel the recurring series ahead of the future date (for people who did show up).

We developed this for a number of reasons, including the abilty to tokenize card for $1 ahead of fundraising/silent auction events. Then on the evening of the event -> you can process the card on file for any $amount for a fast checkout from within CiviCRM (and of course send a receipt to the donor).


How to build reports or Views based on who the Manager is We need some summary reports of Count of open Cases by Case Manager.

Maybe overlooking something but not spotting these.

Just getting to grips with how Case Manager is identified. Seems to initially be the person who 'creates' the case, until that gets reset at which point an Activity of Type "Assign Case Role" is created and the Manager is the assignee, status Completed.

But if the Manager is changed, it just adds another one. So trying to report eg in Views, by grabbing the Activity of that type/status gives multiple results.

Wondering which way to go around this.

Keen to hear ideas for flexible approaches that might be useful to others.

Seems I had forgotten about using the Case Manager Relationship as an option!

As for how to do aggregation on custom Views fields, I can speak to that. This answer doesn't provide how to decide what is an open case or having a case manager...I'll leave you to that, but here's how you can aggregate it once you get there!

This can be done with a custom Views field handler + Views Aggregator Plus module.

The Views custom field handler must be specially constructed. Below is an example from one of my projects. I've removed some logic from this example...The key is that you calculate and set the values to the rows in the post_execute() method, with a property name that starts with "field_", with a ['raw'] array index value. If you do that then the Views Aggregator Plus module will "see" the data and be able to manipulate it.

In this example I calculate the number of enrollments to courses for each user, and set that value.  The View lists users, and includes this field, and is then summed via the php aggregation. You can do something similar, and then use get a count.  In your case you would probably return 1 if the row (case) is open with a manager, and not set it or set it null if it is closed or not having a manager.

Views Aggregator Plus enables PHP based aggregation to views as opposed to SQL based aggregation which is default with Views.

class tincan_course_product_handler_user_total_enrollments_field  extends views_handler_field {
  function construct() {
    parent::construct();
  }

  function query() {
    $this->ensure_my_table();
    $this->add_additional_fields();
  }

  function post_execute(&$values)
  {
    foreach($values as $index => $value) {
      if(!empty($value->uid)) {
        $uid = $value->uid;
      }
      elseif (!empty($value->users_civicrm_uf_match_uid)) {
        $uid = $value->users_civicrm_uf_match_uid;
      }
      $total_courses = NULL;
      if(!empty($uid)) {
        $user = user_load($uid);

        $total_courses = tincan_course_product_get_users_get_total_default_product_count($user);

      }
      $values[$index]->field_total_enrolled_courses['raw'] = $total_courses;
    }
  }

  function render($values) {
    return !empty($values->field_total_enrolled_courses['raw']) ? $values->field_total_enrolled_courses['raw'] : 0;
  }
}

Views Aggregator Plus works similarly to standard Aggregation, but you must use the provided Format, "Table with aggregation options" provided by the module.


Is it safe to delete multiple membership records after ensuring the Contact record has been merged? I am working on merging duplicate contact records, which is successful for the most part. However, I am finding that merging the contact record does not remove multiple membership records seen when pulling reports for membership year 2016.

For example:
We merged all records for ContactA, so there is only one contact record for her. However, there are still two membership records for her in Civi that are exactly the same. They have the same contact ID (35747). All of the info is the same but there are two records – so it throws off all of our reports. She is not the only member where we find this happening. Is it safe to just delete one of the membership records since all the data has been merged into the other record?

It is okay to delete a duplicate membership, but if there is a payment associated with that membership record, that payment will also be deleted. If that is an issue, you may want to consider creating a new membership status to reflect these duplicate memberships, you'll be able to easily filter them from reports that way.


Problems with Search Builder: Trying to find records with empty Country field I know I have contacts with no Country - this was something we came across recently when a colleague tried to use the proximity search and known contacts didn't appear. I've used Batch update to update a fair few I knew about, but when I use the Search Builder now to check for Contacts > Country > Primary > 'Is empty' or '≠' 'United Kingdom' and it comes back with nothing. But scrolling through the records, I can see there are still some records with no Country?

Am I not using the Search Builder properly or is there a bug? I'm using v4.4.13

Try changing the search condition of the Search Builder
ignore is_primary flag

look for:
contact -> country -> home -> is not null (also change the address type)
contact -> contact type = Individual

by this way you can select all the record with country field null also you can use batch update


Running a script from cli How would I call CRM_Core_I18n_Schema::rebuildMultilingualSchema($locales, NULL); from the command line?  Minor upgrade seems to have had an insignificant DB error and this line did not get called.

Coming from:  CRM/Upgrade/Incremental/php/FourSeven.php line 654
Wordpress, CiviCRM 4.7.10

The command cv (https://github.com/civicrm/cv) provides helpers for running PHP code via CLI. For example, to run a single line of PHP code, you might say:

cd web-root
cv ev 'CRM_Core_I18n_Schema::rebuildMultilingualSchema(array(...), NULL);'

The snippet you posted involves a variable $locales which isn't defined here. If you know the intended content (e.g. maybe array('en_US')) then you could plug that in directly.

Alternatively, maybe you could call that particular upgrade function addHelpPreAndHelpPostFieldsPriceFieldValue() directly. (This is not always going to work; it's a case-by-case judgment looking the substance of the function.) If it's appropriate, then:

cd web-root
cv ev '$u = new CRM_Upgrade_Incremental_php_FourSeven(); $u->addHelpPreAndHelpPostFieldsPriceFieldValue(NULL);'

More generally, you could copy the desired code out of CRM/Upgrade/Incremental/php/FourSeven.php and put it in a new file (my-upgrade-fix.php). Hack the code as desired and then run:

cd web-root
cv scr my-upgrade-fix.php


Creating Couples as a Single 'Individual' I am working for a non-profit and we are coming from a database that has couples as a single contact. To me, this makes sense because very often when things like donations come in, they come from the couple. In the rare instances that they don't there can be exceptions made. This also makes sense to me from a contact perspective because it allows for simple recording of contact data and simple creation of mailing lists.

As such, is there any way in CiviCRM to modify the data structure add a spouse field and spouse surname field to the Individual contact type?

As a further note, it would be great if this were searchable as part of the name in basic search.

It would be better to create a relationship between the two - the Partner relationship type is there out of the box.

This will take account of each partner having different email addresses and different mailing preferences. Even different addresses.

You mailing list can be created from an Advanced Search for the Partner relationship with no difficulty.

All this allows you to segment your contacts more usefully.

This approach also negates the problem you add about searching on name.


activity dashlet not showing results On the dashboard, the activity dashlet is not showing any results for me.
I havent heard anyone on this system ever seeing results there.
There is no ajax error, but the snippet it calls is
civicrm/ajax/contactactivity?snippet=4&context=dashlet&cid=3

(3 is me) .. if I call that directly, it returns an error

Sorry but we are not able to provide this at the moment.
is not of the type Integer
Return to home page.

anyone know whats wrong ? do I actually have to assign activity types to myself and if so, where ?

Powered by CiviCRM 4.5.3.

Yes, go try creating an activity on someone's record and assigning it to yourself.  If it doesn't show up in the dashlet, you have a problem, because that's what the dashlet is for.


Error for token.php related to greeting tokens I keep getting a error daily for one of my cron jobs:

Cron <site@prefix> /usr/local/bin/php /home/site/public_html/administrator/components/com_civicrm/civicrm/bin/cli.php -s www.site.org -u adminusername -p adminpassword -e job -a execute

The error comes in an email and looks like this:

Warning: array_flip() expects parameter 1 to be array, string given in /home/site/public_html/administrator/components/com_civicrm/civicrm/CRM/Utils/Token.php on line 1470

Warning: array_keys() expects parameter 1 to be array, null given in /home/site/public_html/administrator/components/com_civicrm/civicrm/CRM/Utils/Token.php on line 1471

Warning: array_fill_keys() expects parameter 1 to be array, null given in /home/site/public_html/administrator/components/com_civicrm/civicrm/CRM/Utils/Token.php on line 1471

Fatal error: Unsupported operand types in /home/site/public_html/administrator/components/com_civicrm/civicrm/CRM/Utils/Token.php on line 1472

It appears to be triggering off greetings.  I have run the job to update greetings but it appears that this is based on what it expects in the code.  Is there something that I need to change in order for the array to get what it expects?

I'm surprised you were able to get the "Update Greetings" scheduled job to run in cron; the UI specifically disallows enabling that job.  Did you turn it directly using SQL?  You may want to consider whether you really want that job enabled.

That aside - I'd put this line just above line 1470:

print_r(CRM_Utils_Array::value($key, $greetingToken), TRUE)

And see what you get when you run the cli command manually.


Delivery has not yet begun for this mailing when i send mail (Mailing-> New Mailing) the mail won't send and i get this message when i view the mail report

  Delivery has not yet begun for this mailing. If the scheduled delivery
  date and time is past, ask the system administrator or technical
  support contact for your site to verify that the automated mailer task
  ('cron job') is running - and how frequently.

The Send Scheduled Mailings  from Administer-> System Setting-> Scheduled Jobs is enabled and when i Execute now manually it works fine. The Send test functionality also work fine.

Did you set up cron? All Scheduled Jobs are executed by cron.

http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs


Set membership end date to today for cancelled status How can I set the membership end date to today in the status rules for a cancelled status? I can only adjust in month/day/year relative to a discrete event member since/start end.
Thanks!

To clarify, when I change a membership to cancelled, I would like the end date for the membership to inherit automatically today's date, but I can't figure out how to specify that in the status rules. Is that not the place to do it?

You have to manually override the status to set a membership to Cancelled and that is when you set the End date to the value you want.

If you are doing this one record at a time either type in the date directly or Clear it then click on the calendar to see the current date  highlighted for easy selection.

If for some reason you are cancelling memberships via batch update, then include the end date in that profile.  Click on the X beside the date in the first line and then on the calendar.  The current date will be highlighted and you can select it, then copy it to all the memberships you are cancelling.

If you are still wondering why you can't set "Now" as the end date for the cancelled status, that may suit  your use case, but won't suit everyone.  If we receive a request to cancel a membership we set the end date to the day we received the request, even if we don't actually change the status in the database until some days later. (Our membership admin only works part time, so sometimes it could be a week before she is able to make that change.) As manual intervention is required to cancel the membership, manual intervention at the same time to set the end date makes sense to me.


Multilingual Setup, but no language switcher I've followed the instructions for setting up multilingual access (english & spanish) but no language switcher is appearing.
Drupal 8 install.
I'm able to select both languages in the language settings. Everything seems to go fine, but no switcher.
Where is the switcher supposed to appear? Only at login? I seem to recall reading that it would show up on various pages but may be mis-remembering.

Usually what you want to do is use the Drupal language switcher and choose the option in (civicrm/admin/setting/localization?reset=1) that tells CiviCRM to follow the language that Drupal is using ("inherit CMS language").
To work properly, that option requires you to fill out a couple of lines in the civicrm.settings.php that are commented out by default, but which tells civicrm how to map the Drupal language settings (which are just two letter language codes) over to CiviCRM language codes (which are two letter followed by a region code).
Here's an example from a Canadian bilingual site of mine:
# grep LANG civicrm.settings.php
define('CIVICRM_LANGUAGE_MAPPING_FR', 'fr_CA');
define('CIVICRM_LANGUAGE_MAPPING_EN', 'en_CA');
// define('CIVICRM_LANGUAGE_MAPPING_ES', 'es_MX');
// define('CIVICRM_LANGUAGE_MAPPING_PT', 'pt_BR');
// define('CIVICRM_LANGUAGE_MAPPING_ZH', 'zh_TW');


Update Donation Amounts for Monthly Recurring option We are in the process of building out a contribution form (not webform) with the One-Time and Monthly option buttons at the top of the donation form.

We are trying to figure out the best option to update the Monthly amounts when someone toggles from One-Time to Monthly.

Has anyone done this? If so, what do you recommend?

The extension is available on CiviCRM's Gitlab.

It adds a new option that is visible in the administration of the priceset, so that admins can decide when to display a specific priceset field value:


Individual Update Employer address/profile informaiton Using profiles individuals are able to update their own information. However i need an individual to be able to update their employers information. What solutions are there using wordpress for this?

for WP or Joomla i think the only in-built option is if your Contact has a Permissioned Relationship with their Employer then they should be able to view and edit some details about their Employer via their Contact Dashboard.

But my quick test on demo (i guessed the url to get to the dashboard since i don't 'know' WP) doesn't show the permissioned Relationships I just created for 'demo, demo' on the Contact Dashboard, which I assumed (wrongly) was just a setting but MyContacts/Organisation was checked - hmm .

So either there is another setting that I have forgotten, or this is something I didn't know was a limitation in WP, or something else ;-)

But try it on your local anyway.

Also worth nothing that you can provide 2nd degree permissions via a setting (which i do see on WP)


Creation of a form from the front-office? I'm using the joomla system and I'm looking for a form that can be created from the user interface. that is to say that there will be 3 level. the administrator who will manage all the system, the manager who can create a form from the user interface and collect the information from this form. and finally the user who will enter in the form. is it possible to do this kind of form with the CiviCRM component

There are "profiles" that work with joomla - see https://docs.civicrm.org/sysadmin/en/latest/integration/joomla/forms/


Issue where soft-credits will not save We've been having this issue over at least one major upgrade where certain types of soft-credits just will not save, without leaving any type record in the error logs. Crediting an individual from another individual or organization works, but crediting an org or a household from an individual prevents the contribution from saving at all... if the soft-credit is removed the record will save fine. I took a video of what I mean and put it on YouTube here >> Video of soft-credit not saving

I have recently installed the Automatic Soft-credit extension Auto Soft-Credit Extension and it seems to bypass the issue, but there are many cases where I need to edit a contribution and cannot without deleting the soft-credit. Since we can't track payments toward an org or total household giving without soft-credits this leaves us with a serious issue.

Any ideas would be a great help. I am not a coder, but willing to use phpMyAdmin to look at the database or look into php code issues.

Thanks. We are on CiviCRM 4.6.22 and the latest Drupal 7 on a Debian 8 server with Apache.

Great to hear you're using my extension!

Since the extension works but the form doesn't, that strongly suggests the problem is with this form and not the database.  From your video, it looks like a JavaScript issue.  Here's what I would look at:

Press F12 in your web browser to bring up the dev tools.

Look at the "Console" tab. Are there errors that appear there on save when the save fails vs. succeeds?  If so, check out this post: Troubleshooting JavaScript in CiviCRM.  Also feel free to update your question with said errors.
Also check the "Network tab".  Find the HTTP POST request that appears when you press "Save".  Particularly, look at the "Response" subtab (I use Firefox, terminology may be a bit different with Chrome/Edge but it's all there).  There is likely a helpful clue there.