CKEditor in Civicrm - Is it possible to have a custom css file? 7 In Civicrm 4.7+ there's a great interface for customising CKEditor, and it allows you to add custom styles to the editor. That's great!

But we would very much like to go further and call a whole new custom css file for CKEditor. Much like you can in Drupal's CKEditor. We use in Civi we use CDEditor for event descriptions and much much more, and we'd like to make the CKEditor interface the same as for our Drupal web pages.

Is this already possible? And if not, any ideas about how to make it possible? Thanks for your help!

Civicrm 5.10.3, Drupal 7 latest.

If you use the great CKEDITOR editor to configure what you can there, then save, you can then edit the file in (typically, for a D7 implementation): sites/default/files/civicrm/persist/crm-ckeditor-default.js
e.g.
CKEDITOR.editorConfig = function( config ) {
  config.allowedContent = true;

  // Added these lines: ↓
  if (typeof config.contentsCss === 'string') {
    config.contentsCss = [config.contentsCss];
  }
  config.contentsCss.push("/sites/all/themes/your-theme/css/ckeditor.css");
  console.log("I hacked CKEDITOR's CSS :-)", config.contentsCss);
  // ↑ you don't need that console.log, but it's handy to prove it's working.
};

However, do note as it says at the top of that file, Note: This file will be overwritten if settings are modified


How to have the Civi Contact deleted when the Drupal User is cancelled? When a user cancels his registration in Drupal, the pertaining Civi Contact remains.

How can I have both deleted simultaneously ?

You could implement this with the Rules module if you have the CiviCRM Entity module installed.


payment subscriptions I have to set CiviCRM to collect subscriptions for next year.

The membership fee is 190,00(childs) and € 225.00(adults).
if a child has a brother, the brother has a discount of 5%
Who pays can divide the payment: 90.00 € by 01/07/2015 and the remaining by 12/01/2015
Who pays for it all at once has a discount of 5%.

I can set these payments CiviCRM? How?
Thank you.

There are several parts to your question, so I'll try to address them separately.

Part 1 you can handle with price sets.
Part 2 can be handled with the CiviDiscount extension, if the requirement is that both children are registered at once.  If they can be registered separately, you'll need a hook that checks for the relationship.
Part 3 is the tricky part - what you're looking for is called "front-end partial payments".  This has been written as custom code by Back Office Thinking - and there's a group of developers gathering funding to build something like this in core.  However, there's no way to do this today without custom code.
Part 4 you can also handle with a price set.


multiple price sets? I need to use 2 price sets on a membership page. The first is for National membership and has several options, mostly concerning the publications delivered with the membership level. This National membership is required. The second price set is for local chapter membership and members could select none, one or several. Each local chapter has its own price.

This could look something like this:

National membership
 - email newsletter as pdf - $10
 - printed newsletter by post - $25
 - printed newsletter plus glossy magazine - $75

Local chapters
 - West - $15.00
 - Central - $25.00
 - East - $10.00
 - None - $0.00

Is there a way to accomplish this?

Thanks in advance,
JWP

The way we do it is to set up multiple price fields on one price set. The first price field you would make required, the second field wouldn't be required. Then people are required to select something from the first field, but then can choose what (if anything) they select from the second field.

We do it to have a required registration at the top, but then a textbook you can choose whether or not you purchase. You can have multiple items in each field, we just only have one in each.


How to undo a deleted report I created a report to log in our donations however this morning when I deleted a batch it has deleted the entire report template and I now have empty contribution batches with just the amounts and not the donors information.

I urgently need this restored as we have used this report for logging in all our donations.

Please can someone help me asap.

Many thanks,

Grace

Look in Search >Advanced Search
Put in Search parameters that would show the lost donor data
Down in the bottom right-hand corner of the Search Criteria box check Search in Trash
You should be able to check all and then under actions restore.


How do I set the margins on a PDF print out of a CiviReport? How do I set the margins on a PDF print out of a CiviReport?

Things I tried: Setting these in print.css on the body element. had no effect.

As of CiviCRM 5.3 the margins on a PDF print of a CiviReport take their margins from the default PDF page format. This can be administered at:

Choose: Administer >> Communications >> Print Page (PDF) Formats

Then edit the format marked default and set the margins individually. The margins are set in the Unit of Measure of that page format.


How to redirect user when a civicrm error message shows up? Often I see in the drupal log that some people try to access invalid URLs. By default civi shows a message like this

  $Fatal Error Details = Array ( [message] => We can't load the
  requested web page. This page requires cookies to be enabled in your
  browser settings. Please check this setting and enable cookies (if
  they are not enabled). Then try again. If this error persists, contact
  the site administrator for assistance.Site Administrators:
  This error may indicate that users are accessing this page using a
  domain or URL other than the configured Base URL. EXAMPLE: Base URL is
  http://example.org, but some users are accessing the page via
  http://www.example.org or a domain alias like
  http://myotherexample.org.Error type: Could not find a
  valid session key. [code] => )

How can I redirect user to 404 page or similar page? Is it something possible to do? Thanks

May be 'CiviCRM Report Error' extension may do your work! The extension does have setting to redirect from error page.


Cannot submit form on CiviCRM 4.7.7, might be related to CRM-18510? With CiviCRM 4.7.7 on Drupal 6, we are seeing crashes such as:

    May 18 11:16:34  [info] $Fatal Error Details = Array
(
    [message] => One of parameters  (value: `1-street_address`) is not of the type MysqlColumnName
    [code] =>
)

May 18 11:16:34  [info] $backTrace = #0 /srv/www/sites/orgdomainname.org/www/sites/all/modules/civicrm/CRM/Core/Error.php(371): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /srv/www/sites/orgdomainname.org/www/sites/all/modules/civicrm/CRM/Utils/Type.php(424): CRM_Core_Error::fatal("One of parameters  (value: `1-street_address`) is not of the type MysqlColumn...")
#2 /srv/www/sites/orgdomainname.org/www/sites/all/modules/civicrm/CRM/Utils/Sort.php(124): CRM_Utils_Type::validate("`1-street_address`", "MysqlColumnName")
#3 /srv/www/sites/orgdomainname.org/www/sites/all/modules/civicrm/CRM/Core/Selector/Controller.php(222): CRM_Utils_Sort->__construct((Array:7), NULL)
#4 /srv/www/sites/orgdomainname.org/www/sites/all/modules/civicrm/CRM/Profile/Page/Listings.php(394): CRM_Core_Selector_Controller->__construct(Object(CRM_Profile_Selector_Listings), NULL, NULL, 4, Object(CRM_Profile$
#5 /srv/www/sites/orgdomainname.org/www/sites/all/modules/civicrm/CRM/Profile/Page/Router.php(124): CRM_Profile_Page_Listings->run()
#6 /srv/www/sites/orgdomainname.org/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(312): CRM_Profile_Page_Router->run((Array:2), NULL)
#7 /srv/www/sites/orgdomainname.org/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:13))
#8 /srv/www/sites/orgdomainname.org/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:2))
#9 /srv/www/sites/orgdomainname.org/www/sites/all/modules/civicrm/drupal/civicrm.module(345): CRM_Core_Invoke::invoke((Array:2))
#10 [internal function](): civicrm_invoke("profile")
#11 /srv/www/sites/orgdomainname.org/www/includes/menu.inc(350): call_user_func_array("civicrm_invoke", (Array:1))
#12 /srv/www/sites/orgdomainname.org/www/index.php(17): menu_execute_active_handler()
#13 {main}

This looks similar to what is reported here:

CRM-18510 "Getting 'One of parameters (value: Home-street_address) is not of the type MysqlColumnName' error when Contact Search is used."

However since we are seeing the error when trying to submit forms (CiviMember + CiviContribute + Profile) rather than to search, I am not sure if what is reported with CRM-18510 is actually the same as what we are seeing.

If it is probably the same, please point me to what diff/patch I should test applying to our CiviCRM 4.7.7 on D6 configuration.

I am thankful,

Michael

This looks likely to be the same underlying problem as the issue described in CRM-18510. There's a fix referenced there: https://github.com/civicrm/civicrm-core/pull/8317 . If you test this out, do report your findings here and on CRM-18510 . Hope it works for you.

Regards,

Dave


Organizational membership Using 4.7.x.  I am trying to create a membership type where an Organization is the member.  How do I do that?  I see some references from a few years ago on the forum about selecting what contact type it's for, but I don't see that option for that in creating a membership type.

Obviously, a real person (contact) is going to do the actual signing up.  Hopefully that person and other employees of the organization will inherit membership privileges.

Is all of this doable?

Set up your Membership Type as you would expect to. Use 'inherited relationships' if you want eg Employees of that organisation to be considered members.

Then on the Contribution page, use the 'on behalf of organisation' settings on the first screen to set up so Person A can sign up on Behalf of Org B.

Check out the documentation link below. Won't be hard to find once you know to search for 'on behalf of' phrase

NOTE: a contact needs to have a Permissioned and Current 'Employee of' relationship if they are to have the Org field prefilled eg when renewing via a checksum

Documentation


Mailing not saved, must cleanup caches to be able to save again Occasionally, we get a warning "Mailing has not been saved, Content maybe out of date, please refresh the page and try again" when trying to save a Mosaico mailing." The mailing does not save and any changes are lost. When this happens, it seems to happen for everyone and every mailing. This also prevents a test email from being sent, presumably because the mailing can't be saved.
Cleanup caches seems to fix this problem, but not before whatever changes the user has inputted are lost and hair is torn out, tears are shed, etc.
Nothing is logged when this happens. I have been seeing this for quite a while, at least since 4.X. Here is a past question about what sounds like a similar issue.
Is there anything to be done to fix avoid this in the future? Anyone have any idea what the problem may be?

Because mosaico uses the new-ish afform form tools (i.e. an integration of AngularJS), it means that a lot of the communication from the form to the server is happening via ajax. When that back-channel communication fails, that's when you get that message.
Possible reasons for the failure include:

The same form open in a different window (leading to invalid state data being sent to the server).
A network problem between your window and the server.
A server error due to a bug.
A server non-response due to a delay.

Your solution will depend on diagnosing which of these is going on, using:

Your browser developer tools network tab and console.
Your civicrm, CMS and server logs.

A lot of the time, you may get that message without it meaning anything terrible and it can be ignored, but usually you want to try an explicit save at that point and then check the civicrm server logs for errors.
For example, I have a client out in the country using a satellite-based ISP, and she regularly has this issue - not much to do except wait for the cloud to stop blocking the satellite ...


Multiple Payment Processing account in Civicrm Good day all,

A company needs to setup Social Giving using Civicrm.

Is it possible to allow multiple non-profits enable their respective Payment Processing in single Civicrm installation/instance? e.g. PayPal Standard/Pro or iATS, Stripe?

Thank you kindly!

You can add as many payment processors as you'd like and tie those to unique contribution pages: https://docs.civicrm.org/sysadmin/en/latest/setup/payment-processors/#setup-and-configuration.

However, the real question is reporting requirements. What are they? Are these non-profits all under a parent non-profit? If not, then they should have their own installation of Civi so they can easily get their financial reporting right. The likelihood of incorrect reporting is high if you tried to shoehorn multiple orgs in one Civi.

If they are related, you could create a campaign for each organization and track the finances separately. Or use financial accounts: https://docs.civicrm.org/user/en/latest/contributions/key-concepts-and-configurations/#financial-accounts.


CiviCase - Having issues When trying to add a record in case, I get the above screen.

I was originally having an issue with editing Case Types. Even trying to enable or disable wasn't working. Since updating to 4.7.3 the enable and disable seems to be working.

This is running on Joomla v3.4.8

As the error message says, you seem to have deleted the "case coordinator" relationship type, yet one or more of your case types depends on it. Either restore that relationship type, or remove it from the case type configuration.


How to apply different Sales Tax rates to the same Membership Type - Back Office In Canada we need to charge Sales Tax depending on what Province the Member resides in. How can we do this in the Back Office. In other words: an administrator signing up a Member in CiviCRM.

You can do this with Price Sets. I'll document the entire set up:

Go to Administer -> CiviContribute -> CiviContribute Component Settings
and check the box Enable Tax & Invoicing (Tax = Sales Tax; Invoicing you get as a bonus)
Go to Administer -> CiviContribute -> Financial Accounts
and create one Financial Account for each Sales Tax Rate

Ignore Tax-Deductible - it is not related to Sales Tax; it potentially could be used to track whether monies are deductible for Income Tax purposes but I don't recommend it [there are other ways to track that; will document that at some point]. Click Is Tax -> (Tax = Sales Tax) and enter the Tax Rate right below it.

Repeat until you have the 3 Financial Accounts needed (3 different Sales Tax rates):

Set up Financial Types -> And associate each one with a one of the Financial Accounts we just created. Note we can add a 4th one [for out of Country residents] - i.e. with no Sales Tax.

Next are Price Sets - create a Price Set - for each Membership Type/Sales Tax Option - Yes that's a lot of Price Sets. Let's look at one: in the Maritime Provinces the Sales Tax is 15% -> so we need to create a Priceset that has a Line Item that hooks up to the Financial Type that has the 15% Tax Rate associated with it:

Looking at the Individual Price Fields:

Putting it all together - in Back Office -> from a Contact Summary record -> Membership tab -> Add Membership or Create Credit Card Membership

And selecting that Priceset results in the correct Amounts


Unexpected T_CLONE, expecting T_STRING (PHP 7, Drupal 7, Ubuntu 16.04) On an Ubuntu 16.04 VM with PHP 7.x, I am seeing the following error when enabling CiviCRM in Drupal 7:

  ParseError: syntax error, unexpected 'clone' (T_CLONE), expecting identifier (T_STRING) or '(' in require_once() (line 1 of /home/westernfriend/public_html/sites/all/modules/civicrm/packages/DB/DataObject.php(207) : eval()'d code).

Is this due to incompatibility with PHP 7, a missing dependency, or perhaps something else?

PHP 7 is not supported yet - see CRM-17789

Also: this and this

Update (Aug 2017):  The information above was correct when it was written.  Things have moved on and PHP 7.0 is supported from 4.7.12 onwards.  Earlier versions of 4.7 don't run on PHP 7.0 and nor does any released version of 4.6.  There are discussions about adding this to 4.6 - see the same ticket.

The most current information should be on CiviCRM PHP Requirements


Missing option to create WP User from contact I'm not sure if I've lost the option because of a role or permission change. It used to be here:

and also in the bulk edit options for Contact search results.

I've made sure that "Anyone can register" is checked in the WP sites general settings. I am using CiviCRM WordPress Member Sync and CiviCRM WordPress Profile Sync (Christian Wach ftw)

I've also made sure that the contacts have email addresses, and current memberships (if relevant).

What am I missing? It used to be here.

This is a duplicate of this post WordPress: Creating new WP Users from Civi Contacts

On line 22 set it to true https://github.com/christianwach/civicrm-wp-profile-sync/blob/master/civicrm-wp-profile-sync.php#L22

define( 'CIVICRM_WP_PROFILE_SYNC_BULK', true );

The confusion is that you need to do a search action from either Advanced Search or Search Builder, not the actions button in the contact summary screen.


Error on Member Dashboard after upgrading to PHP 7.0 After Upgrading to PHP 7.0 - I keep getting the following error on the Member Dashboard.  Do you know what causes this? This happened to be before - I changed the resource URLs to Absolute and that fixed it - now this error is back.

`Warning: get_headers(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/sitename/public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check/Component/Env.php on line 903

Warning: get_headers(): This function may only be used against URLs in /home/sitename/public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check/Component/Env.php on line 903`

I should also note that the System Status Page mentions that the "The Resource URL is not set correctly."  even though it is.

Update: Thanks to Yurg's answer below - I contacted the webhost - they store PHP options elsewhere - I was able to change settings to allow_url_fopen=1 and that fixed everything!

Perhaps allow_url_fopen=1 should be set in PHP.ini file on your web host.


Civicrm:ping INI file not found I have installed civicrm and want to develop an extension.
I installed civix for creating this extension but when i run civix civicrm:ping command in my civicrm folder, I get the following error:
C:\xamp\htdocs\civicrm>civix civicrm:ping

[RuntimeException]
Failed to determine INI file path.

How to solve this problem?

I was just dealing with this and found your question..

Since you used C:\, i'll assume you're in windows.

TLDR; Try checking your PHP environment variable for 'HOMEPATH' vs 'HOME' and editing the file I mention below.

The first thing I will say is that you can increase verbosity of errors in civix by using -v, -vv, or -vvv options for most verbose. It helped me a lot with this issue.

I will leave the important details of my environment here as well, for others who may find this question:

A working Drupal 7 + CiviCRM 4.7.17 locally installed (manually) with MAMP on a Windows 10 machine, configured to use PHP 5.6.28. MAMP is installed to C:/MAMP and the site root is C:/MAMP/htdocs/drupal/

Civix is installed to C:/Users/"Eli Lisseck"/ and I am seeing the same behavior as you that civicrm:ping throws and exception.

Running the more verbose command civix civicrm:ping -vvv led me to the file C:\Users\Eli Lisseck\civix\vendor\civicrm\cv\src\Config.php line 54.

Check if it is looking for your HOME environment variable correctly, versus what you have under environment variables when you run php -i. I found it was only looking for 'HOME' but what existed was 'HOMEPATH'... so I added at line 52:

elseif (getenv('HOMEPATH')) {
      $file = getenv('HOMEPATH') . '/.cv.json';
      return $file;
    }

Now I get civix civicrm:ping Ping successful

Hope this is helpful!


What is required to run CiviCRM on DigitalOcean? DigitalOcean provides one-click installation of WP, Drupal and CiviCRM. I hope this question can collect experiences with it to help others.

What additional considerations are there for hosting CiviCRM on DigitalOcean?
Are there any specific configurations or patches required?
Is there any functionality which differs from hosting CiviCRM on a "standard" LAMP stack?

I setup Drupal and CiviCRM on my Digital Ocean Droplet by hand, but you'll face this issue regardless of how you setup.  This answer is sufficiently long and complex that I'm setting up a complete guide on my wiki.

DO does not allow SMTP traffic on their IPv6 network.  As a result, PHP applications that normally succeed in sending email will be unreliable, slow or outright fail.  CiviCRM is one that can be especially challenging to configure for outbound email at DO.  Although the simple mail() function appears to work, I don't think it offers the control or performance you might need.  In my case I wanted to use Google Apps for Business to send my email.

The first thing you need to do is to set your hostname to a fully qualified domain name.  When you set your hostname to a FQDN, that will cause the DO system to create a PTR record in DNS for your host. Without a PTR record, many major email providers (Comcast/HotMail/Yahoo) will refuse to talk to your host and those messages will disappear into the void (check /var/log/mail.log). CiviCRM will report those messages as 'sent', but the recipient will never get it, not even in spam, because it never left your server.

You must setup an A record for your FQDN at your DNS provider.  The PTR record should be automatically setup by Digital Ocean.

dig foo.example.com
dig -x foo.example.com

Assuming you want to configure CiviCRM to use an external SMTP server such as Google Apps for Business (aka SMTP relay also known as smarthosting) you will suffer connection timeouts.  Some apps such as PHPMailer can be made to work with a hack using gethostbyname(), but the configuration for CiviCRM will only allow you to enter the hostname; and no permutation will work.  Instead, tell CiviCRM to use 'sendmail'.  Meanwhile sendmail is not actually installed.  Postfix can be installed as the MTA and you can configure Postfix to send mail to Google.  The 'hack' is to also bind Postfix to 0.0.0.0 so that it uses IPv4

With the PTR record in place, and Postfix installed relaying SMTP to your provider over an IPv4 network, and CiviCRM set to use 'sendmail' you can now use your CiviMail.


How can I run a php script to display API response with social media information for a contact OK so I am interested in displaying social media account information for my contacts. Attentiv.ly looks awesome but very expensive :((

So I have been investigating other options and can now successfully pass a rest API via a php file to retrieve json from PIPL for a contact. Within civicrm I can create a link to the json using the email variable. I have temporarily (for exploratory purposes only don't worry!) hacked the email.tpl with this

 social profile</alink

And when clicked it takes me to the correct social mediaprofile. It also works with the Fullcontact API. Hooray!!!

However what I really need is to somehow substitute the link for the script - but I can't put the PHP in the smarty template so now I'm stumped.

 //    $curl = curl_init();
 //   curl_setopt ($curl, CURLOPT_URL, "https://api.pipl.com/search/v4/?email=email@email.com&key=xxxxxxxxxxxxxx ");
 //   curl_exec ($curl);
 //  curl_close ($curl);
?>

Or this

//include_once '../creds.php';
//include_once '../Services/FullContact.php';

//initialize our FullContact API object
//get your api key here:  http://fullcontact.com/getkey
//$fullcontact = new Services_FullContact_API($apikey);

//do a lookup
//$result = $fullcontact->doLookup('bart@fullcontact.com');

//dump our results
//echo "
----------------

";
//print_r($result);
//echo "

----------------
\n";

Obviously substituting the email for the civicrm email variable.

Or indeed if I am going about this entirely the wrong way I'm all ears!!!!
All input welcome! Thank you!

PS if anyone can also tell me how to copy and paste code without it actually rendering that would be great

You can run php inside smarty, you just need to include it within {php} tags.

{php}
  $result = doSomethingCool();
  $this->assign('coolStuff', $result);
{/php}

Your social media profile is: {$coolStuff}

PS instead of hacking the template directly you can add a .tpl.extra file.
See https://civicrm.org/blogs/dave-greenberg/now-its-easier-add-custom-behaviors-templates


Linking spouse relationship information I am very new to this, and am a user and work for a charity and have very little experience in this field and would really appreciate some advice!
I want to print labels to post invitations to all our donors who we do not have an email address for. So I made a search with email address "empty" and postal address "not empty". However, if we have an email address for a husband, the mail label will still print for the wife as she has her own separate record. Does anyone know how to avoid this? I have tried editing the criteria for the search but you can't seem to search on relationships. Thanks so much Louise

Two things:

if you want to only send one e-mail to a couple in a relationship who prefer to share an e-mail - whether husband/wife, married LGBT couples etc - create a new Household and add both to it, add the shared e-mail address to the Household and search Contacts in that household without an e-mail address but a postal address - like this in Search Builder -

Household Name IS NOT EMPTY ...AND...
Email IS EMPTY '' ...AND...
Contact Type - 'Household' .

I would prefer to have an e-mail for each of a husband and a wife, each of two married partners of any gender, etc - I have my wife and I in Civi with our own separate e-mails and we are also linked to the same Household. Sending to both e-mails or just a shared e-mail for a contribution ask depends of course on the couple's preference.


Enabling membership reminders - will it only mail expirations valid this day? On a newly imported database, I am about to enable membership reminders. The first reminder is set to two months before expiration.

Can someone reassure me this mail will not get send to members that have passed the two months date, and are now eg 1 month before expiration ? And in particular, that it doesnt get send out to expired members ?

I guess I am asking - how does 'send_reminder' work ? Does it mail out on one particular day, or does it mark members to be mailed because they pass a treshold, and unmark them when done ? Because in the latter case, members that are due to expire in one month would receive the 2 month notice too, which is bad.

My advice would be to test this carefully in a test environment with the setting 'Outbound Email' set to 'redirect to database'. This means emails do not actually get sent, but you can see them in the database, and so also in the contact summary. That would be the best way to reassure you. Whatever someone says here about the core CiviCRM functionality, it will not show you what will happen in your specific installation and configuration. So I would always strongly recommend a local test.


Drupal views integration ContactID inserts commas into number Within Drupal Views integrations creating a view of contacts, the Replacement Pattern "[id] == CiviCRM Contacts: Contact ID" inserts commas when a contact_id is greater than 999 - surely this is incorrect behaviour? Does anyone have a work around for this?

When you pull the contact ID as a field in the view (even before you replace it), to what is the thousands marker field set?  I believe the default setting is comma (see http://screencast.com/t/8tiEiqVOBG ) - you might check that and change it to "none" if that is the case, to see if that makes a difference.


CiviCRM Dedupe - How does it really work? There seems to be some confusion at my current organization re: de-duping. I'm under the impression that if I have two records (organizations)

Case 1:
name: St. John's University
Zip: 11439

Name: St. John's University
Zip: 10301

In  order to de-dupe, I would place a "weight" on particular fields.
HOWEVER

What if I only have the name ?
How does one dedupe
"St. John's"
"St Johns"
"St. John's U."
Is that technically called deduping ?
(pardon if this is a noob question. My first on Stack Exchange)

Whether it is technically called deduping or not, these kind of things do occur in real life :-).
You should be able to set up dedupe rules that catches them, and one organization I worked with used different 'levels' of deduping rules in their process. For example:

dedupe on something like social security number where it is pretty obvious that they are quite possibly real dedupes, and fix those
dedupe on email_address where there is a reasonable chance that they are dedupes, and fix those

dedupe on something like part of first_name and part of last_name, where chances are that in quite a few cases there are no real dedupes, and fix those if fixes are required.

Obviously the system can not tell you if I have a girl called Louise Tomlinson and another girl called Louise Tomlynson that they are the same or actually someone else. It can only flag that they look the same.


Participant Custom Data not saving I have created custom fields for a site. All of them work except those connected to Participants. When data is entered into the backend, data will not save, and no error is issued.
The fields also won't show up to be added to profiles.

I have upgraded from 4.5.8 to 4.6.2, had no effect.
Also I rebuilt the database schema and the problem persists.
There is no custom code. The site is using Drupal 6 on CiviHosting.
I have tested it on the demo site and on other civicrm installs.

Is there anything else worth trying or worth looking into?

Can you double check and see that the custom group is extending Participants and not Events? The two are different entities, but a fair number of users have made this mistake in the past.

A few other thoughts:

Can you also elaborate on where it does not work for participants?
Can you try the same sequence of steps on our demo servers and see if you can reproduce it there


Is CiviCRM right for our organization? We are a non-profit mission sending agency. We are not looking for donor management software, but we are looking for more of an HR platform where we can manage all of our employees and all of their information so that it is available in multiple ways to multiple people within the organization.

Also does an API exist within the software?

Check this out!

https://civihr.org/

It's an extension (add-on) to core


mail_report format parameter When configuring a Mail Report to be sent via Scheduled Jobs, using 'mail_report' API call, I need to pass the 'instanceId' and 'format' parameters.

For the 'format' parameter I have the options 'csv' (to output the report as a CSV file), 'print' (to output the report as printer-friendly HTML) or if I ignore the parameter, I have a PDF report.

Also, I can input a sendmail=0, that tells the job NOT to email the report, so I can use this in combination with print or csv format to only write report to stdout.

If I use the 'format=print', the job always write to stdout. My problem is that stdout, in this case, is the server's cron, what makes cron send an email to the administrator with the report, what I don't want to happen. Is is possible to tell the job NOT to write the report to stdout?

Yes, if the problem is the stdout being sent to cron, I can avoid it appending "1>/dev/null 2>/dev/null" to the end of the command in the cron script called. This makes both stdout and stderr to be sent to null.


How to Change Profile Type I have a profile whose type is set to: ParticipantEventName:Event Name. I want to change it to be just "Participant." That field does not seem to be editable in the Profile listing table.

How can I do this?

The 'Type' field is automatically calculated upon the fields present in the profile. Your profile must be having custom field for certain Event name that's the reason it shows 'ParticipantEventName:Event Name'. There is no way you can update this field through UI. However if you want to update then either you can run update query or run api in create mode from api explorer, but still the 'Type' will be recalculated when the profile fields will updated or added.


Webfaction hosting, behind a proxy - broken dashlet Webfaction hosted servers are behind firewalls/proxies. Unlike standing up apache (i.e., socket:xxxx on localhost), their wordpress installation appears to simply be the wordpress code. Therefore, they appear to application route the WP requests vs. NAT/firewall the TCP.

I would guess the civicrm plugin doesn't pass "HOST:" http headers ...

yes, no, solutions? (see pict)

Note:specific menu items (e.g., Administer-> System Settings -> Option Groups) render fine. (and, that messed up CSS is probably due to the 404 page's css)

At least until the most recent 4.7 releases, CiviCRM needed to contact itself via http to populate the dashboard. Your picture suggests that it's not able to, probably related to how the proxy is setup. If you have a command line interface in environment that the code is executing, see if you can contact yourself using, say curl or wget. Sometimes hardcoding the domain in /etc/hosts is a solution.

Another way to mess up your dashboard is with a slightly broken certificate on a https only site - some will render for you in Chrome, but curl/wget won't like it. But in that case, you'd get a spinning thingy.


Get the "Smart" group of a user id via REST We've created so called 'smart' groups in civicrm, and we need to know if a certrain user belongs to this group.

I can get the groups of a user with the following code:

http://url.com/sites/all/modules/civicrm/extern/rest.php?debug=0&entity=GroupContact&action=get&contact_id='.$uid.'&json={"sequential":1}&api_key='.$api_key.'&key='.$site_key

But the "Smart group of the UID is not listed here,. When I do the following:

http://url.com/sites/all/modules/civicrm/extern/rest.php?debug=0&entity=Contact&action=get&group='.$gid.'&version=3&contact_id='.$uid.'&json={"sequential":1}&api_key='.$api_key.'&key='.$site_key

I get the result, that the user belongs to this group.

What I want is only to give the contact_id as parameter to check in which smart groups this user is

Smart Groups are basically a saved search. Checking whether a given contact is in a saved search result means running the search for that combination, which is not efficient - hence the reason the information you want isn't available through existing APIs.

See eg CRM-11903: GroupContact API doesn't get smart group members.

If you want to be able to query the API for this information, you have some options -

As you're doing, use the Contact API and filter by group ID to check each Contact/Smart group pair. Not efficient, but you've already found it works.
Create a "regular" group and automate the process of updating its members based on the criteria of your smart group. A bit rough - but probably not too hard.
Implement the functionality you need in a new API method. Probably not as hard as it sounds, check existing API methods for examples.


Filter Constituents on "Do not trade?" Before I add a custom field to handle this, I thought I'd make sure I'm not missing something.

When I go to Contact Reports -> Constituent Summary, it appears you can include and filter on all the "Do not" privacy settings EXCEPT "Do not trade."

Is there a way to add the ability to filter on "Do not trade?" Any idea why that one in particular is left out?

Thanks.

People build reports based on their clients requirement and if they think this is going to help others in the community they contribute code either in the form of sending PR to core or release as an extension publicly.

I think (but not confident) Extended reports extension does provides some additional filtering and reports, its worth trying if it meets your need. Else you can use alterReportVar hook to add filter to reports.

Hope i answered your question!

Pradeep


CiviCRM Views Showing Wrong Custom Data I have a strange Views problem. I'm on Drupal 7 and CiviCRM 5.4.0. I produced a View of case activities by showing several custom fields, one custom field called "placement". The placement field has options: None, A, B, C.

On the most recent case activities called Update, the placement field is B. However, when I look at Views, the placement field is C. The Views has current revision set to TRUE, deleted case FALSE, deleted activities FALSE, and deleted contacts FALSE.

If I go to cases and change the custom placement field to A, then Views show B. Basically, the case and Views are not matching. In fact, the Views page shows the option after what is selected in cases. Is this a recent bug?


Checksum and Shifting Expiration Windows Where/when does CiviCRM calculate the expiration date of a checksum?  Is the expiration date encoded in the checksum upon generation, or is the date of checksum creation encoded and then the creation date is compared to the default expiration setting?
This is relevant to the following scenarios:
1)a checksum is created with an expiration default of 30 days.     Contacts are sent a checksum.
2a)The expiration default is altered   from 30 days to 14.  Will the previously created checksum still work between days 15-30?
2b)The expiration default is altered from 30     days to 60.  Will the previously created checksum work between days  31-60?

The checksum string is created when the token is processed, so everytime the checksum string is created it has the expiry date based on 'Checksum Lifespan' set in your systems under CiviCRM >> Administer >> System Settings >> MISC.
When validating the checksum is decoded to get the exipry date and checked against now().
Regarding your question

1 -> Yes
2 -> Yes(since the checksum has expiry date)
3 - No


Saving User Preferences Does anyone know how I can turn off this improvement?
https://issues.civicrm.org/jira/browse/CRM-11761

Save user preferences for filtering Activities tab listings
The requirement is to persist the last used values for the two activity type filters on the contact Activities tab => "Filter by Activity Type" form (activity_type_filter_id and activity_type_exclude_filter_id) for the logged in user.
The filter values would need to be saved onChange since there is no search form POST, and loaded from the DB when that tab is accessed.

It's causing a lot of problems for users

Up until now the answer has been no. However this improvement is now available with the PR from this JIRA issue.


Should civicrm_post hook receive populated Relationship object following relationship enable/disable in UI? I'm porting some code using Civi hooks from Civi 4.4 to 4.6 . The code needs to know when a relationship becomes active or inactive, regardless of how that happens, including via the enable/disable links on the Relationships tab.

My implementation for 4.4 used both hook_civicrm_post and hook_civicrm_enableDisable. In Civi 4.6, hook_civicrm_enableDisable has been removed. I've found that hook_civicrm_post gets called when the enable/disable links are used but the CRM_Contact_DAO_Relationship object passed in only has the id field populated, all the other fields are blank.

Is this a bug and so should be addressed in core, or intended behaviour and so something I have to work around in my hook implementation?

I'm using CiviCRM 4.6.4 with Drupal 7.

Sorry but it's the intended behavior. Generally pre and post hooks just pass whatever happens to be loaded in that object rather than taking the performance hit of doing a full database load for the sake of a hook which may or may not be implemented and may or may not care.

I recommend not relying on the object being passed to pre/post hooks and doing your own api lookup using the provided id.


Change count in Custom Tab with table according to filtered data I have filtered the data being shown in a custom group tab on contact page but I'm struggling on how to change the count being shown next to the tab name. Could anyone help me how? thanks

I assume you used a tabset hook to adapt the tab on the contact page. That is where you can influence the count as you can see here:
  $tabs[] = [
    'id' => "mediweattestbeheer",
    'url' => CRM_Utils_System::url("civicrm/mediweattestbeheer/page/mediweattest", "reset=1&mid=" . $contactId, TRUE),
    'title' => "Attesten",
    'weight' => 16,
    'count' => CRM_Mediweattestbeheer_BAO_MediweAttest::telAttestenMedewerker($contactId),
    'class' => "livePage",
  ];

For the count parameter I have used a function that counts the number of records in the table for the specific contact.


Menu Problem with CiviCRM 5.13.2 Anyone else getting there menu at the bottom after updating to CiviCRM 5.13.2? Any ideas?

Drupal: 7.66
PHP: 5.6.40
MYSQL: 5.5.62

Thanks

Erik I had this in my civicrm.settings.php file. After I changed it fixed the layout


GoDaddy Compatability I am handling membership (about 600 dues-paying members) for a small "shoestring" non-profit using spreadsheets and it is a pain. We have a GoDaddy hosted website (cheapest economy plan) using WordPress. It looks like CiviCRM may be a good choice for us. Will it work if added to our existing GoDaddy environment or will we need a larger, more powerful server? Sorry, I don't have or understand all the technical specifications. :-(

I would say that it will probably be ok, but I wouldn't add it to your existing public-facing site. I would setup a subdomain for it and not install any other plugins, allow account creation or use it in a public way (except for CRM tasks like event registration, etc.)

Exploits of WordPress via plugins and themes are common, especially with the default permissions in a shared hosting environment like you describe. Keeping good backups is enough mitigation of this for a regular website, but you will have people's private information in this database, so you need to be much more careful.
Personally, I wouldn't be eager to do it, but if you have no other option, it is possible, just keep it separate from your main website.


CiviDiscount automatic problem Is this an acceptable config for an automatic discount for students?

http://d46.demo.civicrm.org/civicrm/cividiscount?reset=1

(screenshots below)

When I go to view the discount, the Automatic section is empty.  On my own sites I can't get the automatic discount to apply when I view an event page that satisfies the criteria.  I've seen issues like this that are marked closed on github from May. https://github.com/dlobo/org.civicrm.module.cividiscount/pull/98.  I've tried the current git version and have the same issues.

So I think it's more likely that my configuration is wrong since the view of the discount shows the Automatic Discount field to be empty.

Can someone look this over and tell me if there's an error?

[
[]

Thank you!

On the demo, I'm able to get the automatic discount to work. But also see the Automatic Discount as empty. See attached.


Changed URL, but Event and Contributions modules not recognizing the change Hope someone can help me.

I changed the URL, the directories and server are the same, and I still keep the old domain as well.  I have changed the directories, cleaned the cache and followed the instructions for moving the server (even though I did not change servers, only the Domain name).

Everything works fine, the url address is the new address and all the links work great, until I go to an Event and someone tries to register. Once the person clicks on 'register here' the url goes back to the old one.  What setting am I missing???

In the contributions the same thing happens it does not recognize the new domain and it goes back to the homepage with the old URL.

For example,  I am in

http://NEWDomain//index.php?option=com_civicrm&task=civicrm/event/info&Itemid=146&reset=1&id=59

Once I click Register it goes to

http://OLDDomain/index.php?option=com_civicrm&task=civicrm/event/register&Itemid=146&id=59&reset=1

Any ideas why?

It sounds like you changed your URL in the CiviCRM user interface, but perhaps not in your civicrm.settings.php file. In that file you will need to look for and adjust your CiviCRM Base URL to the new domain.


Contribution emails not being sent - Direct Deposit/Pay Later For online contributions, the only email that gets sent is when the contributor pays immediately (receipt). Thank you emails are not automatically sent and I cannot work out whether this is functioning as designed. When the direct deposit option is selected, no email is automatically sent out.

In addition there is a setting on the profile we use for contributions to notify when the form is submitted. This has not been working either.

After some research, I enabled the CiviContribute setting to automatically email invoices (enable tax and invoicing section) which made the email notification of profile submissions work for some reason, but not the invoice/receipts for pay later.

Any suggestions on how I can troubleshoot?  CiviCRM v4.7.8 but this has been an issue since 4.7

Edit/Update:
If I disable automatic email of invoices, no emails are sent unless pay now (including profile submission email). If I enable automatic email invoice I get a pdf invoice every time as well as a profile submission email. This is fine as a workaround but if anyone knows a way to get it to email without a pdf attachment, that would be better. I received intermittent emails without pdfs (one with an amount, one without amount) while I was testing a couple of hours ago, then the pdfs started arriving consistently, so I customised those as a way forward.

Looks like this bug but it should have been fixed in 4.7.4


Unable to amend membership if it previously was related to an organisation record I'm having an issue where by a drupal user has renewed their membership using a different membership type. The original membership was held on an organisation contact record and related to the individual contact record associated with the drupal user, but when it is renewed as a membership that no longer requires a relationship, I cannot amend the membership from the individual record OR the organisation record. In fact, on the organisation record, the membership remains 'expired' in status.

If I try to 'view' the membership, I cannot see anything on the pop up screen.

Has any one experienced this and knows how to amend it?

It turned out that I needed to delete the membership on the Ogranisation record:
I made a copy of the membership and contribution on the owner record (so we've still got the historical data), then deleted the faulty membership from the owner record and this removed it from the individual contact record. Bit messy but did the trick.


AJAX API permissions We are using REST urls to pull data direct from Civi reports into Excel for analysis purposes. Within Civi the users are restricted via granular ACLs to specific groups of contacts.

WP role permission  "Edit all contacts" is off for users.

WP role permission  "CiviCRM:access AJAX API" -  is on for users and the user has their own API key generated.

However when we extract the data via the rest url, it gives the error
"API permission check failed for ReportTemplate/getrows call; insufficient permission: requires administer CiviCRM"

REST url looks as follows:

XXXXX/wp-content/plugins/civicrm/civicrm/extern/rest.php?entity=ReportTemplate&action=getrows&instance_id=94&options[limit]=500&api_key=PXXXXXXXXXXX3X&key=074cXXXXXXXXXXX259&json=1

We can get around the "requires administer CiviCRM" by adding a block to civicrm/CRM/Core/DAO/permissions.php as follows:

$permissions['report_template'] = array(
    'getrows' => array(
      'access CiviCRM',
      'access AJAX API',
    ),
  );

But that doesn’t respect the ACL group permissions – is there any way to limit it to just the data the user should normally be able to see?  We are stuck with all records or no records.

I believe there is currently a bug. I have submitted a bug report:

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

When I ran into my issue, I was told:

"If you need a quick fix that doesn't involve granting more permissions than users ought to have, take a look at https://docs.civicrm.org/dev/en/master/hooks/hook_civicrm_alterAPIPermissions/."


Keeping track of sessions attended for one to one program "package" I do one-to-one consultations with clients and have a wellness "package" where a client can buy few consults/ massage treatments as a package to save money. This is not a group situation. So what is the best way to store that information and keep track of how many sessions this person has used and what kind? consult? massage? how many? If there are many packages sold to different clients, will they be different campaigns for different persons? or events? dates are not typically fixed in advance but are set up as we go. Also if a person buys another package at a different time, how do I store this information?
Thanks in advance for your valuable input.

You could create activity types for Packages & Consultations. When a package is purchased create an activity in the contact record. As they use their consultations record them as activities. You can then run Activity reports (or search) filtered on those activity types.

Hope this helps.


Where do I find Webform CiviCRM module for D8? I don't see a release under Downloads on the Drupal Project page:
https://www.drupal.org/project/webform_civicrm

Two options:

1) look for and download the 8.x-5.x-dev version [this is updated every couple of months/I will try make that weeks]:

https://www.drupal.org/project/webform_civicrm/releases/8.x-5.x-dev

2) or check out the 8.x-5.x branch from the GitHub repo to always be on the latest:

git clone https://github.com/colemanw/webform_civicrm.git --branch 8.x-5.x

and then:

git pull


How to create activity for automatic contribution receipts sent Is it possible to have CiviCRM create an activity (preferably email) every time a contribution receipt is sent?

You can set up a Scheduled Reminder that send an email based on the contribution activity.


error when making contribution page - "No Contribution Price Sets have been configured" I have two contribution price sets. When I try to make a Contribution Page I get an error on the second tab "Amounts". When I check the "Contribution Amounts section enabled" check box I get the error: "No Contribution Price Sets have been configured..." but I know I have two price sets.
What could be the problem?

You need to select price set or Add amounts under 'Fixed Contribution Options'


Display both regular and discounted fees in events page is there a way to display both regular and discounted fees in an event page?

I would want to put the regular price under our Early Bird price.

For a no-coding solution, you can use a price set, and have the early-bird price options located just above their counterparts, but with the "Expire On" value set.


What could be causing slow mailing from CiviCRM (via SMTP) We're currently investigating why our mailings are sending slowly from CiviCRM. We use an external SMTP server.

Our mailing settings:

Mailer batch limit: 30000
Mailer throttle time: 2100
Mailer job size: 0
Cron job limit: 1

However, when we look at the delivery table, the times individual emails were delivered are a bit strange:

10 emails delivered all on the same second
A delay of 2-3 seconds
Another 10 emails delivered on the same second
A delay of 2-3 seconds
Rinse, repeat

Has anyone run into a similar issue?

Update: After some testing, this only happens for SMTP (ie, not mail()), and it is happening with two separate SMTP providers. Investigations continue...

Update: Emails also send slowly from a standalone script which uses the PHPMailer library on the same server. That actually sends slower, at 2/3 emails per second but without a delay inbetween. The next step would be for us to try concurrent sending jobs (once this is fixed in 4.6.10).

There are a couple of points to this.

1 - SMTP is chatty, it is a fairly slow protocol. To combat this, run several mailing jobs in parallel. This can be achieved by calling the process_mailing cron job multiple more frequently. Ensure that the 'cron job limit' is equal to the maximum number mailing jobs you would want to be active at any one time. This is useful if you have a sending limit on your SMTP server of x per second.

2 - The issue with 10 emails sent 'on the same second' and then a delay: MailingJob.php processes 10 emails at once, and then writes the transactions to the database all at once. So it looks like the emails were all sent on the same second. The '10' is defined in BULK_MAIL_INSERT_COUNT in CRM_Mailing_Config. Ideally the actual time of sending would be recorded in the database, rather than the time of writing.

To speed up mailings we now call the process_mailing job independently every 5 minutes, and limit the number of emails that are sent on a cron run. This means we have several cron jobs running sending emails at once for large mailings, which greatly improves our send rate.


Permission errors when embedding civi-event on home page I've used the shortcode to embed a test event on our home page.

But when the page loads I now get:

  "Sorry but we are not able to provide this at the moment.  You do not
  have permission to access this page. Return to home page."

If I'm logged into the site I have no problem. And if I remove the event code it also works. Can you tell me how I can set permissions for guest users of the site?

You should take a look at the permissions of the CMS CiviCRM runs on (e.g. Drupal). You need to grant anonymous users the permission to "register for events" and probably also "view event info".

Maybe you could also add your CiviCRM version as well as the one of your CMS.


Why doesn't the count of '0' change on Search Results when i select some records or 'all on this page' Am pasting as a question for others who might come across this but have reported on JIRA as it replicates on http://d46.demo.civicrm.org/civicrm

Do any search, then select eg first record, or the checkbox above the first one to get 'all on this page' - and the count of '0' stays same, and hence you can't select any Actions.

A bug had already been filed on JIRA and it is listed as FIXED for 4.6.17


Problem caused by an incorrect translation in CiviGRANT there is a problem in CiviGrant (Italian) translation for CiviCRM 5.0 and later versions (also at the code level?) that seems to cause problems to the application.

Infact, both for CiviContribute and CiviGrant component, both in the main and secondary menu, now the translation is: "CONTRIBUTI" and this:

generates confusion, especially in tokens application (and it is
semantically no correct).
but above all, it causes a malfunction of the application and the two modules can not be activated at the same time (!!!)

In CiviCRM 4.7: “Grants” was more correctly translated in: “Contributi/Prestiti” (on, better, in “Finanziamenti”)

However the best translation for “GRANTs” is:

•   SOVVENZIONI

These are the problems:

As reported here the tab "contributions" often disappears from the summary tab, especially when it is necessary to act also for other reasons in "dispaly preferences" (for example: to activate and deactivate pop-ups).

It is necessary to use the work-arround that I have suggested (switch from Italian to English and put the flag on "contributions" again, then go back to Italian) to make the contributions tab appear.

However, in new (Wordpress) CiviCRM 5.5.3 installations (our other instances are the result of an upgrade) this work-arround does not work and the "contributions" tab never appears.

To solve I had to apply a second work-arround: disable the CiviGrant module and edit in MySQL civicrm_option_value the label from "contributions" to "grants".

In any case, the label disappears but at least I can reactivate it with the first work-arround.
In Advanced Search only the Contributions section (Grants) and not Contributions (real Contributions) appear.

It is necessary to disable the Contributions component (Grant) in order to see the (real) Contributions section. :(

How do you think we can solve this problem?

Thx&Bye.

I know the translation of CiviCRM in different languages is done by community members using Transifex: https://www.transifex.com/civicrm/civicrm/

Personally I have never really looked at this but I would reckon contacting the translation working group (https://civicrm.org/working-groups/translation) on MatterMost here: https://chat.civicrm.org/civicrm/ and offer to make this change will probably be a good step :-)


Cannot Export a Report to a CSV file Since upgrading from CiviCRM 4.4.3 to CiviCRM 5.8.0 last week, I am unable to export my employee training reports to a CSV. The page simply refreshes and doesn't do anything. I have tried making a new report with the same criteria, but it doesn't seem to be working.

Any ideas as to what else I can do?

I have the same problem. This occurs when exporting with a user which is not an admin.

As a workaround, I am able to export directly by using the options on the report overview. Can you reproduce that?


Emailing event participants - using 'send email' versus 'civimail' We have a question about using our CiviMail configuration for emailing Event participants. We recently had an event with > 60 participants. When we went to send a follow-up email, we went to the event, selected all the registered participants, and then selected "Email - send now" under Actions. We used one of the standard CiviMail templates, but it apparently used our mail.php backup that we have configured instead of sending it through our Sparkpost extension. Because of that, we weren't allowed to send to more than 50 participants, so the mailing had to be broken into two parts. Additionally, in the resultant emails, not all CiviMail tokens were resolved.

Obviously, we could have put the people in a temporary group and then used the CiviMail interface that we've been using for months to send large bulk emails through Sparkpost.

Is there a way to configure the event "Email - send now" to work like Civimail? Do we always need to create a temp group when we have many participants? Additionally, I presume we are not getting bounce reports as we normally do via the Sparkpost webhook.

I think I see what is happing.

When you select your  Participants (from Find participants) you only have an option for

Email send now (50 or less)

When you select your Participants as Contacts (from Adv Search) you should have an option for

Email schedule/send via CiviMail
Email send now (50 or less)

So, I think you can get what you want by searching for Contacts who were at your Event, and using that option, rather than searching via Find Participants.

NB iirc you need to have an existing CiviMail group that you use as part of this process, but it doesn't result in your participants being added to it. That said, I am not certain if all the bounce etc happens for these 'tack on' contacts but expect it would.

NB what the Action is called changes between versions so yours may be different if not 4.7.x.

READ MORE: instructions are at https://docs.civicrm.org/user/en/stable/email/mass-mailings-using-civimail/

starting with "If you are basing your mailing on search results, perform your search (for example, using Search > Advanced Search) and then choose Email - Schedule/Send via CiviMail from the Actions drop down. "


get source table values in civicrm_triggerInfo I have created below hook for trigger some values in my table.

Here how to get source table values that are being updated or inserted

function history_civicrm_triggerInfo(&$info, $tableName) {
  $sourceTable = 'civicrm_membership_log';

  $sql = "
    INSERT INTO `civicrm`.`civicrm_membershipperiod`
(`id`, `membership_id`, `start_date`, `end_date`) VALUES (NULL, '1', '2017-07-03', '2018-07-03');";

  $info[] = array(
      'table' => $sourceTable,
      'when' => 'AFTER',
      'event' => 'INSERT',
      'sql' => $sql,
  );
  $info[] = array(
      'table' => $sourceTable,
      'when' => 'AFTER',
      'event' => 'UPDATE',
      'sql' => $sql,
  );
}

Based on the source table value I have to rewrite the query $sql

I'm not familiar with this hook, but the manual seems to suggest that OLD.column_name and NEW.column_name can be used to access old and new values respectively.


Why does Sourceforge not have the 4.6.5 files? Sourceforge shows the latest release 4.6.5 for Drupal 7 but the files are 'not found' if you try to download them.  Also Sourceforge shows the headline latest release to be 4.6.4.  What's going on?

Sourceforge had a major failure on 7/16 and their services have been slowly coming back online. Expect to see CiviCRM downloads working normally again soon.

In the meantime you can get the latest version directly from http://civicrm.org/download


Cant Change “Accept profile submissions from external sites” to No I'm getting two errors when logging into the Civi admin back-end. The first is

  Remote Profiles Enabled
  Warning: External profile support (aka "HTML Snippet" support) is enabled in >system settings. This setting may be prone to abuse. If you must retain it, >consider HTTP throttling or other protections.

The second is

  Notice: Undefined offset: 1 in >/home/jgsny/public_html/administrator/components/com_civicrm/civicrm/CRM/Utils/>>check/Security.php on line 383

I navigate to system settings using the link in the error message which brings me to Misc settings page. The option "Accept profile submissions from external sites" is set to 'yes'. I change to 'no', save and return to the control panel, and the error message is gone.  However, on next login the error is back and the setting has reverted to 'yes'

I'm guessing this is a 4.6 site based on the second error message? If upgrading isn't possible you could try something like updating the database directly:

UPDATE civicrm_setting SET value='i:0;' where name='remote_profile_submissions';


CiviMail - Error 500 when tracking clickthroughs We have recently upgraded to CiviCRM 4.7.0, and we have Drupal 7.41

As part of the upgrade process, I upgraded PHP to 5.6.17

Most things work brilliantly, but when we have link tracking enabled on a CiviMail email we get this error:

  Fatal error: Call to undefined function drupal_add_http_header() in
  /home/ace/public_html/sites/all/modules/civicrm/CRM/Utils/System/Drupal.php
  on line 789

An example URL is https://acenterprises.org.uk/sites/all/modules/civicrm/extern/url.php?u=1535&qid=864040

There's nothing recorded in the HTTP Error Log - can anyone give me any clues on debugging this error?

Thanks!

This seems to be an issue with 4.7 and 4.7.1:
https://issues.civicrm.org/jira/browse/CRM-17953

The issue has a workaround solution, and the full fix will be linked from that issue when it has been implemented.


Are other Joomla users having problems with the Pay Later options? This was reported as fixed in either 4.7.8 or 4.7.9, but has not worked for me on a Joomla site since 4.7.10 at least.   I've had to revert to creating two separate menu items for membership, one with Pay Later, and one with credit card processing in order to provide a method of payment for those who do not wish to use PayPal or any online payment system.

Now that its time for the annual convention, I've had to create two separate events to allow for the same issue.

I reported this back in February on JIRA as CRM-20057, but nothing has been done and evidently there has been no verification of the issue.  I can't test this on the Joomla demo site as the Joomla demo is running 4.6.18, and also shows other issues.

So ... IS anyone else having problem with Pay Later ???

AND ... WHY can't someone update the Joomla demo to the latest 4.7 release so we can verify whether its a local issue or not.

I'm not going to say Joomla is a second rate citizen, but it is by far, the least used cms of the three big ones, by people that use CiviCRM. It is the only one I use on a regular basis, so don't get me wrong, I'm not talking it down. I think the answer though is basically going to come down to if you what the demo site updated, you are going to need to ask how you can update it for others to be able to use. I tend to find that, while there are a could of us that use Joomla a lot and try to support it, if I want an integration with Joomla or a feature or whatever, I need to own that and make it happen.

As for the pay later, I don't think I've used that in 4.7, but I do have it installed, so if I can test something out, I'd be happy to. even if you just wanted me to create a blank Joomla 3.7 (just dropped today) and install the latest CiviCRM for you to be able to test on, I'd be willing to do that. In MatterMost, you can reach me @rtobias81, or just comment here and eventually I'll get an alert.


How to raise a form error in \CRM_Core_Form::postProcess() I have a class with a signature:

class CRM_Contact_Form_Task_FooPdf extends CRM_Contact_Form_Task {

What generates a PDF. During the PDF generation, there might be an error. This task also uses the standard mail template:

public function buildQuickForm() {
  // Add message templates.
  CRM_Mailing_BAO_Mailing::commonCompose($this);
  CRM_Core_Resources::singleton()->addScriptFile('civicrm', 'templates/CRM/Contact/Form/Task/EmailCommon.js', 0, 'html-header');
  $this->addDefaultButtons(ts('Continue'), 'done', 'cancel');
}

It works totally fine. It shows up among the actions on a search form, when I select it, the template UI shows up, and i have access to the data. The only issue is that during the PDF generation, sometimes I need to raise an error, which is not a fatal error, but something that the user must correct himself.
At the PDF generation, i am in the \CRM_Core_Form::postProcess() phase. Can I set a form error and re-display the form with the submitted values?

Issuing this (and of course skip to stream the PDF) does not work, as I am redirected simply to the main admin page of CiviCRM, the form is not re-generated:

$this->setElementError('text_message', 'moo');

But I guess it's because i am already at the postprocessing.

You are correct that postProcess runs too late. Consider the conventional request lifecycle for HTML_QuickForm/CRM_Core_Form:

At the end of the Validate phase, it makes a major decision about whether to rerender the form with errors. However, the postProcess function is part of the Process phase which should only run on valid forms.

The conventional way to set a validation error in HTML_QuickForm is to register a validation function. For example, in CRM_Group_Form_Edit::buildQuickForm(), note how it calls addFormRule(...) (and how the static function formRule() conditionally returns an array of errors). This runs at the correct time.

For mitigations, you might consider:

Add some checks in the validation phase to predict whether the error condition will arise. (Ex: If the issue is a missing dependency or inadequate RAM, then validate the dependency or RAM beforehand.)
Report the error via CRM_Core_Error::fatal(), throw new Exception(), or CRM_Core_Error::statusBounce().
Don't rely on HTML_QuickForm as the main form processor. Implement client-side logic with Javascript and AJAX callbacks.
(Evil but possibly working) Do the heavy lifting during the validate phase. (This will, e.g., make it hard for third-parties to hook into the form... but it may work...)
(Evil but possibly working) Dig into the mechanics of the CRM_Core_Form lifecycle and figure out a way to short-circuit/cross-wire the phases for your controller.


Make changes to lots of events I recently created some custom fields and some new event types for events.  Now I need to edit each event to change the event type, as well as populate those custom fields, for 5 years worth of events.  I just need to edit 3 fields: the event type and 2 new custom event fields.

I tried making a custom profile so I could do an export/import, but I guess custom profiles are not supported for events.

A search of stackexchange suggests there is really no way to bulk edit event information.

Would it be horrifying if I made the edits manually in the database?  Any other suggestions on options to edit event data in bulk?

Thank you!

You could do this using chaining in the API, either by script or with the API Explorer.

Eg:

$result = civicrm_api3('Event', 'get', [
  'sequential' => 1,
  'options' => ['limit' => 0],
  'event_type_id' => "Fundraiser",
  'api.Event.create' => ['id' => "\$value.id", 'event_type_id' => "Meeting"],
]);

Or in words: find all the events of type Fundraiser.  For each one, use the 'create' API call with the id of the found event and set the type to Meeting.

To run this in API Explorer you need to enter the chained part as json:


How to display custom fields 2 fields in row, instead of new line for each field I'm new to civiCRM, I tried to search but didn't find an answer, although I feel that my question is naive

This is an argument in favor of using a tool like Webform-CiviCRM integration (on Drupal) or Caldera Form CiviCRM integration (on WordPress).  The CMS-based form builder has additional layout flexibility, and both allow you to place fields side-by-side.

If you don't want to use those tools, you can use CSS rules to place the fields side-by-side.


Selecting multiple radio buttons Could anyone tell me how I can set up a customised field which allows me to select multiple options in each field?

Do you know if it's then possible to generate reports which show all records with a selected group of checkboxes checked for a specific custom field?

Setting up your custom checkbox field is fairly simple. See the chapter on Creating Custom Fields.

Yes you can create reports that filter based on multiple values in a custom field:


CiviCRM and PayPal Pro's Transparent Redirect We are looking into PayPal Payments Pro for payment processing. PayPal mentions "Simplified PCI Compliance" as a benefit and explains that the client can use Transparent Redirect to help with PCI compliance.

The Payflow Gateway Developer Guide and Reference explains the Transparent Redirect this way:

  PayPal Payments Pro and Payflow Pro merchants who want PCI compliance
  while maintaining full control over designing and hosting checkout
  pages on their website can use Transparent Redirect. Transparent
  Redirect posts payment details silently to the Gateway server, so this
  sensitive information never goes through the merchant’s website.

Per Eileen in CiviCON Denver- Adventures in Payment Processing: 360 View from around the Globe, it sounds like there is a way to get Civi to allow for transparent redirect.  Per this comment, it sounds like transparent redirect was being worked on for 4.7.

How would one implement Transparent Redirect in CiviCRM for PayPal Pro? Do the recent payment processing changes in 4.7 allow for it?

I've looked at PayPal Website Payments Pro and Express Configuration, but didn't see anything in there.  I've checked the demo for 4.7 to see if there is a setting in there, but didn't see anything in the payment processor setup.

We use Drupal and are currently on Civi 4.6.6, but looking to upgrade to 4.7 within a month or so.

Thanks!

So far there is some support for transparent redirect in the Omnipay extension but not in the core codebase, as it requires an extra form in the process.

It's likely that at some point Omnipay will ship with core - so developing it in this context is fine. However, although there is an Omnipay library for Paypal its not currently in the extension


Can you invoice an event participant I have a few participants registered for an event that haven't paid.  Is there a way to invoice them from the the event report?

Welcome to CiviCRM SE!

You can email an invoice for any contribution type including events. You can find more information here:

https://docs.civicrm.org/user/en/latest/contributions/invoicing/

Hope this helps!


Since Drupal 7.4x I am unable to upload/browse images in civicrm kcfinder is not allowing me to browse or upload images. I get this error:

Sorry but we are not able to provide this at the moment.
You must be logged in with proper permissions to edit, add, or delete uploaded images.

I am logged in as User 1. It seems that kcfinder does not know that I am logged in.

It turned out that our was a permission issue. I'm on Pantheon so I want able to change the permissions on the directory I was using, so I changed directories for uploads and it worked


How am I meant to use $mask in hook_civicrm_links? I don't really understand what the point of the $mask variable that is passed to hook_civicrm_links is. Can anyone explain it to me?
PS I understand how to use the other variables and I might not need to use $mask (the examples in the docs don't) but I feel like I might be missing out on something ingenious here.
The docs say:

$links = the links array to modify in-place
each item in the array may have:

name: the link text

url: the link URL base path (like 'civicrm/contact/view', and fillable from $values)

qs: the link URL query parameters to be used by sprintf() with $values (like 'reset=1&cid=%%id%%' when $values['id'] is the contact ID)

title (optional): the text that appears when hovering over the link

extra (optional): additional attributes for the  tag (fillable from $values)

bit (optional): a binary number that will be fitered by $mask (sending nothing as $links['bit'] means the link will always display)

ref (optional, recommended): a CSS class to apply to the  tag.

class (optional): Any other CSS classes to apply to the  tag (e.g. no-popup).

$mask = a bitmask that will fiter $links

So I am guessing it is something to do with permissions.  A but of human friendly explanation with context and example would be much appreciated :)

The way in which $mask is used in combination with the bit value of each link (e.g. $link['bit']) to show or suppress links is defined in the CRM_Core_Action::filterLinks() function. Specifically, if the expression (!$mask || !array_key_exists('bit', $link) || ($mask & $link['bit'])) is true, then the link is included. Otherwise it is removed (unset()) from the $links array.
In other words, the link is displayed if any of the following is true:

$mask is zero;
the $link array does not contain a 'bit' field;
the bitwise and of $mask and $link['bit'] is nonzero.

Otherwise, the link is removed.
What I have not figured out is where and how the $mask value is initialized, and where the existing $link['bit'] values come from. For example, on the Contact Search Results page, the links include the following bit values. It's hard to see how a bitwise mask could be used to filter out the links with bit values of 7000 and greater. And it appears the bit values are sequentially assigned, so the link action for a given bit value may change depending on the user's permissions. It seems it would be safer to filter on, say, the $link['url'] value to find and remove or alter particular links.
Decimal Hex     Binary                      Link Text
   4    00004   0000 0000 0000 0000 0100    View
   2    00002   0000 0000 0000 0000 0010    Edit
7000    01B58   0000 0001 1011 0101 1000    Delete
7001    01B59   0000 0001 1011 0101 1001    Add Donation
7002    01B5A   0000 0001 1011 0101 1010    Add Pledge
7003    01B5B   0000 0001 1011 0101 1011    Add Membership
7004    01B5C   0000 0001 1011 0101 1100    Add Relationship
7005    01B5D   0000 0001 1011 0101 1101    Record Activity
7006    01B5E   0000 0001 1011 0101 1110    Add Note
7007    01B5F   0000 0001 1011 0101 1111    Send an Email
7008    01B60   0000 0001 1011 0110 0000    Add to Group
7009    01B61   0000 0001 1011 0110 0001    Tag Contact
7010    01B62   0000 0001 1011 0110 0010    Communication Preferences Link


Adding copy/code to specific donation pages Drupal 7 site:

We need to add data to certain donation pages.  For instance, it should appear on id=1 but not on id=2.  This includes some code and js.

I made a Main.extra.tpl and everything works fine when it appears on all pages, but I have not been able to restrict it to be included only on page id=1.

I read that you can do:
{if $contributionPageId == "yourPageId"} Your custom messaging here {/if}

but wrapping my code in
{if $contributionPageId == "1"}  {/if}
doesn't work.

Is there a better way to do this?

Thanks,
Rachel

Edit: For now I've modified Drupal's page.tpl.php with:

if ((arg(0) == 'civicrm' && arg(1) == 'contribute') && ($_GET['id'] == '1')):

which does the job - but I still believe there must be a better way.

There are two "better ways" you can try.

First, you can put a template override into a folder with the contribution page ID.  So if the current override is at <overrides>/templates/CRM/Contribution/Form.php, then <overrides>/templates/CRM/Contribution/1/Form.php will only override page ID 1.

However, template overrides aren't very maintainable, and they're pretty hacky.

Instead, you can create an extension.  You can use hook_civicrm_buildForm like so:

function myextension_civicrm_buildForm( $formName, &$form ) {
  if ($formName == 'CRM_Contribution_Form_Main' ){
    CRM_Core_Resources::singleton()->addScriptFile('org.example.myextension', 'js/myjavascript.js');
  }
}

This technique is covered in greater detail in the Resources Reference.


Update core from 5.33.2 to 5.35.1 generates errors when re-enable modules Re-enabling non-core modules after update spawned hundreds of this error:
WD civicrm: hook_civicrm_alter_drupal_entity_labels should be updated to  [warning]
pass an array of parameter names to CRM_Utils_Hook::invoke().
Array
(
[civi.tag] => deprecated
)
For these modules:
civicrm_contact_match was enabled successfully.                           [ok]
civicrm_contact_match defines the following permissions: modify uf match
civicrm_cron was enabled successfully.                                    [ok]
esoCiviMail was enabled successfully.                                     [ok]
webform_civicrm was enabled successfully.                                 [ok]
civicrmtheme was enabled successfully.                                    [ok]
civicrm_contact_ref was enabled successfully.                             [ok]
civicrm_entity was enabled successfully.                                  [ok]
civicrm_entity defines the following permissions: civicrm_entity.rules.administer, administer CiviCRM Entity

WD civicrm: hook_civicrm_alter_drupal_entity_labels should be updated to [warning] pass an array of parameter names to CRM_Utils_Hook::invoke(). Array ( [civi.tag] => deprecated )

For this,  i think you need to apply https://github.com/eileenmcnaughton/civicrm_entity/pull/238 patch in civicrm_entity module.


Profile for Drupal User Registration not functioning Our simple "My Details" profile for Drupal User Registration is not functioning.

The profile adds fields for First Name, Last Name and Birth Date to the Drupal User Registration page.

But when a new user registers, an account is created but the profile field information is not saved. Even the field names (mostly) are not shown on the new users page (see second image below). A Civi contact is created with just the Drupal email address.

Even if admin user tries to add those details via the Drupal user page, the information is not saved. If added via CiviCRM, the contact information does appear in the Drupal accounts.

I've tried creating a new registration profile with just First and Last Name and disabling the existing one - same result.

We have latest Civi version 4.7.25 and Drupal 7.56. No errors in Drupal logs at time of account creation. Several modules including Mollom, Webform-Civi Integration, Civi-Rules Integration, LoginToboggan, Views etc. installed.

Any suggestions on how we can debug this appreciated!

Phil Hart - Camp Cooinda - CiviCRM Member

Check your Drupal CiviCRM permissions, particularly the following:

CiviCRM: profile create (anonymous users)
CiviCRM: access all custom data (anonymous and authenticated users)
CiviCRM: profile edit (authenticated users)

Also, check the profile settings: click "fields" and make sure none of them are "view only".


How to enable multi valued profile fields in contribution page? I have included a profile in a contribution page,
I need to add multiple combination of first name,last name and email value in the contribution in a way that I have an Add More Button which can load combination of fields if required
How can I achieve it?

You can either create custom fields against contact and include them in a profile and using JS play hide and seek with those custom fields or you can create your own fields using buildform hooks and add it to profile form and include JS to hide show.

HTH

Pradeep


Why can't I download spark? I entered all my information in the sign-up area and it comes up with the following: The website encountered an unexpected error. Please try again later.

Sorry for the inconvenience. We had a small glitch recently and it should be resolved.


Updating a Case Activity using API With case activities, the Activity Create API seems to create a new revision of the activity. Is there a way of using the API to update a case activity without adding a new revision?

My code currently looks like this:

   foreach ($acts as $act) {
     $result = civicrm_api3('Activity', 'create', [
      'return' => ["contact_id", "subject"],
      'id' => $act['id'],
          'custom_114' => $var1,
          'custom_115' => $var2,
     ]);
   }

I just want to overwrite the contents of custom_114 and custom_115 in each existing activity record, but it seems to create a new revision of each activity, containing the updated values.

API v3
CiviCRM v. 5.10.4
Joomla

There is also a setting which AFAIK prevents adding a new revision. The setting is under Administer>System Settings>CiviCase>CiviCase Settings and is called Enable Embedded Activity Revisions


Retrieve Drupal user id from CiviCRM Contact id Is it possible to retrieve Drupal uid from CiviCRM Contact id? Can any one please guide me?

OR

Is it possible to get the Drupal user detail associated to a payment contribution?

As others have noted it's not clear what you're asking but based on your wording I'm going to assume you mean via code. You can use the api explorer at https://mysite.org/civicrm/api (replace "mysite" with your actual site) to explore what's available and give you some sample code. Here's how to get the drupal uid given the civi contact id.


Merge contacts deletes left hand user in Wordpress I'm working with a new membership site and have migrated the data.  When members renew, if the email address is different, it creates a new contact, as expected.  So I have been merging a few contacts in Civi.  At the top of the merge screen it says:
"
WARNING: There are WordPress user accounts associated with both the original and duplicate contacts. Ensure that the WordPress user you want to retain is on the right - if necessary use the 'Flip between original and duplicate contacts.' option at top to swap the positions of the two records before doing the merge."
So I keep the Wordpress user on the right, check the fields to merge and then complete the merge.  However, the wrong Wordpress user is kept linked, and not the one associated with the Civi record on the right.
Am I doing something wrong?

I think the wording needs updating. What matters is the checkbox at the very bottom of that screen that takes the left user and moves it over to the right. If it's checked then the user account on the left now gets associated with the contact on the right.


Civi forms in Joomla module (qfKey?) I am trying to put a "mailing list" subscribe form into a Joomla module (having the sign-up be its own page is not very useful).

However, I am running into problems with qfKey. How can I generate a qfKey?

I can copy and paste the generated form html, but submissions can't happen without a valid qfKey in the form post.

Any other/better ways of doing this or is there a simple function I can call to generate a qfKey for mailing list sign up?

Thanks in advance,
Joel

I don't think you can generate a qfKey - if I understand your question, using an html-snippet of a Profile that is set up with the Groups field may give you what you want.


Using CiviGrant as the applicant/recipient Our charity doesn't offer grants but applies for a fair few. Having had a play around with CiviGrant, I can't see any immediate problem with using the component as a way of tracking grants that we've applied for and received etc. but the documentation from Civi suggests it's only for managing grants going out of the charity:

  In contrast to CiviContribute, which tracks money going into your organisation, CiviGrant tracks money going out of your organisation. CiviGrant has a data structure and workflows that support the grant application process with the ability to manage the amount applied for, amount received and any reports necessary for the process.

I created a sample organisation as a contact to attach to the grant and all seems OK to use as a way of managing incoming grants. Just wondering if the community knows something I don't as to why this might not work e.g scaling, reports etc.

That's totally possible - I have one medium size org that uses Grants exclusively for this purpose. We're using some simple Word Replacements -> in civicrm/admin/options/wordreplacements?reset=1 to help Staff use native CiviCRM Grants to track income:


CiviCRM event registration is failing I am trying to create an event (that includes a fee) but for some reason every  time I click on "Info and Settings," it shows me the following:

"Sorry but we are not able to provide this at the moment.
You do not have permission to access this page
Return to home page."

I tried numerous times to create the event, and everything looked fine until it didn't show up in my wordpress form dropdown, and I couldn't insert it onto my website. When I went back, that's what it showed me. Please help!!! I am not experienced with Civi and feel like its a glitch in their system because the system just goes crazy on me every time I click something. Thanks!

The problem is almost certainly a misconfiguration of your domain names or your SSL certificate.  Please look (carefully!) at the domain name of the page that is telling you that you don't have permission.  Then click "Back" to the page from which you clicked the link and look at the domain name there.

Is one page using SSL and one not?  E.g. does one address start with "http://" and the other with "https://"?
Does one address start with "www" and one not?  E.g. http://www.example.org and http://example.org?

If so, that's your problem.  As for fixing it - please update your question with your CiviCRM version and the CMS software/version, along with which of the two problems you're seeing, and someone should be able to point you to a fix.


How to capture verbal contribution commitments: invoice, contribution pending or pledge? If a constituent makes a verbal commitment (ie. at event or via phone campaign) to make a one-time donation (ie. pledge) and we want to track + invoice them to fulfill that pledge, what is the best way to process via online self-service?

It looks like Pledges are designed for this, however:

They require an installment period.  We only have a commitment for a
one-time donation.
We need to ensure the payment matches / fulfills the pledge.  Is there a special link for a pledge fulfillment/payment online?  If not, the system will consider the pledge unpaid and continue to send reminders.

Alternatively, we can create a contribution with payment pending (or create a Pledged status type)

How do you send an email invoice and ensure that the payment matches the pending contribution?
Is there a way to construct the URL so the payment marks the contribution as complete?

I'd be open to using webforms - This seems like a common use-case.

Unfortunately pledges do not work with online contribution forms the way you'd like without an extension. You can use the framework for partial payments that's available in github and seen at the CiviCon in Denver earlier this year

First you'll need to create the contribution(not a pledge) on the back end. You probably can use the same concept with a checksum email if you don't want to require a login.


Civicase add timeline but activities not shown Version:civicrm-5.33.1-wordpress
I tried to create a timeline hoping then when i add it, it will be shown in the activities tab. But apparently this is not working. Is there any setting i missed out?

This looks like another casualty from the button UI changes. Have added https://lab.civicrm.org/dev/core/-/issues/2292. Can you try this small patch? https://github.com/civicrm/civicrm-core/pull/19356/files
The way that dropdown works is a bit weird - changing the value clicks a hidden button, and the way buttons submit their name to the form has changed, so it doesn't recognize it.


Is something missing in Activity search? In Advanced search I see the radio buttons With, Assigned to and Added by. However there is no option to enter any person's name.

Is there something missing on interface level in Activities section of Advanced search?

CiviCRM 4.7.14. on Drupal (it looks the same in sandbox).

Since you are using Advanced Search, there is a whole section at the top called Basic Criteria, which has fields like Name.

On dmaster I double checked. I ran the search with just 'with, and got 92 results, i then ran the search with "d%" in the Name and it dropped to 37 Results.

Is that what you needed to know, or have i entirely missed your point?


Scheduled Job not executing with wp-cli under cron, but works manually This wp-cli command executes fine from the command line, but not when run as a cron job.

/var/sites/d/mydomain/wp-cli --user=admin --url=https://mydomain/wordpress --path=/var/sites/d/mydomain/public_html/wordpress/ civicrm api job.execute auth=0

Any idea where I could start to diagnose this? I have checked the Civi logs in ConfigAndLog, nothing there. I have set php.ini as below

log_errors = On
log_errors_max_len = 1024
error_log = /var/sites/d/mydomain/logs/php_error.log

But nothing in that log either.

To analyse this, as suggested by @Aidan I redirected the cron output to a file by adding this string to the end of the cron command:

&> /var/sites/d/mydomain/logs/cron.log

This showed that the command was failing with "Fatal error: Class 'Phar' not found in /var/sites/d/mydomain/wp on line 3"

Having queried this with my hosting support, it turned out that the implicit version of PHP called from cron was 5.4, but from SSH terminal, it defaulted to 7.0.  Once I explicity called v7.0 php at the front of the cron command as below, it ran fine:

/usr/bin/php-7.0 /var/sites/d/mydomain/wp etc


How to allow logged in user to view their own civicrm contact dashboard in wordpress? I want to allow logged in user to edit own contact details(own) from contact dashboard and edit custom fields(own)

WordPress Version 4.9.8
CiviCRM Version 5.5.1

Giving permission to user 'edit own contact' will be able to update his own details.  You can check permission by navigating to CiviCRM >> Administer >> Users and Permissions >> Permissions (Access Control) and then click on Wordpress access control


Hyperlink not working within CiviCRM emails When I send an email on CiviCRM, and want to add a hyperlink (to a webpage for example), I've had responses from those I sent it to that the link doesn't work. I've followed the hyperlink button on the formatting tab above on emails so would like to know if there is anything else I should be doing. Thanks

CiviMail is usually (and by default) configured to mangle the links in a civimail message in order to be able to track them. I suspect you've got a configuration issue which is preventing those mangled urls from working properly.
A mangled url typically looks something like this:
https://example.org/civicrm/mailing/url?u=21189&qid=1478417
Solutions:

If you're in a hurry, you can just turn off the link tracking for your message.

CiviCRM has recently converted from a different url for such purpose (one with "extern" in the path) - if you've got an old link like that which is breaking, you probably want to update your civicrm version to fix the problem.

In any case, to help you further, it'd be useful to get details about the link that "doesn't work", i.e. provide the url of an example and also what you're seeing on the screen when following that url.


Mailgun will no longer support TLS 1.0/1.1, does this affect CiviCRM Smtp I am using Mailgun for sending the email newsletters. I do not use the Mailgun API for sending, just the standard SMPT configuration. Now MailGun sends me the following, bit disturbing email:
 Mailgun will no longer support TLS 1.0/1.1

I assume CiviCRM uses a more recent version, but where can I find this?

For SMTP Civi by default uses pear::mail, which uses Net_SMTP. The current version of Net_SMTP that civi has supports TLS 1.2. See https://github.com/pear/Net_SMTP/blob/18b5dbaa049bee5f6d02c9a4318db02472e2c922/Net/SMTP.php#L613
It also depends on the version of the openssl extension you have installed in your php. If you run php -i | grep -i openssl or look at the output of phpinfo, you most likely have newer than openssl 1.0.1 so should be good.


Accessing fields/data from a lookup field Does anyone here know about CRM? Accessing lookup field data (composite address field) using JavaScript? Lookup field is on Contact form. Trying to access address of Account entity

I'm not sure I understood exactly what you try to access, but pretty much every entity in civicrm is accessible via an API, and you can easily use it from javascript.

https://docs.civicrm.org/dev/en/latest/api/interfaces/

you can use the api explorer and experiment, once you have succeeded fetching the data, you can copy paste the generated javascript code and add it in your own extension, or wherever you want to put your custom code.


Manage Group broken on 4.7.5 after update to 4.7.5, the "manage Groups" page just says "No groups have been created for this site".

Although the groups are functioning otherwise.

This also happens on the sandbox/demo site.

Please follow https://issues.civicrm.org/jira/browse/CRM-18376 for the resolution of this issue.


Membership Auto-Renew Changes in AuthorzeNet We have memberships setup to auto renew on a monthly basis utilizing AuthorizeNet. All works fine. When a member needs to change their CC  information (or any other info) and the change is made within AuthorizeNet recurring payments the transaction continues to process correctly but the info is no longer sent to Civi so the monthly renewal is not recorded.

Anyone else experience this?

The site is running Civi 4.6 with WordPress.

Changes made to recurring contributions directly through the payment processor portal tend to break the communication back to Civi on subsequent installments (as you have surmised).

For any significant changes to a recurring contribution (amount, credit card type, financial type, etc.), it is best to cancel the existing recurring subscription and create a new one to avoid communication and other issues. If all you need to update are the credit card details (e.g. someone wants to use a different AMEX card from the one they originally created the subscription with), then making those changes from within Civi should communicate with Authorize.net without interrupting communication back from authorize.net on subsequent installments. You would do this by clicking the "More" hyperlink to the right-hand side of the recurring contribution record, select "Change Billing Details" and entering the details. The best way to see if this works is to update the credit card details directly from Civi, then log into the authorize.net portal and check to see that the updated information is listed on the subscription in question.

Hope this helps!
Tamar


Using event.balance token I'm having trouble getting the event.balance token to display properly in emails. I've tried {event.balance} (which breaks Smarty so it doesn't send the email) and {$event.balance} (which is returned with [blank]). Is there some smarty capture or other declaration that I need to do?

My test participant shows $300 paid of $1000 total fee, so I am expecting the token to resolve to "$700.00"

Civi 4.7.21 Joomla 3.7.5

This Fuzion extension would be worth checking out, and if it doesn't provide the required token, could have a PR with the required code, which might be better than a standalone extension for this problem


Bee email composer integration (alternative to Mosaico) Has anyone had experience with using Bee with Civi? I see that Nicolas Ganivet, the co-founder and CTO of Cividesk, was looking into it back in 2016.

In my opinion, Bee has significant advantages over Mosaico. I realize Mosaico is open-source and free, but its capabilities and user interface seem to be lacking compared to Bee.

Any input is appreciated!

The mosiaco extension integrates the mosaico editor for mass e-mail editing in CiviCRM. However it is not an e-mail service.

I dont know of anyone in the community who have been looking into it, however there is a question on Stack Exchange about integrating a bee template into CiviCRM: CiviMail/Cron Fails using BeeFree template


How to enable Email Recipients to reply to all? When you send an email (not a mailing) to the members of a Group, they all receive it in BCC, which makes it impossible for them to reply to all.

How can I change (or parameterize) that ? Is there any existing Extension ?

We've run into the same issue, and couldn't find any extension to solve it.
We could develop something like a 'recipients public' flag on the "Email - send now" action, that would allow the reply-all option to work in any email client.
Is anyone else interested in this development? Let us know...