Why can't I send bulk SMS (even though I can send individually)? I'm working for Engineers Without Borders Galicia and we are migrating our volunteer managing system to CiviCRM.
I'm experiencing something quite like this bug:
https://issues.civicrm.org/jira/browse/CRM-15702

I can send SMS to individuals from his profile page, but bulk SMS are not sent , although the report says the job is completed. The users in the group (a one man group) have all emails. Our SMS provider is Twilio and there is no trace of the bulk sms. The normal ones get perfectly sent (and logged).

Any help would be very much appreciated.

Iván Lago.

IT Engineer at Engineers Without Borders Galicia

More info:
Server version: Apache/2.2.22 (Debian)
CMS:            Drupal 7.36
CiviCRM version:4.6.0
PHP:            5.4.39-0+deb7u2
MySQL:          5.5.41-0+wheezy1
SMS Provider:   Twilio (test acount)

//Edit 1: As someone noticed at CiviCRM forums, there's no such version 5.6.0 . It was a typo fail that I've copy-pasted many times. Sorry about that. CiviCRM version is 4.6.0.

//Edit 2: To give more data, I'm forcing the process of sending pending sms with the call:

  php /var/www/sites/all/modules/civicrm/bin/cli.php -u [myuser] -p
  [mypassword] -e Job -a execute

Obviously, with my user and password where necessary. The jobs get done... but no sms are ever sent :( .

Hi I'm having this exact problem and have done some debugging:

When making a new SMS there are three steps

you first select recipients
then you write the body of the SMS
you schedule the SMS

Between step one and two the table civicrm_mailing_recipients correctly gets filled with email_id set to null and phone_id set with the id of the contacts' phone numbers. This gets done in the function getRecipients in CRM/Mailing/BAO/Mailing.php, and the phone_ids get set because $mode is set to "sms".

But after completing step three this function is called again and $mode is now empty, and the email_id is set instead and phone_id is set to null.

This results in an empty result from an sql-call in the function deliver in CRM/Mailing/Bao/MailingJob.php, which try to get the recipients, but returns empty and thus there's no one to send to.

This second call to getRecipients is made by the function create, also in CRM/Mailing/BAO/Mailing.php, and it's there $mode is NOT getting set, and there's no checking if it's an sms or not:

  // Populate the recipients.
  if (empty($params['_skip_evil_bao_auto_recipients_'])) {
    self::getRecipients($job->id, $mailing->id, NULL, NULL, TRUE, $mailing->dedupe_email);
  }

So to fix that I altered it to this:

  // Populate the recipients.
  if (empty($params['_skip_evil_bao_auto_recipients_'])) {
    // check if it's an sms
    $mode = $mailing->sms_provider_id ? 'sms' : NULL;
    self::getRecipients($job->id, $mailing->id, NULL, NULL, TRUE, $mailing->dedupe_email, $mode);
  }

And now it works. When the "Send Scheduled SMS"-job is run, the bulk sms gets sent.
I've filed an issue at https://issues.civicrm.org/jira/browse/CRM-17331


Mailings are started but not sent - What is the difference between a scheduled job and "Run it now"? Our scheduled mailings have stopped working. We upgraded to 4.7, but I'm not sure this has got anything to do with it. So I'll paint the picture, and the reason why I'm asking about jobs.

Mailings that we create are started by they job scheduler as the should. I.e mailing status is changed from Pending to In Progress. But no mailings are sent out.

However the following does sent a batch of mailings:

manually running the "Mailings scheduler" job from "Administer->Scheduled jobs"
calling the mailer function from a web call ("index.php&option=com_civicrm&task=civicrm/mailing/queue&reset=1")

Test mailings from mailing composer also works. So mail sending as such definitely works.

The "Mailings scheduler" job reports no errors. And the status change of the mailing is done by the "Mailings scheduler" as it should.

So I've been trying to figure out what is different between the two ways of running the "Mailings Scheduler" job. Why does dispatching from the job scheduler not work but running manually does, even though the scheduler says there are no problems?

In summary, if I create and schedule a mailing, with a cronjob that runs every 5 minutes:

the mailing is started correctly by the mailing job
no mails are actually sent
the mailing job reports OK on every invocation
a manual run of the "Mailings Scheduler" job from "Scheduled Jobs" sends one batch of mails correctly

It seems similar to this question, which has no accepted answer so far.

It seems that there is a bug in CiviCRM 4.7, 4.7.1 and 4.7.2 which causes these symptoms (scheduled mailing stuck at "running" without actually sending, but will send using Execute Now). See here and here. I spent a day trying to find the problem before I came across the bug report, so hopefully this will save others some time looking for a misconfiguration of the mailer.

Edit: The problem has been fixed in 4.7.3.


Invalid Date with Contribution API and Custom Date Field Using the API, I try to create a contribution record.  One of my custom fields is a date field.  If I set the date to more than 20 years or so past the current date, I get the following error:

  [error_message] => custom_154 is not a valid date: 2038-01-19 08:00

If I lower this date by one month, even by one day, using the same format, it works fine.  One day past the 19th, it fails.

What's odd is that any date I put in, even 100 years out, works great on my dev box.  This is only happening on our production site.  And my dev box was a copy of production's DB and files (same Civi version, etc).  So I'm not sure what might be causing this.

I have modified the custom field and set the "Dates may be up to" to 100 years, but that doesn't help (tried other numbers as well, no use).

Is there some environmental or PHP setting that is causing this?

Sounds like you are running into the Year 2038 problem.

You have different behavior on different machines, which makes sense, and also probably will make this problem easier for you to troubleshoot. (I couldn't reproduce the error message in my environment, which makes this tricky to diagnose.)

I'm not positive what the exact culprit is for you, but here are some guesses...

Different architecture

I think the most likely explanation for your different behavior is different architecture.

Assuming both machines are unix-based, you can run uname -i to see your system architecture on each.

A result of x86_64 means you are running a 64 bit system (good)
A result of i386 (or similar) means you are running a 32 bit system (bad)

If your dev box shows x86_64 and your production server shows i386, I would guess that upgrading your server to a 64 bit OS would solve this problem.

Different software

I think it's also possible that your two systems have the same architecture, but some difference in system software that would lead to this problem, since many software projects are still in the process of mitigating against Y2k38.

I recommend comparing the versions of MySQL and PHP running on each machine and troubleshooting from there.

Please post a comment when you figure out what the culprit was for you!

Other notes

Again, I'm not certain what exactly is causing this problem, but I would say it's very unlikely to be an issue within CiviCRM.
Even for custom fields, CiviCRM stores dates as a DATETIME data type in MySQL which will continue to work until we hit the Y10k problem.
MySQL still has some Y2k38-related problems, like this one, but based on the fact that you and I are both able to use large dates on our dev boxes, I'm guessing your're not running into that


Invalid API Key provided System Details

Versions
CiviCRM: 4.7.4
WordPress: 4.4.2

When I attempt to renew an expired membership via the Renew-Credit Card option I am presented with the following error.

Payment Error Response:
Error: Invalid API Key provided: ************W4kG

We know the API keys are valid because we have other functions of CiviCRM that are authorizing succesfully with Authorize.net. Any help would be welcomed with open arms. XD.

Not so much an answer as a possible approach to debugging:

1) find out the URL that this command visits and see if you get the same result. If so it's a bug with authorize.net

2) if that URL works then it's a bug with civi. In this case get it to spit out what the api key is and check that against the vale you've entered, checking they're the same.

The error should lie in one of those two places.


How would one go about creating a workflow for activities? I'm thinking something like the following:

Employee enters an activity entitled Check Request and submits it.
It is automatically submitted to his/her supervisor(based on preconfigured rule).
Supervisor either approves request whereby it automatically goes to appropriate person to cut the check. If denied then it is assigned back to the employee.

I can deal with it not doing the assigning automatically but it does need some way to show that each level signed off on/approved the request. Just having each person put a comment in the Description section of the activity is not enough because it could easily be "cheated" by the employee just putting in comments. What's the best suggestion on having some sort of "approval history" for an activity?

Just a note: CiviCase is wayyy overkill for this.

Assuming you have server permissions to implement this, I think a binary log is the best approach.  Turn on binary logging at Administer menu > System Settings > Misc by setting "Logging" to "Yes".

At this point, you'll have a complete history of who made what changes in a SQL table calledlog_civicrm_activity.  To add a "visible change log" to the activity is a little trickier - you can probably write a custom report pretty easily, but to add the data directly to the activity page, you'd need to create a small extension that injected the data onto the activity.


How to flag all contributors with a specific tag? I am wondering if it is possible to flag all the contacts who ever made a contribution in the past with a specific tag.
When I search for the contributors and select all of them, no action is available to set a tag on them.
If this is not available through the GUI, a MySQL statement could be a solution.

Yes you can tag contacts from the search. Find Contribution list all the contributions and its not possible in current system to tag contribution, so action option would be available from Find contribution to tag the results.
As said by Andy and Pete, you will need to Advance search to the the contacts based on the criteria and choose the 'Tag - Add to contact' action.


Changes not saving when using other contact's address In our Joomla 3.4.1/CiviCRM 4.6.3 setup, we heavily depend on setting up households and linking people to them. For instance, if you become a contributor, the entire family is entitled to discounts, so we link the contribution to the household rather than individual people. Furthermore it helps us with duplicate entry of address information for people of the same household.

The situation is so that we create a household, then create contacts and link the contacts to the household using the "Use another contact's address" feature.

Recently however, after having done our initial data-entry and linking contacts to households in the above manner, I noticed that I could no longer edit most of my contact's information once their address was linked to another one.

In order to test this, I logged onto the demo site and created a fresh household and a contact. Set the contact's (home) address to that of the household using the "Use another contact's address" option and saved the contact.
Next I tried to edit the contact (using the 'Edit' button) and tried to enter an external ID. Upon clicking 'Save', CiviCRM says it has updated the contact, but in fact no change is visible.
I currently employ one of two workarounds:
1) For fields where it is possible to get an in place 'Ajax' edit-field, I use those because when I use that the change does get saved.
2) I temporarily uncheck 'Use another contact's address', make all my changes and save, go to Edit again and re-check (and select) the household address.

Of course, workaround 2 is kind of cumbersome, but unfortunately the only solution for fields that don't have an Ajax-type edit option such as External ID and contact photo.

Considering that the demo site behaves the same as my own installation, I'm inclined to submit a but-report to the Jira-tracker, but I would like to know if anyone else is seeing this same issue.

This has been confirmed as bug CRM-16588. Please consider marking this as the accepted answer, so that future Stack Exchange users with this issue can find the bug status to identify when the bug has been fixed.


strange issue(permission error with 'civicrm_contact') while installing civicrm while installing civicrm , there is a weird permission error with table 'civicrm_contact'.
i have same setup on localhost with the same wordpress version and civicrm version.
on localhost it runs fine but on live website there is an issue.

error can be seen in screenshot

Mehta,

You will need to grant mysql user permission to create table and other necessary permission. Also can you check if username and ip are matching.

HTH

Pradeep


How to avoid duplicates when donated using different email address or spelling mistake on names? Its very often happening for my donors, that they donate first with an email and then next time with another. or some spelling mistake on name or email address.
Civicrm then creates duplicates of that person.
Although I can merge those 2 contacts, how can we avoid/reduce this kind of instances?

That is a difficult area. It touches on'the safest system is the one without users' :-) You can not avoid users making typos as far as I know, you will need to have a regular deduplication process in place. Here is the process we are discussing at one of my projects:

we want the data in the system asap, so we accept everything but all new contacts go in a separate group
we have a daily process for one of the employees, looking for dedupes on a daily basis (with a fairly strict rule first and a more fuzzy one second) and taking corrective action whenever required. If new contact is fine it is removed from the group.
I hope it helps :-)


CiviDiscount: How do I disable the automatic member discount for additional participants? I was disheartened to learn that the automatic discount I created to give members a discount off the conference registration fee applies to other participants the member registers even though they are not members. I think the same goes for if the member isn't registering themselves but someone else--if they are logged in as a member, the discount applies for whoever they are registering, even though they are not members. Does anyone know how to be more restrictive with the discount code so it only applies to the member, and not their plus ones? We are using CiviDiscount 3.3.

I don't think CiviDiscount does what you want.  If you are on Drupal you could use a webform.


Import to Custom Field with Tab setting I created a custom field with a Tab setting, but when I go to Import the custom field is not visible as an option for importing.  Custom fields that are inline are visible.  Is this a limitation or a bug or something unique to my set-up?

Please check you have set your Fields to be Searchable. I think that if they are not Searchable, then they also do not show on Import. There is no difference, in terms of importing, between a Group of Fields that is set to Inline v one that is set to Tab.


Event Search results - hide Event ID and display another custom field When results are displayed in the Manage Events default page view, is there any way to change the columns that are displayed in the results?
I'd like to hide the system generated ID field that appears to be appended to the Event Name, and add a new column that displays a custom field that I have already created.
This seems like it should be a configurable thing but I cannot seem to find where this can be done.

Thanks, Joe.

I could find no way to configure the component dashboards via the user interface, but you may wish to make use of dashlets from your user dashboard - the following link provides instruction on how to do this: https://docs.civicrm.org/user/en/4.6/the-user-interface/menu-dashboard-and-dashlets/

Hope this helps,
Tamar


Create report of group count I would like to create a report which simply has the total number of people in a particular group. The reason for a report rather than just going to manage groups and looking is that I want to email this number to the client weekly preferably automatically. Under reports I couldn't see that I could select groups. Can I do this using reports? Or is there another way (I did look at automatign an sql query but the group is a smart group and I can't see how to count that)

I'm open to any solutions!

Thanks

In the reports you can use the Filters tab to select on only the members who are in the group you are interested in. You can create a new report that has the filter so you can use this for the automatic mailing. This will send the whole list if group members (you can cut down the fields. It will have the number of group members at the bottom of the pdf, but will also list all the members (which you may not want).


How can I check if Civicrm mails sent through scheduled Cron are bounced or sent successfully? I can see scheduled reminder in the activity logs and also see the Cron Logs
but  I am unsure how I can see bounced emails which was bounced while sending mail under scheduled reminder.

I even checked it under advanced search and selected "Contact on Hold" but it gave empty result.
Does that mean no emails were bounced?

I do not think CiviCRM currently offers a way to catch bounced messages from sending an email direct from a contact record, or via Scheduled Reminders.

The only 'bounce' processing that occurs, afaik, is when CiviMail is used.


Email Link Tracking not working. I am using Civi 4.7.22 on Wordpress 4.8.1
I am having problems with the link tracking. In both the email template preview and the actual sent email, links are going to a 404 Error page when tracking is enabled.  When tracking is disabled, the links work properly.
Also when editing the email template, when I click the "Browse Server" option I am redirected to a 404 Error Page.
This makes me think something in the url for tracking and the civimail feature itself is not configured properly.  Can anyone tell me where to look to fix this?
Please let me know what additional information you need.

Thank you.

I'm not sure this is quite the same problem as I had, but it may be worth looking at. I'm in WordPress 4.9, CiviCRM 4.7.22. I was getting Error 500 for all the tracked links and I resolved this by changing [civicrm.root]/extern/url.php to 644 permission and the containing directory to 755. I've had a lot of similar problems (e.g. with getting images into KCEditor with KCFinder. One of the incomplete screens I get there (problem not entirely solved) is the same as I get with the Browse server button that you mention).

I think its all to do with the fact that I have a hosted solution (SiteGround) and it insists on 755 and 644 permissions whereas a lot of WordPress files are 775 and 664, which I think is only appropriate for stand alone hosting (again need more research).


CiviCRM Programmer/Developer Job Description Does anyone have a good job description for a CiviCRM Programmer/Developer for an open position posting?

Thanks so much!

Dina

AGH just posted a job for a junior developer. https://aghstrategies.com/content/civicrm-developer


API URL needs administrator I am writing an extension which uses a CRM.api3 call in javascript on the contribution page.  However, the link that is generated is lacking the "administrator" part.  For example,

The API call to StateProvince generates this:
http://localhost:81/example.org/index.php?option=com_civicrm&task=civicrm/ajax/rest&entity=StateProvince&action=get&json=%7B%22sequential%22%3A1%2C%22id%22%3A%221042%22%7D

That gives a Internal Server Error 500 message.

However if I add "administrator" to the link:
http://localhost:81/example.org/administrator/index.php?option=com_civicrm&task=civicrm/ajax/rest&entity=StateProvince&action=get&json=%7B%22sequential%22%3A1%2C%22id%22%3A%221042%22%7D

it asks the user to log-in and then works fine.  How can I allow my extension's javascript to call the StateProvince api Get method without making the user log in?

Below is my code:

var myStateInfo = '';
CRM.api3('StateProvince', 'get', { "sequential": 1, "id": myStateId }).done(function(result) {
    myStateInfo = result;
});

You probabky have to give anonymous users the permission "CiviCRM: access AJAX API".


Event Management - notify participant on receiption of payment or on cancellation I am setting up an event using CiviEvent.

People can register and have to transfer the event fee.

What do I need to to that people get a one time notification if the payment is received (manual status change to "transfer received") or if their registration is canceled (for example to modify it).

I am aware of the automatic reminders but I did not found how to configure them that the message is sent just at the day of the status change and only at that day.

I am using CiviCRM 5.2.0 on Wordpress 4.9.6.

Thanks,

Andreas

You can do this in one of the two ways

When you edit a participant you get an option to send confirmation email. Ticking the checkbox and saving the form will send email to contact.

Other option is to send reminder for particular participant status. Navigate to Administer >> Communications >> Schedule Reminders. On Add reminder form select entity as either Event Name or Event type and then select Event Name/Event Type and then Participant status with other fields.

  Note: Make sure Schedule reminder schedule job is enabled if you
  sending it via schedule reminder. But i would prefer to use method 1
  as it is most convenient and easy.

HTH

Pradeep


How can I use custom tokens when grouping Thank You letters Being able to group Thank You Letters by contact is a great feature for both everyday receipts (we have a company that will donate via multiple smaller donations at once) and end of the year receipts.

But I'm running into a problem, if I use an if statement around a contribution token, the token no longer loops for each contribution printed. For example:

{crmAPI var='contresult' entity='Contribution' action='get' sequential=0 id=$note_id}
 {foreach from=$contresult.values item=contribution}
  {if $contribution.non_deductible_amount gt 0}${$contribution.non_deductible_amount}{else}N/A{/if}
 {/foreach}

The function doesn't display anything when I 'group by' (If I run a thank you letter for a single contribution it does work.)

In this example:

{capture assign='note_id'}{contribution.contribution_id}{/capture}
{crmAPI var='result' entity='Note' action='get' sequential=0 entity_table="civicrm_contribution" entity_id=$note_id}
 {assign var='note_count' value=$result.count}
  {if !$note_count}None{elseif $note_count}
   {foreach from=$result.values item=note}{$note.note}{/foreach}
  {/if}

It only returns "None" once, when the contributions all have notes.

How can I make the if statement run for each of the contributions selected for the thank you letter?

The error comes from {capture assign='note_id'}{contribution.contribution_id}{/capture}. When grouping, if you have more than one contribution the output will be ie. 1, 2, 3, 4 ..., try printing {$note_id} when grouping and you'll see what I mean, passing 1, 2, 3, 4 as contribution_id to the API call the response is "is_error": 1

Edit: so having a look at CRM/Contribute/Form/Task/PDFLetterCommon.php, I believe that's the correct class, there´s a $contributions variable which holds the contributions, so if you loop through it, the above could look like this:

{foreach from=$contributions item=contribution}
{crmAPI var='result' entity='Note' action='get' entity_table="civicrm_contribution" entity_id=$contribution.id}
 {assign var='note_count' value=$result.count}
  Contribution note: {if !$note_count}None
  {elseif $note_count}
    {foreach from=$result.values item=note}
      {$note.note}
    {/foreach}
  {/if}
 | Non deductible amount: {if $contribution.non_deductible_amount gt 0}${$contribution.non_deductible_amount}{else}N/A{/if}
<br/>
{/foreach}

Now this works when grouping but it won't when you are not grouping, so my guess is that you'll have to create two ThankYou templates, one for grouping and one for no grouping.

Also important to mention this is smarty they are not custom tokens.


Printing reports without showing filters Is it possible to print reports without the list of filters used displayed at the top?
Thank you

On the Title and Format tab, insert this in the Report Header just before the closing </head> tag near the bottom:

<style type="text/css">table.statistics-table { display: none; }</style>


Assigning User Roles not processing I created a user role and operations.
I tried assigning a group (access based) to the user role in the assignment section. It does not stick. I'm not sure what I am doing wrong. The role is set up as well as the operations. The group has the correct access checked off.
Advice?
Working on Drupal 7 and on the last 4.7 CiviCRM.

This is a known bug in CiviCRM 4.7.23 - CRM-21076.

If you feel comfortable editing the PHP files, you just need to add one line to apply the fix.

Otherwise, hold tight for CiviCRM 4.7.24, which is scheduled for September 6th, 2017.


How can I make a contact the case manager of several cases with the same client contact? Our organization is trying to use CiviCase as a ticketing system. So we have one case type, the "Ticket".

We can have multiple Tickets open for the same client. However, I can't assign the same contact as a "Case Manager" for multiple tickets to the same client.

So let's say client A has 2 open Tickets. On the first Ticket, I assign myself as the Case Manager. That works as expected. However, when I try to assign myself as the Case Manager of the second Ticket for client A, I get an error:

  The relationship type definition for the case role is not valid for the client and / or staff contact types.

If I create 2 cases to the same client, I am automatically assigned as a Case Manager to both of those cases. However, if I remove myself as Case Manager, and try to re-add myself, I get the same error as above.

How can I assign myself (or anybody else) as the Case Manager of multiple cases to the same client.

So, I know it's against best practices, but after digging into the code a bit, I've located a (hacky) solution to my problem. When adding a Case Manager via a case view, CRM_Contact_BAO_Relationship::legacyCreateMultiple is executed.

At line 194 there's a check for duplicate relationships. If I comment out the "continue" at line 203 within the dupe check, I can successfully assign the case manager to the case.

I would much rather not have to do a core edit, so I await a better solution.

Edit: I had run into a problem elsewhere that ended up being caused by my hack. I do not recommend implementing my hack as I'm not sure of the implications.


Handling organizations and subscriptions How would you handle the case of organizations & libraries that receive a copy of our quarterly publication? If the organizations are "members" it might be possible to schedule payment reminders and generally keep track of the money, and delivery preferences (online or postal mail). I could create a membership type of "Organization". If they are just "Organization" contacts, not members, I think it fits better in the sense they are not actual persons, but I don't know how you would deal with payments and reminders. Any suggestions appreciated.

Agree with others that Memberships is way to go. Organisations tend to have someone with fingers who can fill in an 'on behalf of Organisation'-type Membership form. This automatically creates a Permissioned Relationship between the contact person and the Org which can then be utilised for sending out renewal / resubscription reminders.

Note: if you want to rename Memberships as "Subscriptions" then be aware that text strings including words Members or Memberships often in multiple places in the System Template (Membership Receipt) messages. You may be able to fix some of these via Word Replacement but I suspect some need tackling direct in the template - possibly with an 'if' statement if you have some Membership Types for Subs and others for Members


How can I preview a contribution page I am creating a number of different contribution pages for membership levels and I find it confusing without being able to preview a contribution page to see if I have it configured correctly.
I am using CiviCRM in Joomla 3.6

Hi Paul and Welcome to CiviCRM StackExchange.

You can preview a contribution page like this:

In the Navigation click on "Contribution" --> "Manage Contribution Pages"
You will find a list of contribution pages and on the right side "Links" which has "Live contribution page" (creating actual payments) and "Test Drive" (creating test contributions BUT real contacts)

Click on the link you want to use. To see the page as a visitor would, open the link in a private window of the browser.


Can i retrieve an event that i have deleted? I have deleted an event and would like to retrieve it back.  Is it possible to retrieve it?  Please advise how to do it. tks

Do you have a (recent) backup of your site? That's what you'd need to restore.


How to Hide/Remove "Premium Block" when adding new contribution? Just wondering is there a way to update the contribution.tpl to hide the premium section please? I was not able to find in this tpl, thus asking...

You can not do this from the User Interface as far as I know. You would have to remove the block in a little extension. This is a small job but does require development skills.


Tracking external contribution sources Is it possible in CiviContribute to track multiple external (non-CiviCRM) sources of contributions to a single form?

I've used other systems where I could create a source code for, say, a banner ad and apply that source code to the donation form URL. I could then create another source code for donation links within an email. Sometime later, I'd be able to pull up a donation report for that form and see that there were X number of donations that came in from the banner ad, and X number from the email.

What we have done is to add 3 custom fields to the contribution (utm_source, utm_media and utm_campaign) that store the tracking codes, the same way google analytics work.

To make it more automatic, we have an extension that does automatically adds these codes to all the links sent from civimail, so we have end to end tracking.

We haven't yet published this extension in civicrm.org, but you can fetch it from our github repository.
https://github.com/WeMoveEU/utmaltor


Has anyone experienced member receipts not being sent out all the time when sending from the back end of a membership record? We are using 4.7.11 and Drupal 7

Our client is having issues where they try to send out a member receipt/confirmation from the backend of a member record.  Sometimes the receipt gets sent but other times it does not.  They recently upgraded their version of CiviCRM and it was not happening in the previous version.

Has anyone experienced anything similar and if so what is the solution?

Likely you'll find the answers you need in the CiviCRM debug log. Also check your server's mail logs to confirm what's actually happening, so you can identify whether there's an issue with the email being generated or delivered.

Where should one look for logs when debugging a new problem?
CiviCRM wiki: Debugging for developers

It's possibly an issue with a customised message template not being valid Smarty - we've seen this affect Smarty templates before, which use { / } to denote template markup and are not validated when edited through CiviCRM.

As a result it's very easy for admin users to unknowingly include CSS or JS in the message templates, not knowing the template will fail when executed in context of a system email.


Automatically filling custom fields with data Is there a way to automatically populate a custom field with data from other parts of Civi?
My use case is simple.  We have an arts organization that uses relationships to link "partners" together.  The problem is that this information is not always easy to see and requires many clicks to identify the details.
I would like to create an individual contact custom field that shows the "partners" name for each of the individuals that are linked by a household.
Example:

Leslie and Shawn each have individual contact records so when I
access Leslie's record I would like to see that there is a
relationship with Shawn.

It would also be great to see a household donation total in both
records.

Any input would be greatly appreciated.

Why not expose the Relationship information on the Contact Summary screen? Two ways to do this that I know of
a/ use this extension to show a block of a specified relationship type
b/ use the Contact Summary Layout editor extension but that requires resetting up the whole contact screen


Mailing Template Tables How can I keep the Mailing template (tables) from expanding once sent.  Example:  Everything looks good and formatting is fine when I send from my end but some providers (I think mostly Outlook) is delivered looking extremely wide where you need to scroll over to read.  It doesn't look professional at all!

This comes down to the difference between how email clients and web browsers render HTML.  This article from Litmus gives a good overview.

There are two solutions:

Develop emails with email-centric design.  Since Outlook is the worst offender, design for Outlook.
Install the Mosaico extension.  Its drag-and-drop email template builder takes the guesswork out since the blocks are already Outlook-friendly.


Mosaico 2.0, Drupal 7.64 - "Sorry an error occurred and your information was not saved" Installed Mosaico 2.0-beta4 on Drupal 7.64 and CiviCRM 5.7.2. I followed all installation instructions and installed Shoreditch then Flexmailer then Mosaico.

I'm getting an error - when I try and edit a Mosaico template and drag a block in, it gives the error message of "Sorry an error occurred and your information was not saved".

This happens whether I upload an image into a block, or just drag an empty text box and add dummy text, or anything in between.

This also happens regardless of which base template I'm trying to edit.

If I just try and create a new mail using the base templates, I can't preview the email as HTML or send out a test email (again, regardless of how much or how little I customise the base template) and get the same error message.

I've checked error logs and haven't found anything. All modules and core up to date, any ideas on what I can do to fix this?

Thanks

EDIT: Some of the messages from Browser console. Not sure which of them are relevant:

The resource from “[default]/civicrm/css/?r=f1Bvs” was blocked due to MIME type mismatch (X-Content-Type-Options: nosniff).

.

Error while detaching the browsing context target front: Connection closed, pending request to server1.conn0.parentProcessTarget1, type detach failed

^ That one then has a "Request Stack" of around 20 lines.

Content Security Policy: The page’s settings blocked the loading of a resource at https://raw.githubusercontent.com/favicon.ico (“default-src”).

.

Loading mixed (insecure) display content “http://mosaico.io/srv/f-default/img?method=placeholder&params=166%2C160” on a secure page[Learn More] jquery.min.js:4:19318

unreachable code after return statement

EDIT:

Checked the error log in cpanel, this is an error message we're getting at the same time:

2019-02-27 12:11:55.672900 [INFO] [203.166.241.141:58741-Q:2699717862144599633-5] File not found [/(homedirectory)/public_html/403.shtml]

Have you tried asking your web host to see if you're throwing out a server based error, like a ModSecurity issue? I regularly run into those with CiviCRM when I'm doing emails and have to get the server techs to whitelist a process for me so that it doesn't give me an error. Other than a piece of bad formed code (like when someone has copied something from Word or whatever), it's always been this kind of issue for me.


CiviMail is only sending to half the recipients We had a mailing go out to 231 recipients, and it completed within the same minute it started.  Looking at the report today, it shows that only 131 were successfully sent, the others all show as "unknown."  I looked into /var/log/mail.log and can confirm that I don't see any lines of trying to send mail for those contacts that show as unknown.  I also see records in the civicrm_mailing_event_queue table for what I believe are the same contact_ids that are unknown.  Not sure that is related.

CiviCRM is set up to use the standard php mail() function.

I'm at a loss of even where to look for the issue.  It just seems like CiviMail stop trying to send or something.  Is there somewhere I can look to find some error?  Some kind of limit we reached?

Some pointers on how to debug this a bit further. Links are to the CiviCRM demo site - visit http://dmaster.demo.civicrm.org/ and log in. (WordPress / Joomla URLs will differ.)

Check output of "Send Scheduled Mailings" scheduled task.

http://dmaster.demo.civicrm.org/civicrm/admin/job?reset=1

This is the task which delivers CiviMail messages. It's executed from cron regularly, and there's a log visible at the URL above ("View job log" for "Send scheduled mailings"). Check if there's any output there. (If there are no job log messages, it's not getting executed!)

Check your cron setup

https://docs.civicrm.org/sysadmin/en/latest/setup/civimail/#setting-up-the-cron-job

CiviCRM and CiviMail depend on cron - scheduled jobs triggered by the system. A single CiviMail may take several cron runs to deliver all the emails. This task should be executed by the system somehow. The task will be run in the console and may generate output (success or failure). It should be executed as the webserver user for filesystem permissions, and ideally set up to capture output so you can investigate if it's not working as expected.

Investigate your mailserver logs

Use tail / grep etc to observe the mailserver logs and see which addresses get messages queued for them. It sounds like you've already established that the missing messages never get there, but worth including in this list.

Get support

Professional support
Community support via chat
You can link to your question here to save explaining over!


CiviMobile not connecting in Joomla Joomla 3.9.3
CiviCRM 5.10.3
CiviMobile 1.3.1
App on iPhone
http://crm.mydomain.xx
admin account

App always comes up with "unknow error" - demo works.

THX4HELP
Frank

Make sure you are installing this extension

https://civicrm.org/extensions/civimobileapi/


Finding another case manager's cases Is there a way of using advanced search to find another case manager's cases? I find the reports really complicated but would like to find another person's cases so I can update the notes. It's really easy to find mine as I just search my cases only. Is there an easy way to search for someone else's cases too? Thanks

Go to search - advanced search.
In the dropdown where it says "display results as" choose "Cases".
Expand the relationships section.
For relationship type choose the case manager type (e.g. "homeless services coordinator is").
For target contact put the name or partial name of the manager.
Click search.

Another way is:

Go to the manager's contact record.
On their relationships tab look for the manager type (e.g. "homeless services coordinator is").
On the far right under the "More" link it will say "Manage case #7", and you can click that to go to that case.


Wordpress with Divi: How to integrate CiviCRM contribution pages? I am trying to set up a contribution page within a Divi layout. At a short glimpse, that looks well, but: this won't work! Instead, I get a lots of CSS problems and JS errors.

I could imagine to get a quick solution using some customizing within the Divi templates.

Or, I return to the original CiviCRM contribution pages, and do the CSS stuff (that is provided by Divi) somewhat manually, in order to create a contribution page looking similar to the Worpdpress Website.

Anybody out there with experience on that?

Detlev asked me to answer this question, but to be honest we also insert the CiviCRM contribution page with shortcode in the classic editor. Trying to include the shortcode within a divi module (Divi Text or Code Module) looks nice but doesn't work here as well.
So in detail I create the global site layout with the Divi Theme Builder and set all usefull global settings at the Divi Theme Customizer. Than I activate the classic editor in Divi Theme Options to get the CiviCRM button at the page editor. For style changes regarding the contribution form I use custom CSS as usual.
When I need more Divi Content above or below the contribution content I use the wordpress plugin Simple Divi Shortcode in addition. Therewith I can similarly integrate Divi modules (which I previously build at the Divi library) as shortcode in the classic page editor.


CiviCRM URL issue: CiviCRM theme is not loading after CiviCRM update to 5.26.1 version After upgrading the CiviCRM to the latest version 5.26.1, the CiviCRM theme is not loading.
I have checked on the Browser Console and I saw a CSS and JS file errors. Some of the errors are given below -

The resource from
“{{domain-name}}//srv/bindings/28583aa6b…vicrm/bower_components/font-awesome/css/font-awesome.min.css”
was blocked due to MIME type (“text/html”) mismatch
(X-Content-Type-Options: nosniff).
The resource from
“{{domain-name}}//srv/bindings/28583aa6b…wer_components/jquery-ui/themes/smoothness/jquery-ui.min.css”
was blocked due to MIME type (“text/html”) mismatch
(X-Content-Type-Options: nosniff).
The resource from
“{{domain-name}}//srv/bindings/28583aa6b…l/modules/civicrm/bower_components/jquery/dist/jquery.min.js”
was blocked due to MIME type (“text/html”) mismatch
(X-Content-Type-Options: nosniff).
Loading failed for the with source
“{{domain-name}}//srv/bindings/28583aa6b…l/modules/civicrm/bower_components/jquery/dist/jquery.min.js”.

How can I fix this issue? Please advice.
Thanks in advance!

can you add below lines in your civicrm.settings.php?
global $civicrm_paths;
$civicrm_paths['civicrm.root']['url'] = CIVICRM_UF_BASEURL . '/sites/all/modules/civicrm';


Can this Event Calendar Extension be added to CiviCRM core? Many of us look for calendar extensions with color coding.  This extension v1.1 was made in 2013 for CiviCRM 4.4, but I would like to know can it become part of CiviCRM core?

Event Calendar: https://civicrm.org/extensions/event-calendar-extension

The code quality of core is generally higher then that of the extensions. So if you can help funding it, it might improve your chances.

On the other hand, discussions lately are going in the direction to move more functionality from core to extensions then the other way around, although exceptions likely will occur.


How can I allow a participant to enrol for an event more than once? At our nightshelter we have some volunteers that perform more than one role - e.g. as a van driver and also as kitchen staff.  To capture volunteer hours we sign volunteers in to the nightshelter event (using a webform), and would like to sign volunteers like these in twice - once for each role.  Using a matching rule in the webform that allows duplicates I hoped this would be possible, but only one signin is allowed. Is there a way to allow a participant to be signed in to an event twice, with different roles?  Using 4.7.24 with Drupal

Do you already have multiple roles supported for your events?, i.e via an extension like: https://civicrm.org/extensions/event-registration-based-participant-roles

A solution that would not necessarily be graceful would be to create multiple events (one for each role) and use the form to hit the different events based on the role.


Volunteer Report Throws "DB Error: unknown error" Seemingly no matter what options I choose on the Volunteer Report it throws the error "DB Error: unknown error" and I don't see anything in the Apache error logs.

What's the best way to troubleshoot this and see the actual error? Thanks.

You are looking in the wrong place.

Check your PHP logs on your webserver.

Check the civicrm logs in /civicrm/ConfigAndLog or wherever you have configured that folder.


CiviMail - How do I change the sender email account? I am trying to send a Thank You email to our donor contributors through CiviMail. We have a message template set up. But our test emails keep showing the wrong sender email account "info@email.com" instead of our goal "donations@email.com." The latter email address is already set up in our From Email Address and Mail Accounts. The CiviCRM manual mentioned that there was a dropdown to change the sender? But I don't see this option anywhere. Please advise.

Stacy

The drop-down for the 'from' (sender) email address is on the first page of the mailing screen which is called the 'Define Mailing' screen. The drop-down is appropriately named 'From' with an asterisk by it to denote that it's mandatory. It's likely that you need to look at the 'from' email address table (Administer/CiviMail/From Email Addresses) and check what the default is.  This assumes you're using 4.6 or greater.


403 - Forbidden Error on Dashboard Modules We suddenly started receiving a "403 - Forbidden Error" on the dashboard modules. This is not an issue itself, however, at the same time the gridlines on the PDF reports have disappeared. Are these two issues connected? Either way any reason as to why the gridlines have disappeared?

We are running CiviCRM 4.6.10 on drupal 7.

Yes, both could be related when the URL settings are wrong.
Admin - Settings - Resource URLs and
Admin - Settings - Cleanup Caches and Update Paths

I have seen it gone wrong by things as simple as: enforcing www or https.


How to set a id attribute to button? I am creating a button using php pear.

  Button (php code)

 $this->addButtons(array(
  /**
   * Array for 'next' button
   */
    array(
    'type' => 'next',
    'name' => E::ts('Next'),
    'isDefault' => TRUE,
  ));

  Template code

<div class="crm-submit-buttons">
 {include file="CRM/common/formButtons.tpl" location="bottom"}
</div>

I want to add a id attribute to that

I believe you cannot set id to a button using php however you can define your own class for the button and use JS to set the id for that class.

Here is the snippet to add class for button

$this->addButtons([[
  'type' => 'next',
  'name' => E::ts('Next'),
  'isDefault' => TRUE,
  'class' => 'custom_class', //adding class for button
));

HTH

Pradeep


Civi 5.x not recognizing PHP 7.1 in Drush This is the second site I've noticed this on - in both cases, the site is running PHP   7.1.32, as reported on the Drupal system status page.

Error message:

CiviCRM requires PHP 7.0.0+. The web server is running PHP 5.6.40. Drush command terminated abnormally due to an unrecoverable error.

The Drush commands seem to execute, though. The commands have nothing to do with Civi, BTW - these are standard install/enable Drush commands.

See related issue at:

Errors in functions.php after installing 5.16.2 on Drupal 7

Any guidance appreciated...

That sounds like your command line version of php is different to the one being used by your webserver.

See eg https://drupal.stackexchange.com/questions/44967/the-php-version-is-not-correctly-detected


Bulk delete activity based on criteria I want to bulk delete an activity (activity ID 65) across all contacts within one group.

I want anyone outside this group to keep the activity.

Is this possible? The search criteria in find activities is limited.

CIVICRM 4.6.27 - Drupal 7

Thanks,
Andy

Try advanced search.

Search for contacts in group "x"
with completed activities of type "y"

From search settings=- set "Display results as" to activities.

You should be able to delete the activities from the search results options.


How to Create a Smart Group before Anyone Belongs to it? The usual way to create a Smart Group is :

Select (via Advanced Search) the contacts who meet the Search Criteria
Create the pertaining Smart Group

But is it possible to create a Smart Group before anyone meets the search criteria (so that the Group is automatically filled as soon as one contact meets the criteria) ?

To create smart group from UI you need to have at least one result but from code its possible to do so.

From UI i would create a test contact so that it matches the smart group criteria. Then Find contacts >> create smart group, Delete the test contact permanently.

Cheers

Pradeep


Random Occurrences of Blank Contribution Thank You Pages This is strange. Some donors are donating successfully but getting a blank thank you page. They get an email confirming their donation, but nothing on screen. D7 CiviCRM 5.31, Omnipay Cybersource
I can't seem to find any issues in the log either.
The URL at the blank screen is /civicrm/payment/ipn/1
When it works correctly, the thank you screen has a url of  civicrm/contribute/transact?_qf_ThankYou_display=1&qfKey=**********************
Any ideas?

This issue is related to Drupal 7 (possibly wordpress), PHP prior to 7.3 and Chrome 80+
To fix, upgrade to PHP 7.3 and add the following text somewhere in your drupal 7 settings.php file.
ini_set('session.cookie_secure', 1);
ini_set('session.cookie_samesite', 'None');

or you can style it like we did so you remember why you added this.
/**
 * Fix for Chrome Cookies Issue - See:
 * https://www.zoocha.com/news/how-fix-chrome-80-cookies-issue-drupal &
 * https://lab.civicrm.org/dev/core/-/issues/2059
*/
ini_set('session.cookie_secure', 1);
ini_set('session.cookie_samesite', 'None');

Clear CiviCRM and Drupal caches.
Clear browser cookies and cache.
(Unfortunately for your returning users, unless you have them clear their browser cache/cookies, they might experience the blank screen again.)
If you do not want to upgrade to PHP7.3 the zoocha article explains how to fix in previous versions.


Initialization Error after restoring a Wordpress site from backup This morning, a plugin update broke the website, so we did a restore from a backup from the previous day. CiviCRM was working properly at the time, but now when we try to access it, we get the following error:

Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => simpleHandler
        )

    [code] => -18
    [message] => DB Error: no such table
    [mode] => 16
    [debug_info] => SELECT *,  config_backend, locales, locale_custom_strings
 FROM civicrm_domain

 WHERE (  civicrm_domain.id = 1 )

 [nativecode=1146 ** Table 'frenchf_crm.civicrm_domain' doesn't exist]
    [type] => DB_Error
    [user_info] => SELECT *,  config_backend, locales, locale_custom_strings
 FROM civicrm_domain

 WHERE (  civicrm_domain.id = 1 )

 [nativecode=1146 ** Table 'frenchf_crm.civicrm_domain' doesn't exist]
    [to_string] => [db_error: message="DB Error: no such table" code=-18 mode=callback callback=CRM_Core_Error::simpleHandler prefix="" info="SELECT *,  config_backend, locales, locale_custom_strings
 FROM civicrm_domain

 WHERE (  civicrm_domain.id = 1 )

 [nativecode=1146 ** Table 'frenchf_crm.civicrm_domain' doesn't exist]"]
)

Any idea on what this means and how we can go about fixing it?
Thanks.

As you can probably tell, CiviCRM is looking for a table that doesn't exist (at least where it's looking).  Given your context, there are a few possibilities for why.

CiviCRM creates a bunch of tables that are independent of WordPress and about which WordPress has no knowledge.  They may be in the same database as WordPress, or they may be in a separate database.  The connection to the database is stored in wp-content/plugins/civicrm/civicrm.settings.php.  There, you'll see two lines of database information: "CIVICRM_UF_DSN" for the WordPress database connection, and "CIVICRM_DSN" for the CiviCRM database connection.

So, the possible situations:

You have separate databases, and you have been only backing up the WordPress database.  You'll see this if your database connections in civicrm.settings.php differ from each other.  The good news is that if this is the case, you might be able to find the old CiviCRM database sitting around somewhere, and it would probably be unaffected from a bad plugin.
You were only backing up the WordPress tables.  Even if CiviCRM is in the same database as WordPress, if you're using a WordPress tool for backup, it might decide to only handle certain tables.  If this is the case, you may be out of luck unless you still have the pre-restore database around.
You failed to update civicrm.settings.php after restoring the site.  If you had Database A running the site, and you restored the backup to Database B, you'd need to update wp-config.php and wp-content/plugins/civicrm/civicrm.settings.php.  If you neglected to do the latter, and you got rid of your old database, you'd see this.  Likewise, if you simply changed the password on the database user and forgot to update civicrm.settings.php, you'd have this sort of problem.


Using a Java Applet in CiviCRM Extension Does anyone have any idea how to get a Java Applet to work in a CiviCRM Extension? In particular, I'm trying to load the QZ-Print applet.

The first problem I'm having is getting the location of the jar. Currently the code to embed the applet is (where the applet is in www/qz-print/ dir on the localhost):

<applet id="qz" name="QZ Print Plugin" code="qz.PrintApplet.class" archive="/qz-print/qz-print.jar" width="100" height="100"></applet>

The code is in the main page TPL file for my extension. This seems to (sometimes) completely hang the web page/browser... On the occasion where it does load the page, I get the following: "SecurityException JAR should not contain JNLP-INF/APPLICATION.JNLP".

Anyways, I'm at a loss for what to do right now. Any help on getting an applet to work with an extension would be greatly appreciated.

UPDATE:
So I looked into this and realized that I need to load the JNLP file. So I'm doing that now. HOWEVER, I'm having trouble getting the path to the jnlp/jar file. When working with an extension paths aren't typical.

How does one go about getting the path to the JAR/JNLP within an extension?

Thanks!

It looks like the archive path is incorrect.
You can make it an absolute path by assigning it to the template from php:

$path = CRM_Extension_System::singleton()->getMapper()->keyToBasePath('myextension');
$this->assign('basePath', $path);

Your archive url can then begin with the smarty variable {$basePath}


Changes in Quick Search/Search It seems that the ability to search on a list of last names (delimited by a space) was removed from searching.  We are using version 4.6.4.  Whether or not this was intentional, we need to be able to do this.  Searching for each name (usually 80+ names) will be a much bigger pain. Is there any other way to do this search?  We do know search builder can be used but hoping for a better, quicker way.

Thanks

This is by design - see https://issues.civicrm.org/jira/browse/CRM-15653 for an explanation and the reasoning.

Overall, I think this change was the right one - I worked with someone at a California-based public health organization who could never look up "California Department of Public Health", because basically all the organizations in their database had one of those words in the name!  I'm sorry to hear that this change is a bug rather than an improvement for you.

I think Search Builder is a pretty good solution to this problem - you said you want something "better/quicker".  I'm not sure how you're using Search Builder, but I would use "last name" "regex", then the names separated by the pipe character (this one: |).  If that's still too much, and you're a developer (or have access to one), you can of course reverse the code changes in CRM-15653 on your local installation.  If you go that route, be sure to check out CRM-15442, which is very similar.


Putting Together A Mailing List I want to put together a mailing list of all primary individual members (current, lapsed, expired) who have no email address.  How do I do this?

You can use Search Builder (under the Search menu).  On the first Search line, search for

  Contacts > Email > Primary > Is Empty

On the next search line(s), set your criteria for the members piece.

EDIT: And then you can save as a Smart Group which you can use as your List


How can I delete a custom field (other than GUI)? I had a custom field group with a disabled field.

When I tried to delete the field (ID=59), the Warning window froze with CRM logo rotating.

When I tried to enable the field, it gave Error about DB Constraint Violation, but apparently enabled the field.

When I tried to delete the field then, the Warning window froze again with CRM logo rotating.

The screenshot contains combined messages - error from action 2 and warning window from action 3.
How can I fix the issue?
P.S. Editing the field 59 does not work either (also frozen logo after clicking save).

I am running CiviCRM 5 on Drupal 7.

There are a few ways to delete a custom field other than the UI:

Use the API Explorer and then entity CustomField / CustomGroup. That will allow you to delete them, but you will need to know the ID of the CustomField or CustomGroup. You can find that with the API Explorer as well. More info: https://docs.civicrm.org/dev/en/latest/api/#api-explorer
In the database, but will need to know exactly what you are doing! This is not something to recommend without a sound knowledge of the CiviCRM database. You have to make sure all the tables and data are correct and in sync with each other. There are a few tables involved:
civicrm_custom_group, which holds the details of the custom group. One of the columns is the table_name, which will hold the name of the table where the actual custom data is
civicrm_custom_field, which holds the details of the custom fields, linked with the column custom_group_id. One of the columns is column_name, which is the name of the column in the actual table with data


Membership Receipts from Civi webform for On Behalf of Organisation (Civi 4.4.6, Civi Webform 7.x.4-10, Drupal 7.37)

From what I read on the Civi webform wiki (https://wiki.civicrm.org/confluence/display/CRMDOC/Webform+CiviCRM+Integration), receipts should be generated from the attached contribution page just as they would from the contribution page itself.  Is this not correct?  What is happening with our client's is that none of the usual info about the organization for whom the user is joining/renewing is included in the email, so when the organization gets the copy of the receipt, there's nothing to identify who it was (other than, of course, the email address).  Is there some trick to passing all the necessary information over?

Here is the image (identifying info awkwardly scribbled out - graphic artist, I am not):

In that case you need to manually add tokens to the receipt - message template  - so you can provide more information to the receipt -

Creating new tokens - https://wiki.civicrm.org/confluence/display/CRMDOC/Tokens

if you need to add some contact tokens then refer to the below -
Can I put custom field tokens into a message template?

I guess this helps !!!


With upgrade to 4.7.17, I get "invalid price fields" warning Since the upgrade to 4.7.17 (from 4.7.15) I get a popup warning about invalid price fields.  The fields are about memberships, but we don't use the membership component.  I would like to delete those fields, but I don't see any associated price set and there is no option to delete the fields.
At a minimum I would like to hide this warning but I don't see how to do that either.  Any suggestions?

Invalid Price Fields
the following Price Set Fields use disabled or invalid financial types and need to be fixed if they are to still be used.

Price Set   Price Set Field Action Link
Membership Amount   Membership Amount   View Price Set Fields
Member Signup and Renewal   Membership  View Price Set Fields

Found a hacky solution.  In phpmyadmin, in the civicrm_price_set table, I changed the "is_reserved" field from 1 to 0.  At that point, the price field could be deleted in the UI, and all seems to be well.


Export contact info from MailChimp I just tried to export all my contact info from MailChimp. Basically, it worked and I am now the happy owner of a pretty CSV file... but all the data is saved in only one column, one row per contact.

For example, my data is stored as

axel.grunt@zukunft-statt-autobahn.at,Axel,Grunt,"Lieber Herr Grunt",,J,J,J,,,"Zukunft statt Autobahn",,,,"Deciders only, Deciders auch","progressive GroÃŸspenderInnen",Newslettertest,,,html,5,,,"2012-09-13 19:32:42",184.173.181.254,48.2092000,16.3728000,1,2,Europe/Budapest,AT,9,"2013-10-28 08:14:49",26171677,963968a07a,

When I want to import the data on CiviCRM, it can't read the data but thinks it would be a terrifying misspelled email address.

Any solution?

If you are working with Microsoft Excel 2000 or later, you can use the following steps.

Select the "Data" tab. You should see an option that say "Text to columns". Highlight your column and choose that. A little window should pop up to walk you though, but you'll want to choose "Delimited" (next) and that your separator is a comma. When you click finish, this will put the data between each comma into a new cell.


CiviMobile App error when editing phone CiviMobile app on Android errors when trying to add or edit a phone number.

clicking save returns error "Please enter phone number"

App occasionally crashes when trying to add a phone number.  Other fields edit and save as expected.

CiviCRM 5.14 on Drupal 7.67
extensions:
CiviMobileAPI (com.agiliway.civimobileapi) version 3.1
CiviMobile (com.webaccessglobal.module.civimobile) version 2.0

Android App

Anyone else having this issue?  Thanks

Mine is still in testing, but yes, also seeing API errors on mobile app start. CiviCRM 5.14.1, Drupal 7.67.
There has been a new 3.1.1 release of CiviMobileAPI since your post you may want to try? I'm still seeing an error on app start with it.

Not sure about your CiviMobile, the app on play is com.agiliway.civimobile? Otherwise I don't think this: https://civicrm.org/extensions/civimobile/version-20 is required, or at least, it's an old dev and not related to the current API?


Howto Edit the billing name on a billing address CiviCRM 5.16.3

In the billing address section on contact view, we can see a full Name and Address. When we edit or quick edit the contact, the full name is not seen or editable. How can we edit it?

Note: as to how that name is getting there, my current guess is via webform civicrm or an extension but I need to verify. I believe what is happening is someone is using another persons credit card to pay, and it's updating the billing address with that persons name. Then, when a receipt goes out in the future, some of our templates are pulling that instead of the billing name/address used in the checkout form (I think..)

This can be done via settings at civicrm/admin/setting/preferences/address?reset=1
Look for the field = Address Name
in the section Address Editing
it can also be removed from display at same screen, look for Address Display and remove
{contact.address_name}


Our donation pages are down There are code snips and what not at the top of our donation pages....and people cannot donate.  Help!

Andrew West's comment seems to be correct.  There are two different things happening here - or three, depending on how you look at it.

The most important is "Permission Denied".  I just visited your site, and confirmed you're running Drupal as your website software.  Go to this page:  www.mcuw.org/admin/people/permissions.  In the "CiviCRM" section, find "CiviContribute: make online contributions", and make sure that it's checked off for both "Anonymous User" and "Authenticated User".  Note that you'll need to be a Drupal administrator to view that page; if you're not, please contact your website administrator.

Second - you're getting notices on the top of the page.  Those notices shouldn't affect anything, but they're bad for the donors to see, it erodes trust.  You should hide those.  A good explanation of how to do that is here.

Third - I'm not sure why you'd be getting those notices at all.  You may want to ask your website administrator if there are any customizations they can think of that might lead to those notices appearing.


CiviMail Change the Track Opens Tracking URL to a pretty URL I'm using the Track Opens option in CiviMail.

In CiviCRM for Wordpress the regular mail tracking url looks something like this: https://mywebsite.co.uk/wp-content/plugins/civicrm/civicrm/extern/url.php?u=123&qid=1234

It is fine for a lot of recipients and tracking works perfectly.

However I have had reports that because the url links to a file within the Wordpress plugins directory, some systems suspect the links to be malware or spyware so the Urls are removed from the email.

Without hacking any civi files, is it possible to change the Url to something pretty like: https://mywebsite.co.uk/civimail/?u=123&qid=1234

I'm thinking it would involve the htaccess file?

Thanks

I figured this out and my solution is as follows:

Change the CiviCRM Resource URL to something of your choice e.g. https://mywebsite.co.uk/mycrm
Add a mod_rewrite rule to your htaccess file (above the Wordpress rules):

<IfModule mod_rewrite.c>
RewriteBase /
RewriteRule ^mycrm(.*)$ /wp-content/plugins/civicrm/civicrm$1 [R=301,NC,L]
</IfModule>

Hope this helps someone.


A/B Tests not tracking opens or clickthroughs I'm testing out the A/B testing feature and I'm not getting any useful information. It just reads "Tracked Opens" as "n/a" and reads zero for click throughs and unsubscribes. This is despite me opening the emails and clicking through on links.

We are using tracking on A/B testing and it works fine, it might be something about your configuration.

Can you check on the source of the received message if
- the links you put are transformed into something else (ie. if you put google.com, it will be replaced by yoursite.org/sites/all....)
- you have an extra image with a src=yoursite.org/...

if they aren't them, you might have disabled the tracking, could check on the tab in your mailing if they are checked (track open and track clicks?)


Backlog of scheduled reminders We have a civi install with imported memberships, which have ended between 1 month and two years ago. We would like to start sending out reminders but when we send out sheduled reminders (with repeat option) it looks like it only sends when the exact period is matched.

I would have expected that it would send out mails to all memberships that have ended at least one month ago and then repeat following the settings in the repeat option... Can anyone help me with the logic of this (and send out reminders for these old expired memberships?

Thanks!

I've had this problem

How to safely restart Scheduled reminders

And got a really clear and succinct answer.


How to modify/test Upgrade/Incremental/sql..sql script? I am following instructions here: https://github.com/civicrm/civicrm-buildkit/blob/master/doc/daily-coding.md#upgrade-tests to add and test a schema update - the upgrade is to add 2 columns to the core event table. A (perhaps stupid) question, do I update the latest version of the versioned (e.g 4.6.*alpha.sql, 4.6.*beta) files in ..Incremental/sql? Since this is not a fix/addition to a particular version but part of brand-new functionality, is that a good assumption?

If you're targeting the 4.6 branch, then put the upgrade script in the latest 4.6.X.mysql.tpl. If you're targeting the master branch, then use 4.7.alpha1.mysql.tpl.

As a rule of thumb, we try to minimize schema changes in stable release branches (e.g. 4.6.x) and instead put them in master. But that's not absolute.

The difference between a bugfix and a new feature is a bit academic. When a user installs vX.Y.Z., the upgrader needs to apply all schema changes needed to match vX.Y.Z.


Adding custom fonts in mosaico Basicly what it says in the title. How do I add custom fonts within mosaico templates, i.e. how do I make them selectable in the template design process?

There is the answer to my question on github and it goes like this:

  In the header of the template (the mso comments are there because
  Outlook is able to read webfonts declaration but then "breaks" any
  declared font):

<!--[if !mso]><!-- -->
<link href="https://fonts.googleapis.com/css?family=Your+Web+Font" rel="stylesheet" type="text/css" />
<!--<![endif]-->

  In the @supports -ko-blockdefs section of your template you add your
  font to the select box:

  face { label: Font; widget: select; options: Your Web Font, Fallback, serif=Your Web Font|Arial, Helvetica, sans-serif=Arial|Arial

  Black, Arial Black, Gadget, sans-serif=Arial Black|Comic Sans MS,
  Comic Sans MS5, cursive=Comic Sans|Courier New, Courier New,
  monospace=Courier|Georgia, serif=Georgia|Impact,
  sans-serif=Impact|Lucida Console, Monaco, monospace=Lucida
  Console|Lucida Sans Unicode, Lucida Grande, sans-serif=Lucida Sans
  Unicode|Times New Roman, Times, serif=Times New Roman|Verdana, Geneva,
  sans-serif=Verdana}

However this doesn't work for me. When I add this to versafix-1 (mosaico/templates/versafix-1/template-versafix-1.html) I still don't have the font I specified.

Here's the begining of versafix-1 template I eddited

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta name="viewport" content="initial-scale=1.0" />
  <meta name="format-detection" content="telephone=no" />
  <title style="-ko-bind-text: @titleText">TITLE</title>
  <!--[if !mso]><!-- -->
  <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" type="text/css" />
  <!--<![endif]-->
  <style type="text/css">
    @supports -ko-blockdefs {
      id { widget: id }
      size { label: Size; widget: select; options: 8|9|10|11|12|13|14|15|16|18|20|22|25|28|31; }
      visible { label: Visible?; widget: boolean }
      color { label: Color; widget: color }
      radius {
        label: Corner Radius;
        widget: integer;
        max: 20;
        help: Attention - this property is not supported on all email clients (i.e. Outlook)
      face { label: Font; widget: select; options: Open Sans, Arial, serif=Open Sans|Arial, Helvetica, sans-serif=Arial|Arial Black, Arial Black, Gadget, sans-serif=Ari$
      }

What worked for me with google-fonts is the following:

After the  tag add the include path generated from google-fonts, in this example Modak and Open Sans.

  @import url('https://fonts.googleapis.com/css?family=Modak|Open+Sans');

Then in the @supports block, in the face part add the fonts separated by '|', to be included in the blocks:

  face { label: Font; widget: select; options: Arial|Impact|'Open Sans', sans-serif|Times New Roman|'Modak'}

Edit: local fonts can be included by putting them on accessible on your server, and then import them in the template like this:

@font-face {
  font-family: 'your_font_name';
  src: url(https://example.com/files/fonts/your_font/your_font_file.ttf) format('ttf'),
    url(https://example.com/files/fonts/your_font/your_font_file.woff2) format('woff2');
        }

Then add those to the dropdown menu in the @supports block same as above.

That way your fonts can be loaded from your server.


Wrong calcuation of event.balance value in reminder email A client is reporting that the value for the {event.balance} token sent via a reminder is incorrect. It's showing a negative balance. The two documented cases (via forwarded emails from the event registrants) were both case where one partial payment had been made.

The replacement for {event.balance} should be:

Total registration fees minus partial payment(s)

Instead the token was replaced with the following value:

Event balance minus partial payment

Any ideas about what might be causing this or how to troubleshoot it?

Site running CiviCRM 4.5.8 and Drupal 7.36. PHP is 5.4.30. MySQL is 5.5.42

It's possible this is the culprit: net amount sometimes incorrect for events involving partial payments

You could update to 4.6.2 if that's possible, or perhaps review out the commit and roll your own patch.


How do I use import and export php classes with aegir? How do I use export.php and import.php to work with multiple sites run with Aegir.

All of them share the same files (php classes) and when I specify the site with -s mysite.org I get nothing (literally the command executes without error it just doesn't output anything).

When I run without spcifying mysite

php export.php -e Contact

  PHP Warning:
  include_once(/var/aegir/platforms/beta/sites/all/modules/civicrm/../../../default/civicrm.settings.php):
  failed to open stream: No such file or directory in
  /var/aegir/platforms/beta/sites/all/modules/civicrm/civicrm.config.php
  on line 118 PHP Warning:  include_once(): Failed opening
  '/var/aegir/platforms/beta/sites/all/modules/civicrm/../../../default/civicrm.settings.php'
  for inclusion (include_path='.:/usr/share/php') in
  /var/aegir/platforms/beta/sites/all/modules/civicrm/civicrm.config.php
  on line 118

To execute a PHP script in the context of a selected site, use drush php-script or drush scr.

In your question you specified the site using -s example.org, and I suspect you may be looking for -l (--uri) rather than -s (--simulate) to determine which site to load. See the first section of drush help output for these flags.

If -l doesn't do it, you can also use aliases which Aegir automatically creates for each site - you should find that drush @example.org vget site_name works and returns the name of the expected site, because there will be alias files in eg /var/aegir/.drush/EXAMPLE.ORG.alias.drushrc.php for each site.

So, you probably want something like: drush -l example.org scr /path/to/export.php

If drush vget site_name returns the name of the expected site, you've confirmed Drush can connect to Drupal.
If drush cvapi Contact.get returns contacts from your site, you've confirmed that CiviCRM works when called via Drush.
If drush scr import.php or drush scr export.php still don't work, that sounds like those scripts don't bootstrap "normally" for CiviCRM and there may be work to do to get them to behave.

I don't actually know how import.php/export.php are expected to behave - so I might have led you astray. Looking at them, I'd expect export.php probably works via Drush, but I see import.php is looking for $_GET['file'] which Id' expect to require special treatment for Drush use (but I see this SE answer says it works using --file=blah.csv, and that you should call them via php import.php not drush).


Why have all my custom Civi fields stopped showing up in Drupal view? Title says it all really. Sometimes, mostly after an upgrade in my experience, I will go to edit a View that uses CiviCRM Custom Fields and will find messages like 'broken handlers' etc. How can I fix this?

In most cases this is fixed by running drush cc all. I don't know what the circumstances are that causes the upgrading 'clear caches' to not suffice but this seems to be the fix.

If 'Clear Caches' does not suffice you could also try Structure > Views > Settings > Advanced, Clear Views' cache but I have never needed to do that.


Contribution Reports and disabled Financial Types What is the expected behaviour for Contribution Reports in regard to disabled Financial Types (for example, a Financial Type that was used some years ago but is not used for current contributions)?

Should the FT for contributions of a Financial Type that has been disabled show up in the reports?
Should we be able to run a report with a Financial Type that is disabled as a filter?

I would expect the answers to be yes and yes, but I'm not sure if everyone shares that assumption. At least currently, the functionality seems to be no and no (the contribution shows up but the FT column is blank; the filters only allow active FTs), so I'm wondering if it's a bug or if it's meant that way.

I'll go with "Yes" and "Often".  This is a long-standing issue that extends beyond financial types and reports.  It's also searches, and almost anything that can be disabled.

An elegant solution might require some thinking through.  My suspicion is that we'll need a new database field to distinguish these two use cases.  You definitely DO want some disabled option values not to be searchable.  I'm not sure if you want to ever not have them appear though.


Transferring contacts from one CiviCRM installation to another I have two different Civi installation on different servers. I want to move all contacts from one CRM to another one(to a new group). Total contacts are more than 15k. I have facing some error if I export more than 1000 contacts and the same thing on Import also If I tried to upload more than 1000 contacts getting 500 server error.

Please let know if there is any software available for transferring contacts.

_Ashwin

Please increase your max_execution_time

if you are using Xamp look for following file and change

xampp\phpMyAdmin\libraries for config.default.php

change
$cfg['ExecTimeLimit'] = 300; to 0 - for unlimited

this should fix the issue


How do you set CiviCRM to be the default page for users in Wordpress? In Drupal, you can go to Configuration menu > Site Information and set http://mysite.org/civicrm to be the default front page.  That way, once a user is authenticated, they're dropped right on to the CiviCRM dashboard.  How do you perform an equivalent task in Wordpress?

You could try Peter's Login Redirect to set the landing page to /wp-admin/admin.php?page=CiviCRM after successful authentication.

see https://wordpress.org/plugins/peters-login-redirect/


Strict warning: Non-static method CRM_Core_BAO_UFGroup::profileDisplay() As administrator I get the following error message:

Strict warning: Non-static method  CRM_Core_BAO_UFGroup::profileDisplay() should not be called statically in CRM_Core_BAO_UFGroup::profileDisplay() (line 2790 of <host>/sites/all/modules/civicrm/CRM/Core/BAO/UFGroup.php).

I know I can suppress such error / warning messages via Drupal and/or amending civicrm setting somewhere. But it is annoying that these messages are there at each transaction. Is there a fix?

Thank you.

David

Can you check if you are on the latest version civi?

To fix your notice, you/a developer need to correct civicrm source code, ie. modify CRM/Core/BAO/UFGroup.php so it doesn't call statically the method, or change the method so it's a static one.

the change in itself is a one line of code, but checking what else is calling that profileDisplay method and if it's always static or some are using it "normally" needs a bit of analysis.

Once you have done that analysis and tested it locally (in a civicrm installed from git), you need to fork civicrm-core, commit your change on your repository and do a pull request

It's hopefully pretty clear in the wiki... and not as complicated as it might sound, come on IRC if you get blocked on your way:
http://wiki.civicrm.org/confluence/display/CRMDOC/Contributing+to+CiviCRM+using+GitHub


Error when assigning Activity to a contact We're on 4.6.8 and having an issue where when saving an activity which is assigned to a contact the following error is displayed:

Sorry but we are not able to provide this at the moment.
Sorry an Error Occured
MysqlColumnNameOrAlias is not a recognised (camel cased) data type.

If it is not assigned to anyone there is no error. However, if you click back and go into the record again the activity has in fact been saved. Not a massive issue as the activity is saved but it's not good from a usability perspective.
From looking online it looks like the following code is where the error is being generated from:
https://github.com/civicrm/civicrm-core/blob/master/CRM/Utils/Type.php
Any ideas what is causing this?

Ah, you have the answer in your question. If you look at your reference to the current code, it should be recognizing that MysqlColumnNameOrAlias instead of generating the error in the default clause of the switch.

So I checked the history of that file, and the MysqlColumnNameOrAlias case was only added mid-last year.

Conclusion - upgrade your Civi to the latest 4.6 (which you should do anyway because of security reasons).


Indices repair stopped by error I stuck with the error. When I try to repair indices I get error message:

CREATE UNIQUE INDEX index_entity_id_entity_table_account_relationship ON
civicrm_entity_financial_account (entity_id, entity_table,
account_relationship) [nativecode=1062 ** Duplicate entry '0-
civicrm_financial_type-12' for key
'index_entity_id_entity_table_account_relationship']
[type] => DB_Error

If I look into table see no problems.

Summarizing the discussion from the comments.

The error indicates that the table contains a duplicate row.
After the row was updated the index could be created.
To find the correct values for the row was done by examining the linked tables.


Fetch Node data from drupal into CiviCRM I am interested to know if it is possible to fetch node data from Drupal into CiviCRM.

Is there anyway to do this?

My End Goal is to to populate a "select list" with node titles from drupal and depending on which title you choose, fields values will change.

Thanks,

Moe

On which forms do you wish to add the fields/logic?

I feel like there are two questions here:

1) How to build an arbitrary list of options from a third-party source of data (Drupal)

2) How to set the value of one field based on the value of another fields.

For (1), arbitrary lists, you can look into hook_civicrm_fieldOptions, which can dynamically modify the option list for any field. I believe the value still needs to be valid, but if it's a select that stores an integer or a string, I think it's OK.

For (2), I have an extension called fieldconditions, but it is not end-user oriented because it requires writing custom javascript (I would be happy to improve it, if anyone is interested).

Alternatively, CMS-specific form builders (Caldera for WordPress, Webform for Drupal7) might be able to help, until formbuilder is ready (also known as afform).


Is smart/fuzzy searching possible in CiviCRM? I'm not sure what the feature is called, but Google seems to collapse all accented letters to their base character when indexing. So a search for "Nandor" will find a record "Nándor". But searching my Civi database for the unaccented name finds no results.
Is there a setting (either in CiviCRM or MySQL) or a plugin that would make such searches work?

This feature exists. It is part of MySQL and called collation. You can read about the background on https://dev.mysql.com/doc/refman/5.7/en/charset-collation-effect.html .

In my test database a search on Nandor returns Nándor. Reason last_name column is defined as

 `last_name` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Last Name.'

and the collation utf8_unicode_ci defines them to be the same.

Altering the setting with

ALTER TABLE civicrm_contact MODIFY last_name varchar(64) COLLATE latin1_bin;

has the effect that they are not considered the same anymore.

What is your collation setting?


What is the best approach for using CiviCRM as an app on mobile? What extension is by now the most succesful in displaying CiviCRM content in a mobile app?

(If you have any personal experiences, please tell about them...)

The combination of the two extensions CiviMobile (thanks @rahulbile) and Summary fields is very interesting.

The CiviMobile extension is poorly documented, but after a while I figured out that it uses profiles to choose which fields to display. Also different profiles for each contact type: Individual, Household and Organizations. It took me more time before I figured out that it used the restricted profile_ids 4, 5 and 6, which can be edited to add more fields.

Then I could also use some of the fields from Summary fields, to display relevant contribution informations as search result on the contact.


Contribution Receipt The contribution receipt that is emailed to a donor has the person's first name such as:
Dear Albert,

Is there any way to have it also include the last name
such as:
Dear Albert Jones,

Yes - you can change the default email greeting by navigating to Administer > Communications > Email Greetings - the system will use whatever format is marked as the default unless a different format is indicated in the Communication Preferences of contact's record.

Hope this helps!


Need to search for the contacts who's email greeting or Addressee fields have been left blank When trying to send out mass emails, there are contacts (members) who's email greeting or addressee fields have been left blank in their contact information. Is there a way to search for all these individuals and have them on a list, that way I can go through and add their email greeting?
Trying to make sure that emails sent out to the public do not start with... "Dear ___," and are more personable.
Thank you.

IF you use Search Builder you should be able to build a query like
Contacts + Addressee + Is Null

Ditto for 'email greeting'

Good luck


Civicrm views bulk operations contact delete operation not working I added the Civicrm tables to the settings.php according to the database integration guidlines at civicrm/admin/setting/uf?reset=1
I enabled watchdog logging for civicrm
I installed civicrm entity.
I installed views bulk operations
I selected the Civicrm contact views bulk operations field in a view, and the Delete operation.

The delete operations appear to throw no errors..but the contacts are not deleted.

What could cause this?

It worked when I just tested it. You should know that Civi can be configured to hold the contacts in 'trash', so they might look like they are still there, but you will notice they are marked for permanent deletion and don't show up in any reports.

You should change your View to filter by "Contact is Deleted" set to 0.


Why is offline contribution sending an online receipt? In our situation we upload contributions into CiviCRM and want to send a receipt.

If we upload a set of contributions, find them using Find Contributions and then edit each one, we can tick "send receipt" and the donor is sent an offline receipt with lots of useful data. Yay!

But it's a hassle editing each one. We want to use the action Send Receipt. But this sends an online receipt with much less detail.

So, why is an online receipt being sent for an offline action?

To fix this should I continue using the online receipt but get more data into it?

Or should I hack the code to use an offline receipt?

Thoughts appreciated!

Let me tell you how I answered my questions above.

Why is an online receipt being sent for an offline action?

Typically, this sends the right receipt, as the original action was taken online. However, when the contact makes an EFT contribution, and it is uploaded to CiviCRM, there is no online action (not involving CiviCRM, anyway). So in this case the use of an online receipt introduces the wrinkle that there is no Contribution Page or Event Registration Page, and no Line Items. So details that the online receipt is expecting are missing.

Should I hack the code to use an offline receipt?

For me, no. The workflows in the code were a bit too different for me to easily resolve/refactor. That would be a major project in its own right.

Should I continue using the online receipt but get more data into it?

This is the approach I took. I modified the message template for 'contribution_online_receipt' to include at the bottom of the HTML ...

{if !$contributionPageId}
  <no-contribution-page/>
{/if}

... to introduce a HTML element if no Contribution Page was supplied.

My implementation of hook_civicrm_alterMailParams() looks for this element, and if found replaces it with the details I want ...

Financial Type
Receipt Date
Paid By (instrument)
Custom fields that have visibility 'Public pages' (eg, we want to show people details like 'donation purpose' but not 'internal category X')


Countries up to date? in CiviCRM 5.15.2 (but also in 5.17.2 alpha on the CiviCRM demo site) the country North Macedonia is still referred to as: Macedonia, Republic of.

Users can not change this themselves obviously.
In the documentation it is stated:
The installed CiviCRM database contains both an ISO 3166-1-compliant list of countries, and a full, ISO 3166-2-compliant list of provinces (states, departments, voivodships, etc.).

However, this does not seem to be the case.

Can somebody tell me if CiviCRM needs updating the countries (or may be I should add my question somewhere else?)

Yes at the moment the list is manually maintained (see https://github.com/civicrm/civicrm-core/blob/5.15.2/xml/templates/civicrm_country.tpl#L172). You can file an update request at https://lab.civicrm.org/dev/core/issues


QR Code for Event Participant I am thinking of creating an extension to integrate QR code for Event Participant

Do we any extension for QR code integrated already?

Thanks

Yes there is an extension that adds QR code in participant email. But it updates the status when generated for participant.

https://civicrm.org/extensions/qr-code-checkin

Thanks

Pradeep


Migration to new server - "The requested page "/" could not be found." In following the procedure outlined in the Wiki I find that in Step 10 ("log into drupal") I'm seeing the message Page not found The requested page "/" could not be found.  The drupal menu is not there.   The login form is there, and once I log in I get  the 404 message The requested URL /civicrm was not found on this server.

error_log:  File does not exist: /var/www/html/civicrm,

When I try drush:

drush up --debug  --uri htp://mycivi.site.org
Starting Drush preflight. [0.03 sec, 4.12 MB]                                                                                [preflight]
Cache HIT cid: 7.0.0-commandfiles-0-81cc86c1995ab7206f383ec28ad43baf [0.05 sec, 4.21 MB]                                                                                [debug]
Bootstrap to phase 0. [0.2 sec, 10.22 MB]                                                                                [bootstrap]
Bootstrap to phase 6. [0.2 sec, 10.22 MB]                                                                                [bootstrap]
Command pm-update needs a higher bootstrap level to run - you will need to invoke drush from a more functional Drupal environment to run this command. [0.2 sec, 10.22 MB]                                                                              [error]
The drush command 'up htp://mycivi.site.org' could not be executed. [0.2 sec, 10.23 MB]                                                                                [error]

I'm guessing the drupal restore from the source server did something to the drupal database on the target server that changed a path.

Source server drupal path = /var/www/vhosts/contacts/httpdocs

Target server drupal path = /var/www/html

Do these paths have to be identical for a migration to work? Or is there something else I'm doing wrong?

Make sure you have migrated Drupal correctly and all of the non-CiviCRM portions of the site function correctly.

Sometimes the .htaccess file doesn't get transferred with FTP and
it is an important file.
Also, migrate the same filesystem/version
from one server to the other, and be sure to upgrade as needed to
keep things secure (either before or after the migration).

At that point if Drupal is working correctly you can focus on CiviCRM.


Integrating Wordpress account and CiviCRM contact details self-maintenance Still pretty new to CiviCRM so apologies if I am on the totally wrong track here.

We are embedding profiles into Wordpress pages to allow users to self-administer their contact details. To do this they need to be logged in as wordpress users. Would also like to be able to include "change password" as one of the fields they could change when administering their contact details without sending the user into the wordpress dashboard/backend.

Has anyone tackled this by means of a plugin or other mechanism that might easily allow placement of wordpress account administration alongside civicrm profile details? Or am I stuck dealing with all the WP stuff using plugins/hooks for it separately from the CiviCRM data.

Put another way - I never want an end user to see the "back end" of either WP dashboard or CiviCRM interface, just keep them on the website itself. How do I do this? Make sense?

The only way we have done this is with a WP plugin.  WP User Front end allows editing of a WP user's profile from the front end. https://wordpress.org/plugins/wp-user-frontend/.

If you are on CiviCRM 4.6.3 you can mix WordPress and CiviCRM content on the same page, so two shortcodes could be used. While I have not tried this, it may be possible.

I also recommend https://wordpress.org/plugins/civicrm-wp-profile-sync/  for keeping key data in sync between WP and CiviCRM (this requires CiviCRM 4.6)


Error when merging accounts When attempting to merge accounts, I receive this message:

CiviCRM_API3_Exception: "You have requested a non-existent service "prevnext.driver.". Did you mean one of these: "prevnext.driver.redis", "prevnext.driver.sql"?"

How might I go about fixing this issue?

I had the same issue once, I changed the value for "PrevNext Cache" from "Default(Auto-detect)" to "SQL" under Administer > System Settings > Misc. This fixed the issue


CiviReport Participant Sort by Event Start Date I am trying to create a report that lists the participants for upcoming events (each day for the next 14 days), sorted by event start date as the section header. Event Start Date is not listed in the Column dropdown.

Event Start Date
-Event type
--Participant Name 1
--Participant Name 2

Next Day Start Date
-Event type
--Participant Name 1
--Participant Name 3

I saw this thread that gives me hope, but it doesn't specifically say how it was fixed. I've scoured the web trying to find a solution, but have come up with nothing else.

Yeah, it's pretty silly that event start date isn't available as a header.  It's actually a really small change in the code, but it does require editing the code to add the field as an sorting option.

I made a change that will hopefully be included in the next 4.6 release, but you can add it by editing the appropriate file.  In your CiviCRM codebase (found at sites/all/modules/civicrm in Drupal, administrator/components/com_civicrm/civicrm in Joomla, or wp-content/plugins/civicrm/civicrm in WordPress), edit the file at CRM/Report/Form/Event/ParticipantListing.php to apply the changes you see here: https://github.com/civicrm/civicrm-core/pull/7221/files after line 299.


HTTP Error 500 during search request - CiviCRM 5.1.1 I have a new installed CiviCRM 5.1.1 property on my server.

My current system configuration is:

Wordpress 4.9.6

The problem:
I importet a few contacts but I realized that besides using the search function in the upper left corner and using custom reports I receive an error 500 and no results.

For example, when I use contacts > find contacts I receive an Error 500 for the following URL:
http://mydomain.de/wp-admin/admin.php?page=CiviCRM&q=civicrm/contact/search
in Wordpress Debug Mode:

Fatal error: Uncaught Error: Call to undefined method CRM_Core_DAO::disableFullGroupByMode() in /var/www/vhosts/xxx.mydomain.de/wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Query.php:4848 Stack trace: #0 /var/www/vhosts/xxx.mydomain.de/wp-content/plugins/civicrm/civicrm/CRM/Contact/Selector.php(1181): CRM_Contact_BAO_Query->searchQuery(NULL, NULL, NULL, false, false, true) #1 /var/www/vhosts/xxx.mydomain.de/wp-content/plugins/civicrm/civicrm/CRM/Utils/PagerAToZ.php(108): CRM_Contact_Selector->alphabetQuery() #2 /var/www/vhosts/xxx.mydomain.de/wp-content/plugins/civicrm/civicrm/CRM/Utils/PagerAToZ.php(136): CRM_Utils_PagerAToZ::getDynamicCharacters(Object(CRM_Contact_Selector), false) #3 /var/www/vhosts/xxx.mydomain.de/wp-content/plugins/civicrm/civicrm/CRM/Utils/PagerAToZ.php(52): CRM_Utils_PagerAToZ::createLinks(Object(CRM_Contact_Selector), NULL, false) #4 /var/www/vhosts/xxx.mydomain.de in /var/www/vhosts/xxx.mydomain.de/wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Query.php on line 4848

Could anybody please help with this issue?
I was trying to fix it for some time now and searched the whole forum with no result or hint.
Thanks a lot in advance.

This is a known issue with CiviCRM 5.1.1 that was patched in 5.1.2.   The details of the issue are here: https://github.com/civicrm/civicrm-core/blob/5.1/release-notes/5.1.2.md#synopsis

Download the new version from https://civicrm.org/download and update your site.


testing contribution pages I need to test some contribution pages before they go live. Is there standard data or a procedure I use?  Specifically I need to verify that the donor receives an email confirmation of whatever type of contribution they made.  Thank you for your help.

Yes there is - go to Manage Contribution Pages and search for your page.  On the right hand side next to the page you want to test, click "Links", then "Test Drive".  You can also see this link at the top of the page when editing your contribution page.

For credit card transactions, use Test Visa Card number 4444333322221111, expiry date anything in the future, CVV any three digit number.  NEVER USE REAL CREDIT CARD NUMBERS FOR TEST TRANSACTIONS!

You will get a test receipt as long as you've set the email address to yourself!

No transaction will be made.  You will only be able to find the contribution inside Civi by specifically searching for test contributions.

This works for donations as well as memberships.  It's very useful.  I always test every page before making it live!