CiviMail and Smart Groups: when does CiviCRM identify the actual list of email recipients? If I set up a mailing to a smart group, and schedule it to go out one month from today, will CiviMail send to the contacts in the smart group as they are defined at the point when I create the mailing, or at the point when the mailing is sent out?

CiviMail does this at the time when the mailing is created, i.e. when the groups are chosen etc.

The primary reason behind this is to account for permissioning and what contacts to send the mailing to. Doing so at mailing creation time is relatively easy, since we know the contact id of the user, and hence know what contacts the user has permission to send mail to.

It gets a lot more complicated (but not impossible) to do this during mail delivery, primarily because the cron job will need to evaluate the groups in the context of the person who created the mailing


parse error in civicrm_handler_relationship_relationship.inc since upgrade to 4.6.11 Since upgrade the site is broken with the following message:

Parse error: syntax error, unexpected ';', expecting ')' in /home/ablaze/public_html/sites/all/modules/civicrm/drupal/modules/views/civicrm/civicrm_handler_relationship_relationship.inc on line 58

Line 58 looks as though it is properly closed and removing the semi-colon just introduces another error.

As an emergency repair I've dropped in the file from the last version and it is working again.

Differences in files:

Line 25

old:

$options = array(0 => 'Any');

new:

$options = array();

Line 53

new line inserted:

 '#multiple' => TRUE,

Murphey's law being what it is I've broken my develoipment environment so can't work out anything else for a while.

I just hit this error, too. It's in 4.6.11 and 4.6.12. It appears to be fixed in 4.7.1.

Line 56 in the file is the culprit. It should be

'#description' => t('Choose to limit this relationship to one or more specific types of CiviCRM relationship.'),

Here's the commit that fixes it.


Does anyone have experience with migrating a MS Dynamics database to CiviCRM We are in touch with an organization that is planning a move to CiviCRM. They currently use Microsoft Dynamics and they will want to migrate the data into CiviCRM (I suspect 4.6). Anyone done that before, hints, pitfalls, approaches, experiences they would like to share?

We are just at the end of migrating an organisation who were using MS Dynamics. In this case, they were providing us with spreadsheets and we were then sorting out the data clean up and manipulation in order to get the results required in CiviCRM.

We didn't use our more complex tools such as the Drupal Migrate approach that we developed for a number of reasons, but even without that we have for example managed to take the old 'one row for every year of membership' and import it so we have a single row for continuous memberships etc.


Add membership details to summary tab I would like to pull through some of the membership details into the summary tab (don't ask... clients...!)

What is the easiest way to do this, as when you are on the summary tab, none of the membership info is assigned to smarty.

This is civicrm 4.5.4

Cheers.

Create a new extension and use hook_civicrm_summary which should be of more use and you can add value at any place

Please refer to the following link for more reference
http://wiki.civicrm.org/confluence/display/CRMDOC43/hook_civicrm_summary


How to add a secondary Case Role that has access to Activities they are not 'on', eg ones that existed before they were added We want to add a secondary case role that is similar to Case Manager with slightly less permissions (eg cannot change/add case roles, can't delete case etc).
We have a relationship that can be added as a case role in the case settings.
People that have this new case role also have a drupal role. Their permissions are currently "access my cases and activities" , "view all activities.
However when they look at a case they are the new Case Role for they can see all the activities listed for the case, but don't have the option to go and 'view' the activity's details (unless they are a contact listed on the activity).
We want them to be able to view the activity details for the case.

When we find the relevant url that would give a Case Manager access to the activity, and test that url as this other user then we get "do not have permission to access this page" - eg url of type /civicrm/case/activity/view?cid=XXXX&aid=YYY

Thoughts?

I'd say this is coming from CRM_Case_BAO_Case::checkPermission(), around line 2659 where it says

//user has only access to my cases and activity. [sic]
//here object specific permmions come in picture.

It seems like this is part of the definition of "my cases and activities", where you have to be either the reporter, with contact/target, or assignee of the activity to be able to view it.

So to get the arrangement you're looking for you either have to give them access to all cases and activities, or something more complicated involving code is needed.


Mosaico image upload and gallery error When trying to upload an image to the Mosaico editor I get an internal server error and the image doesn't appear in the template nor in the gallery.

However, when I check the upload folder the image has actually been uploaded.
Also, when I compose a traditional mail I can see the images in the KC Finder.
Imagick is present on my server.

Any idea how to fix this?

I have the exact same problem & eventually just gave up on it. It must have to do with file permissions and the settings configuration, but I couldn't get anything to work.

Out of curiosity, who's hosting your site?


WordPress Base Page not working? I would like to use a custom display for some civicrm page as error contribution form pages.

So i have created a template wordpress page named civicrm, fill "civicrm" in WordPress Base Page field in admin.

I have inserted the shortcode to insert a contribution form
But when i validate the form on frond end i am not redirected to the good url (the one with base page i have specified)

Could you help me ?

Thanks

I would suggest to try telling CiviCRM what is your base template.php pasting this in your functions.php

add_filter( 'civicrm_basepage_template', 'my_basepage_template' );

function my_basepage_template( $template ) {
return 'page.php';
}

Replace page.php with the page template in use by your theme.

If that doesn't work, try changing to the default WordPress theme (Twenty Fifteen) and try submitting the form in the Contribution page you have created and report back.


How to embed Drupal Views in a CiviCRM Email Template? Has anyone added a Drupal view to a CiviCRM template?

For example, we have build a CiviCRM email template with a Latest news list on the right hand side of the template. We would like to pull in the latest news links from a Drupal view that is referencing a New content type.In theory it is similar to adding a block to the right hand side of the template.

This way users creating the template do not need to manually add the links to the right hand side of the newsletter. Thanks.

Fuzion did create a module some time ago that lets a token pull a drupal view in to a mailing. Take a look at https://github.com/eileenmcnaughton/civicrm_views_token

It is sometime since we had to do any work on it but hopefully it still works.

At the time it was pretty limited in what it offered but it did mean that you could eg build a 'latest news' view in Views and then have that pulled in to a bulk mail.


How to add the Recent Items stack (block) I just watched a youtube tutorial on how the basics of CiviCRM. The video showed a recent items list on the left of the page. My CiviCRM does not have that. Is there any way I can add it? It would be extremely helpful.

Thanks,
Becky

You didn't mention which CMS you are using, and this is CMS-dependent feature. In Drupal, for example, you would select from the menu Structure | Blocks and then find the item labeled "CiviCRM Recent Items" and select "Sidebar First" for its region for the theme that you are using for CiviCRM (which can be different for admins, and there is a setting at bottom of /admin/appearance to set that).


How to remove the link 'do this for different person?' on a contribution / membership renewal page I'm obviously missing something...

Wordpress / civicrm 5.4

I have a contribution / membership renewal page to allow members to renew.   They need to log in before veiwing the page  It presents them with their contact info via a profile and allows them to change any incorrect info and then asks them to select their membership type and pay.  All seems to work  great!

Except for the link that says 'want to do this for someone else?'  If they click on this and happen to know the email address of another member seems they can rewrite all their contact info?!

I don't seem to be able remove this link.

The above is obviously bonkers.  But what am i doing wrong please?
Is the 'do for different person' link removable?
Is it not possible to limit the ability of members to update info to their own records? Is there a permission I need to set somewhere?  Or do I just need to separate out the processes for making contribution from the process for maintaining contact info?

thank you:)

Have you tested this as a regular user and not as an admin or higher-level user? There should be a set of permissions that define whether or not users can edit their accounts, the accounts of others, etc. Make sure "edit all contacts" is only select for the appropriate role(s).

Here's what they look like in Drupal, for an idea:


Contacts unexpectidly added to Mailing Groups (by Admin) I'm using CiviCRM with Wordpress and have around 1500 contacts.

I have 3 groups with around 120 contacts in each group which I use for mailings.

I sent a bulk email to one of the groups then around 10 minutes later all 3 groups had 550 contacts in them.

When I look in the Groups tab of one of the newly added contacts I can see that they were added to all 3 groups at the same time and says "Added (by Admin)".

Has anyone come across this before or have any idea why it might have happened?

Is there a way to find contacts based on date added to a group so I can search for them and remove them from the groups?

Thanks

From UI i don't think there is any way you can get history of contact being added to group. If you have hands of experience in writing sql statements than you can use civicrm_subscription_history table in Civicrm to track down about all history of contact added to group by dates.


Contribution receipt has "display in honor roll" when personal campaign pages is off After upgrading the CiviCRM to version 4.7.15 on Drupal Commons 7.50, I noticed that CiviContribute receipts are coming in with a field "Personal Campaign Page: Display in Honor Roll", however, personal campaign pages are turned off. Is this a bug or do I need to adjust my settings somewhere? See screenshots below.

From Receipt

From CiviContribute Page settings

Thanks!

Even though Personal Campaign Pages was off, Widgets had become enabled. Once I disabled Widgets, this went away from the donation receipt.


Help with QuickForm Image Upload I have created a form and I am trying to get an image to upload. I have the following set:

$this->add(
      'file', // field type
      'image_file', // field name
      'Upload Image', // field label
      TRUE // is required
    );

However, when I submit the file it does not upload anywhere. Any ideas on what I am doing wrong?

Thanks!

You missed a param to that function. The 4th param is attributes, which you can pass as an empty array, and the 5th param is required, which you can pass TRUE.


Change Wordpress Title I know there are some issues with how Wordpress sets page title. That being said, how can I change my current site title. All the pages I view have the title

CiviCRM ‹ civiCRM_test — Wordpress

I've been trying to figure out where this is set. It seems simple but grepping the file directory and searching the database  for 'civiCRM_test' revealed nothing. I'm assuming the problem is that the title concats various strings all of which are too generic to find with a search. This is simple if you know where to look but I'm not sure where that is. Thanks

CiviCRM content displays in WordPress in two separate ways.  The first is through shortcodes: when you insert a CiviCRM shortcode in a page, CiviCRM renders the corresponding form.

CiviCRM still needs to render pages even if nobody has entered shortcodes for them, so the second method gives long URLs such as http://yoursite.org/civicrm?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=1  These URLs actually take the page that's before the question mark and replace all the content.  It used to be (4.5.x and earlier) that this would be your site's home page by default, but now it defaults to a page titled "CiviCRM" with the slug civicrm.

I think this is what's generating the page title you're seeing: "CiviCRM" is the title of the base page, and "civiCRM_test — Wordpress" is your site name.  Set the site name in your WordPress settings, and set the base page title by visiting the page you get when you edit the URL to remove the question mark and everything after it.  Change the page title, and that should change it for all CiviCRM pages with the long URL style.


How can a user related to an Organization login and be restricted so they only see related members of the organisation With CiviCrm can you manage accesses of single organization, set user and password for this single organization, and show only individuals related this organization, and only manage related membership of this organization?
Thanks

I will try to answer though the english version of your question may mean i guess wrongly.

if the goal is to have John connected to organisation First Co, and Mary connected to organisation Second Co, then yes it is possible that when John logs in he is restricted to seeing only contacts connected to First Co and will not see those connected only to Second Co., and the opposite will apply for Mary.

EDIT: To do this you need to apply Access Control ACL  and the way to do that will depend a bit on the general purposes of your site.

One option for example is that you can set ACLs to work on Relationships (I can provide more detail on this) so that for example John or anyone else who is an 'officer' of First Co can then access anyone who is an 'employee' of First Co.

To achieve the latter involves installing extensions. In this case the Related Permissions extension and the extension that it depends on, CiviCRM Entity Settings.

When the above extensions are enabled, on any Relationship Type you should now see a new field saying Always Permission A to B (and vv). And at civicrm/admin/setting/misc?reset=1 you should see an option for 'Allow second-degree relationship permissions'.


Error when updating Pending Contribution After searching pending contributions and ticking some of them, I select Action > Update Pending Contribution Status > Completed > Update.

I get the following error : "Sorry, we cannot provide this at the moment ; expected one PriceSet but found 19" ... which is rather amazing, since :
- I have only 4 PriceSets defined in my Civi;
- The Contribution Page uses no PriceSet.

However, I don't have any error when I select "Update multiple Contributions" instead of "Update Pending Contribution Status"

(Currently running Civi 4.7.16 / Drupal 7.54)

I believe this is the same underlying error reported here:
https://issues.civicrm.org/jira/browse/CRM-20297

Specifically, contributions containing line items without a matching priceset can cause problems (because CiviCRM tries to match them up with priceset items and can generate errors when it does that badly).

It seems likely this error can be fixed using the patch provided for that issue, here:

https://github.com/civicrm/civicrm-core/pull/10012

Here's a short cut url to to a patch ready version of that pull request:

https://github.com/civicrm/civicrm-core/pull/10012.diff


How to get rid of Â when exporting report to CSV file How to get rid of Â when exporting report to CSV file. running report

This should be solved in version 5.22. It's usually non-english characters where Excel needs a special header to be able to determine the encoding.

See https://github.com/civicrm/civicrm-core/pull/16117 and https://lab.civicrm.org/dev/core/issues/1424


How do I rename an activity used in CiviCase? I have this problem on CiviCRM 4.6.8 with Joomla, and reproduced on the demo server.

If I rename an activity (from Administer->Customize Data->Activity Types) used for a Timeline within CiviCase, I can't figure out how to get the activity label to update in the backend or frontend of CiviCase.  Even if I remove the activity from the timeline and try to re-add it, it uses the original name.

Is there any way to rename it without deleting the Activity type and creating a new one?

There is an open issue for this here: https://issues.civicrm.org/jira/browse/CRM-16664

Latest comment from the core team is:

  This is both hard to fix and low priority because it only affects super admins who have privileges to define case types.
  Patches or funding would be most welcome in moving this issue forward.


How are "Billing" location and "Is billing address" automatically set by CiviCRM? I'd like to know under what circumstances does CiviCRM automatically set an address's Location Type to "Billing", under what circumstances does it automatically set the "Is billing" checkbox for an address.

For example, when completing a public-facing contribution form, or a webform, etc., how are these fields populated?

(I've read Why is there a Location Type AND a Checkbox for billing addresses? which aims to explain the purpose of these fields, how they might be used and understood, and why you might manually set them one way or another, but this is slightly different, since I want to know how they're automatically set by CiviCRM.)

I am not sure if this answers your question, but if you do not have an added profile type to collect a mailing address, the CiviContribute form will automatically only provide a place to check or enter billing address only. If you add a profile type that collects their mailing address also, then CiviCRM will ask on the front-facing form via checkbox if the billing address is different.

If you do not add a mailing address profile, CiviCRM will record the provided address as a billing address. If you do provide the mailing address profile, then CiviCRM will populate both fields according to what the user entered for mailing and billing.

Also, without the added profile to collect a mailing address, the CiviCRM will automatically populate the billing address field with whatever address it knows from the contact record, which may have been entered on the back end or from when the user registered for an account on your website.

When you set up the CiviContribute form on the back end, you will see a tab for "profiles" in which you can add or create a profile such as this.


Need membership form mod to control contact creation The public facing membership signup (contribution) form (wordpress) will only create individual contacts. We need to control the type of contact created based on the membership type the user selects. If they select a 'Student' membership then we need an individual contact. If they choose a 'household' membership then we want a household contact to be created. Shouldn't be too hard to write, but I don't know where the code is or how the internal api works. What would be the most relevant php files to work with and what api commands are involved in contact creation?

Have you experimented with the api explorer?

As far as the API  is concerned on the wp demo site you will find a great explorer at http://wpmaster.demo.civicrm.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fapi%2Fexplorer#explorer.
The URL will be similar for your own site.

Remember, the eplorer is "live" so you should experiment on the demo site or on your test site, not your live site.

As far as the rest is concerned, I am not a delevoper so I can't comment on whether what you want to do might be achievable or not, but it sounds rather like you intend to hack core and that is not recommended. An extension is the preferred approach.


How to install Extension manually, ignoring certificate warnings? I tried to install the Stripe extension a short while ago, but the website hosting the extension has an expired SSL certificate, so CiviCRM gave me an error:

SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

60

I've now downloaded the file manually and placed the folder in my Extensions directory, but I still can't install, I get the same error.

Is there a method to install overriding this warning?

I had to delete com.drastikbydesign.stripe.xml from the civicrm_extensions/cache folder, then use the Refresh button on the Extensions page.

Only then did it pick up that the Stripe Extension folder had been copied locally (rather than remote), and let me install manually.


Custom Fields for Activities not getting Prefilled by a Drupal Webform When I setup a webform to update existing activities, and I give it cid and activity1 parameters in the URL, the webform loads up contact information and core activity information, but not the custom fields data. The custom fields just stay blank.
My first instinct was to re-examine the permissions, but this is the administrator account (with all Drupal permissions checked), additionally I added the Civicrm ACL permission to view/edit the custom field (not that this should matter) but the issue persists. I can add activities and custom data just fine, display the data using Views, but custom field data just doesn't load up in the webform, it's blank.
How would I go about debugging this? Am I missing something obvious?
I tried to recreate the issue on another instance with the same version of Civi and Drupal, but I couldn't do it, everything just works there.
Civicrm 5.20.0 | Drupal 7.72 (modules up to date) | PHP 7.1.33

I have identified the problem.
This occurred only for the activities where the activity participant wasn't set. So it's all about contact record type in the civicrm_activity_contact table. The issue happens when you load the activity where you don't have the target specified (record_type_id = 3). If this happens the activity data loads, but the custom fields data don't.
I don't know if this is expected behavior, but I don't think so.
For me the fix is easy, I will just write an SQL query that will add the target contact (which same as the activity creator in my case).
I will create the issue for Drupal Webform CiviCRM Integration module.


"Use (create mode)" button is missing WordPress 5.2.2, Civi 5.15.1

I just created a custom profile containing custom Membership fields, and want to get its URL so I can add it to the Navigation Menu. However, the Use button does not appear on the profile's field list page. In the past I have created other custom profiles containing all Contact fields, and never encountered this problem. Is there something special about Membership profiles, or am I doing something wrong?

Yes it's intentional that there are no links if there's mixed record types in a profile.

It's been like that for a LONG time:

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

Also for reference:
https://github.com/civicrm/civicrm-core/blob/5.15.1/CRM/UF/Page/Group.php#L353

UPDATE: Based on the comments, I think this is what is desired:

Create a profile that has just the membership fields.
On the manage contribution pages, on the profile tab for your membership contribution page, include the profile either at top or bottom.
When the person goes to buy their membership using your contribution page they'll see the custom fields from your profile.


Add large amounts of custom data to contacts I have "contacts" that are websites.  I want to add large amounts of custom data to my contacts.  An example of the type of data I want to add can be seen in this "report" https://freephile.org/wikireport/?wikiUrl=http://wikia.com

How should I setup my CiviCRM with all these custom fields (profiles?, custom field sets?)

Once the database is setup, I envision populating the data through the API, but is there any particular method for populating data sets that I should be aware of?  (I've already figured out the basics of checking a record, and storing a simple relationship like contact+website)

You need to configure one or more Custom Data Sets to contain the information you wish to maintain. Generally you would want to split the information across data sets to reflect any natural categorization, for instance having datasets for 'Wiki Report', 'Extensions', and 'Statistics'.

If you are planning on using the API to load the data, you don't necessarily need profiles (unless you anticipate also doing some manual entry). Profiles can also be used for display, but (if on Drupal) you may find views much more useful for display.

(datasets maintain the actual definition and storage of custom fields; profiles generally provide forms for the entry of the custom field data, or for display of information.)

Using the API is fairly straightforward so you shouldn't have any problems with that I don't think.  Using the API explorer (yoursite/civicrm/api/explorer) is a hugely useful tool for figuring out the proper call methods.


Schedule reminder test not working - execute now for job not working So I have set up a scedule reminder and made sure it is only dirrected to my email. When I go into sceduled jobs and execute the send_reminder job, it doesn't work. I worked twice yesterday to a collegues email but hasn't work since to either mine or theirs. Is there any way to fix this? Or any reason it wouldn't work? Is there another way to send out emails to custemer a certain length of time after a specific date?

thanks

As far as I recall scheduled job execution wont send the reminder if its not due, what are the settings for your reminder?


Is CiviCRM right for a non-profit medical group? Would CiviCRM be appropriate for a 501(c)(3) medical group practice's philanthropic endeavors?

Without knowing what your organization is trying to do, it is difficult to provide meaningful feedback. You should take a look at CiviCRM's features and see if it fits your need. At the bottom of the site you'll find some useful links, including:

Browse case studies,
Contact an ambassador,
Introductory webinars,
Watch videos,
Try a demo,
Read documentation,
Ask a question,
Find an expert


Help with Drupal upgrade I currently use Drupal 7.5.3 and need to upgrade to 7.5.4. Running it with CiviCRM. I'm a novice with this site and need a little hand holding to figure this out. Basically the site admin is AWOL and the person running the organization I'm working for asked me to figure this out.

I used instructions from here: https://wiki.civicrm.org/confluence/display/CRMDOC/Upgrading+CiviCRM+for+Drupal+7#UpgradingCiviCRMforDrupal7-1.DownloadthemostrecentCiviCRMPackage

I'm stuck at steps 7 through 11, since I don't know where the code files are stored or how to access them.

Two things:

1) The instructions you posted are for a CiviCRM upgrade, not a Drupal upgrade.

2) There's nothing wrong with being a novice!  However, upgrading a live site is something you do NOT want to take on without some experience, much as you wouldn't try to fix your house's electricity without some practice.  You can easily wreck the site - upgrades are NOT something you can do via point-and-click on the website.

If after reading this you're interested in learning the skills, I would try installing Drupal on your personal computer, following one of the many tutorials available online.  It will be challenging - expect to take at least a day if you're inexperienced!  When you're done, you'll be in a much better position to tackle your live site.


smart groups and relations I want to build a smart group with 3 relationships. Is it possible to search for 3 relationships in one step?

I have tried with advanced search, search builder and custom search. But I havent found any solution.

I have CiviCRM 4.5.2

thx

A solution would be to create a smart group per relationship type and then another smart group that contains all 3 groups.

I am not sure why in advanced search you can only select one relationship type and not more at the same time.


How to fix this JSON Error with Joomla 3.7, CiviCRM 4.7.19, PHP 7.1? To evaluate CiviCRM, I've installed CiviCRM 4.6.26/Joomla 3.6.5, subsequently upgraded to CiviCRM 4.7.19/Joomla 3.7 site that is running PHP 7.1.

The backend 4.7.19/3.7 install appears to work fine, but when I define a CiviCRM Dashboard or anything else as a front-end menu option, I get

RuntimeException: Error decoding JSON data:
Syntax error in /home/hillcresttm/public_html/libraries/vendor/joomla/registry/src/Format/Json.php:72 Stack trace:
#0 /home/hillcresttm/public_html/libraries/vendor/joomla/registry/src/Registry.php(366):
  Joomla\Registry\Format\Json->stringToObject('{"menu_image":"...', Array)
#1 /home/hillcresttm/public_html/libraries/vendor/joomla/registry/src/Registry.php(72):
  Joomla\Registry\Registry->loadString('{"menu_image":"...')
#.............

Various Joomla support forums indicate that message is likely a problem with JSON data that is not valid. In Joomla versions prior to 3.6.3 (October, 2016) this failed silently, but since 3.6.3, it generates an error.

I've cleared/disabled my Joomla caching with no change in the error. I found a CiviCRM item on cache, but the directory structure did not match my installation.

Any suggestions for how to proceed?

Bruce

As of May 2017, I'd say PHP 7.1 / CiviCRM combination is probably not ready for production use - I tried it the other day and ran into some errors. If you need to run CiviCRM in production, I'd switch down to PHP 7.0.x or 5.6.x.

You might be able to get it to behave with some other configuration changes or by being more actively engaged in CiviCRM development, but for a production site I'd recommend shifting down to 7.0.x.


why is the percentage of successful deliveries greater than the intended recipients in civi mailing report? I have started experiencing some problems with bulk mailing, for at least 3 mailings the mailing report shows successful deliveries greater than the intended recipients. I have checked the detail report and noticed that some contacts actually show successful deliveries 4 times, while others are double or triple - see attached

In some cases, the contact email is marked as on hold but report shows double or triple successful deliveries.

My Mailer Batch Limit is 750, cron used to run every 15 minutes (*/15 * * * * wget -O - -q -t 1 'http://mysite.org/sites/all/modules/civicrm/bin/cron.php?name=username&pass=password&key=site-key'), i have changed it to every hour but still get more deliveries. Mailer Throttle Time, Mailer Job Size and Mailer CRON job limit are set to 0. I have had this settings for long and didn't experience this problem until recently.

I have also taken a look at this post here but this doesn't seem to be my case.

What should i be looking at? Civi 4.6.10, Drupal 7

@Kboy - that sounds like it could be a bug; General receipe for this sort of scenario is to update to latest 4.6.x - if this then still persists let us know and file a bug report on JIRA. 4.6.x latest is where you want to be for many other reasons since 4.6.10 - so time well spent. Please keep us posted!


Change Email Address and Name Fields from required to not required during uploading of records Newbie here :)

It appears that the following fields are required when you upload records:

First Name
Last Name
Email Address

I have records to upload that some of the records do not have a First Name, Last Name and/or Email Address.

Is there a way to change these fields from required to not required in the uploading portion?

If I am incorrect about this, please let me know. :)

Thank you,

LAE

Contacts have to meet one of two criteria to be imported.

Either: First Name AND Last Name

Or: Email Address.

(in contrast to First name AND Last name AND Email Address).


Join & Update Notifications How can you tell if someone joins a mailing list (selects from a checkbox option in custom fields)?

How can you tell when someone updates their contact preferences?

You could use the extension CiviRules to do that.

You need to set up two different Rules, one for each process.

Select a trigger and condition with your requirements (group contact is added, and contact is changed, would be the triggers I think)

Dependent on your preference, you could create one of these actions:

a scheduled activity assigned to a backend staff
a tag (that could be shown in a report on your dashboard)
send you an email (then you need to install the Email API as well, and choose to send email to alternate email adress)
send you an sms (then you need to install the SMS API as well, and choose to send sms to alternate phone number)


Attachments in Message Templates How do I attach documents to a message template? Am I overlooking an "attach" button?

I believe that's not possible yet (it would be a good feature to add to CiviCRM).
Adding attachments is only possible sending an email or bulk email, not when you create/edit a message template.

You could upload the file/attachment to your server/site and include a link that points to it in the message template so recipients can download it.


Failed to import contacts into groups (with csv import) I have contacts belonging to different groups.

I made a first csv import successfully : I have all data of contacts and they are all in the same big group.

But then I tried to import them group by group with just their email address and the update option. The import seems to be successful. It mentions "    Stratégie internet: One contact added to this existing group."

But when I go to group panel, the group has no new contact.

I tried many thing (import more than email for this 2nd import, change group visibility, use a new group, etc.) but it is still the same.

To bypass this problem, I use Yes/No custom field to import the data "Belonging to A group". Then I use an advanced search to select those contacts and add them to the A group.


Relationship created by API does not add Membership until edited/updated CiviCRM 4.6.8

I'm using Relationship.create in a civicrm post hook to create an inherited membership. My membership type is set to use this relationship. However after that API call is successful, the relationship exists but no membership follows.

I was reading the source for api/v3/Relationship.php and noticed this note for the setvalue method. It seems like I need to use it to invoke disableEnableRelationship.

However, I tried setting is_active to 1 with Relationship.setvalue in my hook function right after creating the Relationship and still no membership. Is this expected behaviour?

Here's roughly what I have:

$id = $relationship['id'];
$params = array(
       'id' => $id,
       'field' => "is_active",
       'value' => 1,
);
$result = civicrm_api3('Relationship', 'setvalue', $params);

Curiously, I notice if I edit the specific relationship in the admin UI and save, the proper inherited membership gets created.

I wouldn't use the setvalue method, it was introduced as a stop gap measure when the api v3 was young and it's deprecated now.

Is the relationship already active when you call the create call? setvalue isn't going to do anything more anyway.

I don't know the specific of that api, but in general, the api calls tend to be "close to the metal" and if there is a chain of events (eg if relationship is created and lots of configuration magic, then add a membership too), they are often not included by default.

On your specific case, if you are lucky it's just a matter of finding the right parameter to trigger the "advanced mode", or create the membership manually.

You should check out how it's done in the code for the UI, the code handling the membership creation might be already into the BAO layer and you can easily modify (or add an extra param) to the api to benefit from it.

If not, it might need some re-factoring....


How to link two Organizations with a pair relationship? I have this situation I'm working on since way too long involving a sub type of Organization.
I work for a professional Union and 2 sub-organisations can belong to the same person. Which means that one contact owns 2 organizations or said differently two organizations share the same organization contact.
My first approach was to create an individual contact and an organization with a relationship of type owns/is owned by. Using the same individual contact, you could register dozens of organizations with this vertical link. The thing is that for my processes, all memberships acquired by the organization level were transferred to the individual and I couldn't have receipts for each particular organization with the specific contribution and the name of the owner (even with extended tokens)
So now, I changed my mind and focus on the relationship between organization. I've created a pair relationship and I'm wondering about how to link organizations between them. I thought about a CiviRule that would compare the custom fields created for the contact within the organization and add the relationship type (but haven't succeeded yet). I also thought about prepopulating custom fields from the URL sent after the first registration.
How would you deal with that?
(I'm working on Drupal 7.72 and CiviCRM 5.25 using a webform for the registration)

Finally it works back to the first approach. The tipping point was to set the organization as first contact in the CiviCRM tab of the webform and then the individual contact and also change the relationship order with Organization being A and Individual being B.
Which means that I can now link two organizations or more through the same individual contact but keep everything related to the membership/contribution at the organization level and find every single needed token with related token extension.
it's a great relief.


How to link one contact's address to be the address of all contacts in a specific group via SQL? I would like to link one contact's address to the main address of a group of many other contacts.
I see how to do this manually for one contact, but I cannot find a way to to this in a bulk way for a whole group.
Thank you

This is how you set the address of all people in a certain group (group id = 13), to be the address of a specific, different contact (address id 15432)

SET @InGroup:=13;
SET @MasterAddress:=15432;

UPDATE civicrm_address SET master_id = @MasterAddress
WHERE contact_id IN
    (SELECT contact_id
    FROM civicrm_group_contact
    WHERE status = 'Added'
    AND group_id = @InGroup)


Is anyone using Google Group Integration for CiviCRM? We have tried implementing Google Group Integration for CiviCRM - we got 90% there but ran into issues.  We have some funds to get a fix - but we have not heard from the developer.  Is anyone using this extension successfully?

I have a forked version of the primary repository where i have updated the code to support latest version of api. This is hasn't been tested since 2 years.


Why are my simple donate pages throwing an error? I am using latest Simple Donate on D7 with Civicrm 4.7.29. I get this error when I go to the contribution page configured for Simple Donate:

Warning: implode(): Invalid arguments passed in CRM_SimpleDonate_Page_SimpleDonationPage->browse() (line 71 of /home/lifechallengesem/public_html/data/sites/default/files/civicrm/ext/com.webaccessglobal.simpledonate-2.0/CRM/SimpleDonate/Page/SimpleDonationPage.php).

any help troublshooting would be greatly appreciated!

Looking at the extension code it seems to me that the Simple Donate pages are not set properly in settings table. Can you please re-save the Simple donate page setting by navigating to Administer >> CiviContribute >> Simple Donate Configuration ?


How display event for anonymous user with Rendered Entity In drupal a have added a field event to display a event in a web page. When I'm connected I see my Event field. The problem is when a anymous see my page he don't view my rendered entity.

If I change the format of my field to 'label', I can select the option 'Show entity labels regardless of user access' and with this configuration everybody can see my field. Where can I find the same option with the "Rendered Entity" format?

I use CiviCRM 4.6, Drupal 7 with modules CiviCRM Entity, Entity Reference and Display Suite.

Thanks

So out of the box, CiviCRM Entity enforces that user has a role with 'view event info' permission to see the rendered entity.

In your case, you could probably just grant anonymous users that permission

This can be modified by implementing hook_civicrm_entity_supported_info() in a custom module, where you can change what permissions are necessary to view entities, or you can specifiy a custom access callback handler

See civicrm_entity.api.php

See https://skvare.com/blog/civicrm-entity-customizing-and-adding-entity-types

Add the functions below to a custom module, replacing YOURMODULE with your module name.

The first implements hook_civicrm_entity_supported_info(). There you set a custom access callback for the event entity. In the callback, check for the view operation, if the event is_public property is not empty, meaning is 1, then check the user has 'view event info' permission. Any other operations and events will enforce 'administer CiviCRM' permission .. you could use another permission, like 'edit all events', or whatever.

UPDATE:

function YOURMODULE_civicrm_entity_supported_info(&$supported_info) {
  $supported_info['civicrm_event']['permissions']['access callback'] = 'YOURMODULE_custom_event_access_callback';
}

function YOURMODULE_custom_event_access_callback($op, $entity_type, $entity, $account, $permissions) {
  // if $op is view and event is public, check if the user has 'view event info' permissions
  if($op == 'view' && !empty($entity->is_public)) {
    // see https://api.drupal.org/api/drupal/modules%21user%21user.module/function/user_access/7.x
    return user_access('view event info', $account);
  }
  // For all other ops and non-public events, check for 'administer CiviCRM' permission
  else {
    return user_access('administer CiviCRM', $account);
  }
}


Outlook For CiviCRM - How to bypass activity confirmation dialog? Background: When Outlook For CiviCRM is properly installed, configured and enabled, a confirmation dialog titled Confirm Activity appers for every email that is going to be sent. We would like very much to use this extension, but in our daily business can't afford this extra step and the delay caused by it.

Question: Is there a way to setup a default confirmation for this Confirm Activity dialog?

Outlook-CiviCRM documentation says that the confirm dialog box can be turned off through UI.
Prompt for All emails?: If this setting is enabled - While sending emails, you would always be asked whether you want to record this email in CiviCRM (A small pop up confirmation box would appear). If you don't want to be asked every time and just want to record every email you send, turn this setting off

HTH
Pradeep


Cron is running, but not running I'm running CiviCRM 4.7.9 on Drupal 7.50.  Drupal's cron is running fine every 3 hours, using Drupal's built-in scheduler.  I can also run cron successfully manually.

However, I still get the famous error message in CiviCRM saying that cron has never run:

What specifically in the database is this check looking for, and what's supposed to be creating that?  Is this likely to be a problem with cron actually not running, or a problem with detecting whether it's run?

check out this very detailed answer on a different SE site by Chris:

https://drupal.stackexchange.com/questions/136722/drupal-7-cron-does-not-run-civicrm-scheduled-jobs


How do I delete registrations and automatically recalculate the invoice total? An end user registered too many people for an event. The client removed participants but the invoice total is not automatically recalculated to reflect fewer participants. Is there a proper way to do this or how do I make the correction to the invoice?

I believe this is possible with the Line Item Editor extension.


Incomplete (abandoned) event registrations Is there a way to capture those who fill out the event registration form, hit continue, but then do not hit continue on the confirmation page? I thought it used to do this, but noticed today that either I was remembering wrong or it has stopped doing this.

Essentially the folks I'm working with want people to have the pay later option without ever showing them that option. Too many people pick that rather than just paying now and then they forget to pay. But some government organizations and such need to do an invoice. So they want to capture the ones only partially submitted as being incomplete so they can then update them when the payment comes in.

They have the information on the confirmation page that you should pay via Paypal, but if you can't, here's how to do it. If you click Continue, it then takes you to Paypal.

CiviCRM doesn't store data that has been partially submitted. If your form uses paypal standard payment method and user fills in the other details and pay's now then he will be taken to paypal screen where he will need to enter card details or pay using paypal account. Before going to Paypal CiviCRM creates Pending Participant records and then changes status to completed if it receives payment.

So you will need to either have registrants submit 3 step form or build extension that would do one of the following

Don't use confirmation page incase for Pay later and/or Pay now.
Store Data in CiviCRM when user submits the main form, Truncate if user submits confirmation, Add report to list all the user that submitted partially.

(#1 will be simple and #2 will need more work)

HTH

Pradeep


How to solve [error_message] => Entity declaration references invalid or inactive module name I get this
[error_message] => Entity declaration references invalid or inactive module name [name_of_extension]
When trying to run:
cv ext:upgrade-db
It's an extension I don't recognize - but yeah it does not exist for this site.
It's not in civicrm_extension - it's not not in civicrm_managed. Where do I need to look to find this and strip it?

Ok - I went the long way around -> used civix to generate an extension of that name -> then pulled it into the site's extensions dir -> and installed it.
Now I can run cv ext:upgrade-db and execute much needed extension updates


Restrict Membership Payments to Fixed Contribution Amounts in 4.7 Yo yo yo everyone, hello we're doing an upgrade from civi 4.0.5 >>> 4.7 and running into the following issue :

In civicrm older version 4.0.5 we are able to create fixed payment amounts as the only options available on the contribution page e.g. https://sitename.org/civicrm/admin/contribute/amount?reset=1&action=update&id=78

Previously on the live payment (contribution) page in 4.0.5 it would display, in a box, the minimum membership amount, i.e. "(contribute at least $_____ to be eligible for this membership" plus "Your _TYPE__ membership expired on___expiration date_____) but at same time we could restrict payment options to solely the "Fixed Contribution Options"

(without compelling the user to add automatically the minimum membership fee to it)

Note : Membership settings are configured as follows

Membership Section Enabled? Y
Default membership selected Y
Require Membership Signup Y
Separate Membership Payment N
Display Membership Fee Y

In other words , restrict the payment to only use what we configure in the fixed payment options

For the minimum membership amount set in membership type , we just want to display it as previous.

No matter how we play with the settings...we cannot get it back after upgrading to 4.7

Any idea or links as to what changed in civicrm 4.7 and why ?

And .. do we need to custom code to fix?

In Civi 4.0.5:

In Civi 4.7:

The screenshots don't match the settings you listed above (e.g. "Additional Payment" is set to "Yes") but assuming the question is, "How can I match the 4.7 screen to the 4.0 screen?" you can add a Price Set for Memberships.

Go to Memberships menu » New Price Set.
Fill in the required fields.  Used For should be set to Membership.
On the New Price Field screen, set the Input Field Type to Radio.
Create as many options as needed, setting the "Membership Type" to the "A" Membership.
Go to the contribution page in question's Membership tab.
Set the Membership Price Set to the set you just created and save.


What does this civirule error message mean? Not a valid action, action class is missing I'm trying to add a rule that will send an email after a profile form is completed.  The trigger is Added to a Group.  The condition is the group created by the profile form.  When I try and select send e-mail for the action, I get this error message. "Not a valid action, action class is missing"  Using WordPress.

It looks like the Send Email action is not present, did you install the Email API extension (https://civicrm.org/extensions/e-mail-api)? This enables the Send Email action.

If you did, can you check if the action is actually in your database? The table is civirule_action.


How to provide custom token for subscription related automated messages? I'm trying to privide a token for mailing related automated messages. I followed the instructions about hook_civicrm_tokens and hook_civicrm_tokenValues but it does only work for "CiviMail" mails. In mails for group subscriptions (at least "Subscribe Message", "Resubscribe Message", "Unsubscribe Message" and "Welcome Message") the custom token will not be replaced.
function mysite_civicrm_tokens(&$tokens){
  // Define tokens for date (like today's year)
  $tokens['date'] = [
    'date.year' => ts("Today's Date: year")
  ];
}

 function mysite_civicrm_tokenValues(&$values, $cids, $job = null, $tokens = [], $context = null) {
  // Set tokens values for date
  if(isset($tokens['date'])) {
    // TODO: Check if token is required.
    foreach ($cids as $cid) {
      $values[$cid]['date.year'] = date("Y");
    }
  }
}

The custom token defined in mysite_civicrm_tokens is not availible in mysite_civicrm_tokenValues although I have placed it inside the mailing components under civicrm/admin/component.
I know that those mails are handled different from CiviMail mails so I guess there might be another way to solve this.

Those are Smarty templates, and don't use regular CiviCRM tokens - which is confusing because the tokens can look the same.
Fortunately, Smarty is a full-fledged templating language.  You can do date formatting pretty easily.  I think you want this:
{$smarty.now|date_format:"%Y"}


How can I chase up mailing list subscribers who don't confirm their opt-in? When someone adds themselves to a group that is configured as a mailing list they get sent an email with a confirmation link. The email includes the token: {subscribe.url}

We now have something like 2500 people in our database that have joined a mailing list but not confirmed, so they are in a 'pending by email' status. We want to run a campaign to encourage them to confirm their subscription, but the {subscribe.url} token doesn't appear to work in a standard CiviMail mailing.

We can't be the first to have come across this issue. How can we effectively encourage all of these people to confirm their subscription?

Taking answer from comment from @eli lisseck... Try using {action.subscribeUrl.gid} where gid is your group e.g. {action.subscribeUrl.5}. More generally, however, beware of assuming that these people have indeed chosen to signup rather than had their emails added by a bot/spammer. Trying to work around the double opt-in will make your site non-compliant with anti-spam legislation in the US and elsewhere, and will make your site more likely to get blacklisted as a spammer.


Contribution Page Confirmation Emails So, we recently set up a contribution page for people to buy tickets for a raffle we're hosting on our website. However, we are not receiving confirmation emails upon purchases. We get them when people donate through our "Donate Now" button but not for the raffle. Also, we have several fields on the contribution page that are not being displayed under the contributors profile. Can anyone help with this?

I hope this makes sense. I am new to United Way and CiviCRM so I'm rather in the dark with all of this. Hope someone can help!

Can you check if you have turned on send receipt? You can check by navigation to CiviCRM >> Contributions >> Manage Contribution Pages

Click on Configure link besides the contribution page and then 'Thankyou and receipting'

Once you on receipt page scroll down and check the box 'Email Receipt to Contributor?' if its turned off.

Also check under 'Profiles' tab if you have included correct profile.


CiviVolunteer will not install or uninstall So we are playing around with extensions that might help us, and tried to install civivolunteer. It is on my extension list, and the option is to "install". When I click this I get an error about Field: name must be unique. An conflicting entity already exists - id: 113

Other people have had similar errors, however, we have an additional issue. We now have the option to create a volunteer, we now have search options related to volunteers, but we do not have any civivolunteer menu options. We want all this stuff gone if we can't install it, we only really wanted it to try and track volunteer times, and this "half install" is not helpful. We want to uninstall it , but as I said above it only gives us the option to install it.

We have tried looking in /var/www/sites/all/modules/civicrm/ext$
but I cannot find the extension to just try and remove it like that. Where would it be installed? How can I get rid of these leftover parts of the volunteer extension?

Go to the extensions page (Administer > System Settings > Extensions) then click the arrow/triangle next to the extension name to expand the section.  That will show Local path where the extension files are.

Just removing the files won't remove the leftover bits of the extension from the database.  If it is partially installed but doesn't offer the option to uninstall then things are more awkward.  If you have command line access you could try cv ext:uninstall ....  Failing that you need to look at the install script in the extension, figure out what it adds to the db then manually remove those things.


API v3 get multiple results for one field I have a custom field that can be inserted multiple times in a contact. I'm trying to get the right syntax for the API to display an array with the different results.

Here what I'm trying: civicrm/extern/rest.php?entity=Contact&action=get&api_key=userkey&key=sitekey&json={"sequential":1,"return":"custom_40","id":900}

I thought that "sequential" would give multiple results but it's showing only one

{

"is_error": 0,
"version": 3,
"count": 1,
"id": 900,
"values": [
    {
        "contact_id": "900",
        "civicrm_value_fellowships_3_id": "305",
        "custom_40": "2007-06-30 00:00:00",
        "id": "900"
    }
]

}

Contact API sends one result per contact. In case if you want to retrieve all custom field value(multiple) of a contact than you need to use CustomValue api. Snippet for reference

REST:

http://localhost/drupal7/sites/all/modules/civicrm/extern/rest.php?entity=CustomValue&action=get&api_key=userkey&key=sitekey&json={"sequential":1,"return":"custom_81,custom_80","entity_id":296,"entityType":"contact"}

PHP

$result = civicrm_api3('CustomValue', 'get', [
  'sequential' => 1,
  'return' => ["custom_81", "custom_80"],
  'entity_id' => 296,
  'entityType' => "contact",
]);

entity_id = contact id

return = custom fields

HTH

Pradeep


How can I automatically advance to the next member of a filtered group upon webform submission? I've created a webform for a phone caller to use when calling members of a Civi Group who have already signed a card, to sign the Group members up for follow up activities.

Once the phone caller completes the call, and submits the form, I want a new form to populate with the name of the next Group member to be called.

The "target" contact is an Existing Contact, I have the Form Widget set to Static, under Default Value I have Set default contact from Auto - From Filters, and under Filters I've chosen only the relevant Group.

But the first name in the Group reappears upon Submit.

This is no quick solution (though I suspect there isn't a reliable one), but just as a note for future development--this situation of grabbing the "next call" is precisely why reserving contacts in the phonebank feature exists.  I think the real solution (that may be out of your immediate budget and timeframe Joe, but is what would actually tackle the issue) is to have a nice frontend on the phonebank.

Just as I call exposing a profile in create mode for semi-privileged users "intern mode"--for allowing someone to enter contacts without actually giving them full CiviCRM access--a phonebank listing would let someone go down the list of contacts reserved for them and potentially reserve a few more as the caller gets to the end of the list.  That would solve this problem in a non-Drupal-centric way, use the nice "reserve" feature to handle the situation in Chris's comment, and provide a complete experience for those running and staffing the phone bank.


Activity list is not showing in contacts after upgrade to latest civicrm 5.9.1 Activity list is not showing in contacts after upgrade to latest civicrm 5.9.1

I enable SQL debugging and its shows last query:
    SELECT COUNT(DISTINCT(tbl.activity_id)) as count FROM ( SELECT civicrm_activity.id as activity_id from civicrm_activity left join civicrm_option_value on civicrm_activity.activity_type_id = civicrm_option_value.value left join civicrm_option_group on civicrm_option_group.id = civicrm_option_value.option_group_id INNER JOIN civicrm_activity_contact ac ON ac.activity_id = civicrm_activity.id INNER JOIN civicrm_contact contact ON ac.contact_id = contact.id where ac.contact_id = 40023 AND civicrm_option_group.name = 'activity_type' AND civicrm_activity.is_deleted = 0 AND civicrm_activity.is_current_revision = 1 AND civicrm_activity.is_test= 0 AND ( civicrm_option_value.component_id IS NULL OR civicrm_option_value.component_id IN ( 1,2,4,5,6,8,9 ) ) ) as tbl LEFT JOIN civicrm_case_activity ON ( civicrm_case_activity.activity_id = tbl.activity_id ) WHERE civicrm_case_activity.id IS NULL;

Which means it return only count of activity  not the list.

I would suggest that you try clearing the cache first of all to see if that helps.  You can do this by deleting the files in the templates_c folder.  The location of this will depend on your CMS.  You can find more details in the documentation on upgrades.

If that doesn't help please edit you question to provide some more detail (including which CMS you are using).


Why are cv php:boot calls failing only when running unit tests and not through direct CLI calls? Starting with a new machine, and a new buildkit instance! Buildkit/bin's contents added to PATH successfully.
When I run cv php:boot --level classloader on the command line, I get:
/*BEGINPHP*/
require_once  '/var/www/project/sites/all/modules/civicrm' . "/CRM/Core/ClassLoader.php";\CRM_Core_ClassLoader::singleton()->register();
/*ENDPHP*/

But when phpunit tests are through the command line (with any of phpunit5, phpunit6, or phpunit7), the cv command line fails, returning "".
In the test directory's phpunit bootstrap file, replacing $result with what's output above works until the next time cv is called in the process, whereupon it also breaks.
I have set the execute permission on ~/buildkit/bin/cv to be globally executable. But it's the same user running it that cloned the buildkit repo.
Any ideas?

I found the answer: I was using a backup: the CiviCRM unit test framework uses files and services not found without doing a git clone (or buildkit equivalent). The folders you need from a git clone are Tests and Tools.
Leaving this here in case it assists someone who encounters the same problem.


Participant Status vs. Participant Status ID Did I miss something or has there been a architectural change with these parameters? The search builder gives a list of the status options for both of these parameters, but for the Participant Status ID is throws an error: is not of the type Int

In which release has there been recent changes to this part of civicrm? And which Github or JIRA issues document that change?

I don't think anything has changed.  Every participant status has both a label/name as well as an assigned ID (integer) value.  The search builder lets you construct a search using either construct.

I do see on the 4.6 sandbox, that when I select to search on Participant Status ID that its possible option values are the names rather than the ID's.... however the result set still came back correctly and displayed the ID's.

I suspect this behaviour goes back to v3 days.


Integrate Views3 with Drupal 7 I was told to integrate Views 3 with Drupal 7 following this tutorial:

https://wiki.civicrm.org/confluence/display/CRMDOC/Views3+Integration

However, I do not have this:

You should see a page with output that begins with: "$databases['default']['default']['prefix']= array("

So I'd like to know if that tutorial doesn't apply anymore or what I need to do to get that PHP config to show.

This is a fresh installation so I'm using latest versions of Drupal and CiviCRM

Thanks!

Navigate to CiviCRM -> Administer -> System Settings -> CMS Database Integration:

Copy all of that... into the Drupal settings.php file for your site!


Quality assurance considerations for membership signups I'm pretty new to the CiviCRM world and am just finishing my first project using it. We are now in the process of making sure that our membership signup procedure (with contributions) works well. As I see it there are a couple of ways to increase the chance that we will have a high quality in this part of our system:

We can communicate with users who have used the live system
We can carefully monitor the stats for new users
We can run tests ourselves

For the tests I see several possible ways, for example we can use the payment processor that we are using for the live payments but instead run it in test mode ("preview" in the url params). KarinG suggested in her answer to this question that we create a new payment processor and run it in live mode but with test credentials. Also there is the "dummy payment processor" which seems to be recommended in the CiviCRM user guide ("For the purposed of testing, you can configure dummy payment processors.")

How do we (in general) ensure that our donation procedure is working well? And a more specific question: Which of the options above (dummy payment processor etc) is the best way to test a membership system?

Grateful for help and with kind regards,
Tord

I strongly prefer the approach of having a $1 membership type set up, and testing it with real cards and real money. For $2-3 I get full piece of mind that things are working. I generally only need to know it is working on one Contribution page to give me confidence that it will be working on all pages using the same Payment Processor.


What does the "All Cases" dashlet actually display? Does anyone know what the criteria are for a case to be displayed when using the "All Cases' dashlet?

What seems to be clear is that what it doesn't display is all of the cases.

If I'm right it displays only active Cases with scheduled Activities. Indeed a confusing name.
If you close all Activities the Case is not shown.


Contribution Report includes TIME I'm creating a Contribution Report, Contribution Details. I include check the boxes for both Date Received and Receipt Date. The results for both include the time as well as the date. When I export it to a CSV file, there's the Time tagged on. In my Excel file, the Time lurks. Formatting the column doesn't delete the data but merely hides it. When I create a Merge Document in Word, the time appears and I can't delete it.

I don't want the TIME. Anywhere!

I have gone under Administer, Customize Data and Screens, then to Date Format and deleted the Time codes and left the Day, Year and Month codes. And I've gone to Administer > Localization > Date Formats and deleted the various codes various Time - and SAVED. Returning to those screens shows that Time is turned off.

What can I do to delete Time from my report?

Peter Keller

I took a look into this today because I thought this would be an easy fix.  It's not really.

What IS easy is to get the Receive Date to respect the Date Format settings like you describe.  If you know how to patch CiviCRM, you can find the patch I just wrote here.

However, this raises a bigger issue - there's only one Date Format for "Complete Date and Time", and most folks use that for letters to donors.  So it defaults to something like "October 3rd, 2019 11:15am".  My patch changes the report to output in this format.

However, I doubt that's what most people want from this report!  Most folks want to be able to sort by date, and changing this report would be counterproductive to them.

That leaves us with two other options:

Instead of using Contribution Details report, instead do an export of Contributions.  If you don't like the format, the Format Date Column in Extension will solve this for you.
Fix this in Excel with a formula.  See my screenshot below for an example.  My "Date Received" is column E, so I created a new column with the formula =LEFT(E2,10) in cell H2 and then pasted it down.

In the longer term, it might make sense for CiviCRM to differentiate between multiple date/time formats - one for public display, one for sorting purposes.


How to retrieve contacts from trash I inadvertently deleted a number of contacts and sent them to "trash". How do I retrieve them?

Use the Advanced Search (in the Search menu) and check the box labeled 'Search in Trash (deleted contacts)'. It is a small check box in the Search Settings part of the Basic Criteria section.  Whatever search you do will look in the 'Trash' rather than among active contacts.

Once those search results come up, you can select your desired contacts and, from the Actions list, 'restore' them.


after upgrade civicrm dashboard missing 5.23.1 drupal I have just upgraded to 5.23.1 from 5.15.2 (Drupal 7.69)
The upgrade screen was a bit "mumbled" but I assumed it worked ok.
When I went back in to Civicrm I first get a message:

    Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
    DB Error: no such field
    Return to home page.<<

When I return to home page and click on my record I can see it in Civicrm but there are no menus and I cannot see anyone else or anything else.

Do you have multi-lingual enabled? than try to rebuild the views to see if it resolves your problem

Missing column 'frontend_title' in ''civicrm_uf_field_de_DE" after upgrading to 5.1.2

Do you have DB logging enabled? than disabled and enable back again.
Else can you check the CiviCRM log/watchdog to get more details of DB error?


How do I set default values in afform? I'm working on my first afform extension.
I've built a form, which works! I can submit values and create a contact.
However, I can't figure out how to pre-populate with default values. This is pretty important for the application. I've tried a number of things but none of them seem to work (not even the 'defn` one which came from a published example). Any suggestions? Note: I don't want to populate the form with the values from an existing contact. I need to insert new values into the form so when submitted, it creates a new contact.
 <af-form ctrl="modelListCtrl">
        <af-entity type="Contact" name="member" label="Member" />
        <div af-fieldset="member">
          <af-field name="first_name" ng-init="first_name = 'Betty'" />
          <af-field name="last_name" value="Smith" />
          <af-field name="do_not_email" defn="{type: 'checkbox', default: 1}" />
        </div>
        <button ng-click="modelListCtrl.submit()">Submit</button>
  </af-form>

Afform is still in beta so I expect this functionality to improve further, but currently it does support passing in an id via the url. It keys off the af-entity name property. So if you visit your form and add ?member=123 to the end of the url string it should load contact id 123 as the "Member". In that case it will update instead of creating a new contact.


Cannot uninstall civivolunteeer I decided to remove Civivolunteer. Administer > System Settings > Extensions.  I disabled Civivolunteer and then Uninstall.
Error message: "DB Error: constraint violation"
The Civivolunteer extension cannot be enabled or uninstalled. What can I do?

Here is a paste of PART of the log where the error occurs

Aug 28 15:29:07  [info] $Fatal Error Details = Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => handle
        )

[code] => -3
[message] => DB Error: constraint violation
[mode] => 16
[debug_info] => DELETE FROM `civicrm_uf_group` WHERE `name` = 'volunteer_sign_up' [nativecode=1451 ** Cannot delete or update a parent row: a foreign key constraint fails (`willycg_civicrm`.`civicrm_uf_join`, CONSTRAINT `FK_civicrm_uf_join_uf_group_id` FOREIGN KEY (`uf_group_id`) REFERENCES `civicrm_uf_group` (`id`))]
[type] => DB_Error
[user_info] => DELETE FROM `civicrm_uf_group` WHERE `name` = 'volunteer_sign_up' [nativecode=1451 ** Cannot delete or update a parent row: a foreign key constraint fails (`willycg_civicrm`.`civicrm_uf_join`, CONSTRAINT `FK_civicrm_uf_join_uf_group_id` FOREIGN KEY (`uf_group_id`) REFERENCES `civicrm_uf_group` (`id`))]
[to_string] => [db_error: message="DB Error: constraint violation" code=-3 mode=callback callback=CRM_Core_Error::handle prefix="" info="DELETE FROM `civicrm_uf_group` WHERE `name` = 'volunteer_sign_up' [nativecode=1451 ** Cannot delete or update a parent row: a foreign key constraint fails (`willycg_civicrm`.`civicrm_uf_join`, CONSTRAINT `FK_civicrm_uf_join_uf_group_id` FOREIGN KEY (`uf_group_id`) REFERENCES `civicrm_uf_group` (`id`))]"]

)

I had an identical experience, here's how I fixed it.

Following @Demerit's clue:

Using sql:

update civicrm_uf_group set is_reserved = 0 where name = 'volunteer_sign_up'
Now remove the profile (previously, you couldn't via the web interface).

Re-do the uninstall, it now succeeds.

As per the note in the uninstall.sql file, the uninstall process is trying to use a foreign key to remove the profile indirectly, but it's failing. I suspect that profiles got more complicated and this strategy no longer works? Alternatively, perhaps when an early version of the extension gets installed it's subtly different?

Also note that this is actually the last line of the uninstall, so it mostly does uninstall.


When I go to the "Advanced Search" Screen, I don't see the tab Contributions When I go to the "Advanced Search" Screen, I don't see the tab Contributions for searching on the fields related to donations.

Is this a bug or the consequence of having activated only the CiviContribute, CiviMail and CiviReport components? Should I activate another component? Which one?

You need to enable it in Display Preferences. Navigate to
CiviCRM >> Administer >> Customize Data and Screens >> Display Preferences.
Check the contribution option under 'Contact Search' field.


Profile - Organisation Details but add employee/voluntter I am creating a profile for Organisations to complete on our website and it seems straighforward. Until it gets to finding how to add employees/volunteers as part of the profile.

How do I get an organisation to enter these details?

Thanks

For WordPress you will need to use Caldera Forms to achieve what you are looking to do. Here is a link to the documentation:

https://docs.civicrm.org/user/en/latest/website-integration/integrating-with-wordpress/#caldera-forms-civicrm

Here is a link to the Caldera Forms CiviCRM integration on Git Hub:

https://github.com/mecachisenros/caldera-forms-civicrm

Hope this helps


Add dupe check parameter to an API call - Contact Form 7 plugin I've installed the Contact Form 7 CiviCRM integration plugin, and it works fine.

I'm just wondering how to add a dupe_check parameter.

If I try something like:

contact_type=Individual&source=SitoWeb

it works.

But if I add:

contact_type=Individual&source=SitoWeb&dupe_check=1

it doesen't.

Here's the section where I have to add those parameters:

Without dupe_check the same contact could be added X times for X times he/she submits the form.

Thank you.

Did you try the same functionality in the API Explorer?

Basically the Contact Form 7 integration just calls  the CiviCRM API with whatever data is present, so I would expect that if it works in the API Explorer it will work from the Contact Form too.


WordPress w/ CiviCRM - Using Gutenberg in CiviMail Small bit of background, I volunteered with a charity and helped implement a Drupal 7 / Civi install a few years ago. So I know enough to get around Civi before looking at any more recent changes.
I am a member of a non-profit organisation where a members website is needed. The user-base is such that I am thinking a WordPress / Civi build is more appropriate to make better use of Gutenberg. My question is, can you use Gutenberg as an editor for CiviMail?
I am just thinking about ease of use, compared to the users who would need to use it.

HTML email is a bear, even with templated services like MailChimp. For that reason Civimail will not be compatible with Gutenberg. Why? Because most HTML5 editors are not compatible with email-style HTML. In order to ensure that an HTML email looks pretty much the same for all users across platforms, you end up having to use old-school borderless tables with styles embedded in the HTML. Style sheets and divs simply don't translate to email because html mail protocol is still over a decade behind browser html technology. Develop a simple html mail template with borderless tables and embedded styles. Make the template a fixed width of 500px. Even more critical is whether the email has images embedded or stored on your site, but that's beyond the scope of this response.
Frankly, younger users eschew email altogether at this point. You're better off creating a short text, twitter or instagram post with links to a news or newsletter post on your WP site. Of course your post on the WP site itself would be Gutenberg friendly.
Edit: Of course you could also go with an extension like CiviCRM Mosaico as Fabian suggested above. ;)


Contact Summary Layout based on relationship There is an extension called "Contact Summary Editor" by colemanmw which enables users to see specific parts of contact based on the group the user belongs to. During editing you can enable which ACL group is able to see which Contact Summary Layout.

I am wondering if there is a way to overwrite this extension to be able to choose which relationship enables certain Contact Summary Layout. For example, if the user is the relationship with the "Contact A" and this relationship is called "Owner of", then the user can see the most informations regarding "Contact A" and so on.

Have any one stumbled upon Contact views based on relationships?

How about creating a Smart group for each relationship type or so and having the layout available to group of contact. If not using Apiwrapper hook you can alter the filters of 'ContactLayout' entity.


hook_civicrm_postSave_table_name not called on table update In Drupal, I'm using hook_civicrm_postSave_table_name to listen for CiviEvent registrations.  I've implemented hook_civicrm_postSave_civicrm_participant($dao) where I test for certain status_id values and do something with a custom Drupal module.  Although this works for non-paid events, I noticed that it's not working for paid events.

The reason is because during the payment process the status_id is '6', but when the payment is processed and the status_id changes to '1', the hook isn't called (The hook does get called when the database row is written with status_id 6).

The documentation says "This hook will get called again with every update", but this doesn't seem to be the case.

Is this a bug, or should I be getting the participant status update in a different way?

You can use hook_civicrm_post hook which gets called every time a core object is written to db. Detailed description can be found here: https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_post/


Error message on sending a mailing, CREATE TEMPORARY TABLE Any ideas what is causing this when we try to send out a mailing?

("DB Error: syntax error",
CREATE TEMPORARY TABLE civicrm_temp_group_contact_cache495 (SELECT 25 as grou...") #4

mysql  Ver 14.14 Distrib 5.1.73

The last time I saw something like this was when custom fields on a table had been added, a group had been created using these custom fields and subsequently the custom fields had physically been deleted. This meant the custom group cache table failed to create - the group used in the mailing was the culprit. I'd try using a different group as a test. If it works then look to rebuild your smart group - the full error in the SQL should point you in the right direction.


How to include individual information within organization record I admin a CiviCRM 4.6 site running on Joomla 2.5. It's a company-based membership organization, and we're looking for a better way to keep track of prospect activity. Here are a few considerations:

We process memberships manually, so all main members are organizations, with individuals receiving the "employee of" membership status.
We want to keep track of activities such as phone calls and emails from within the organization record, in case we get a new main point of contact for a particular company, the activity record stays in the same place.
We've created a separate category for individuals called "Main Contact" used for reports, so when we pull a list of members, we get the main contact person's information.

With this in mind, is it possible to have particular fields (such as name, title, email, phone, etc.) from the designated "Main Contact" pulled into the organization's record? I've worked with databases that did this, where you entered in the ID number for the main contact into the company record and it pulled in and linked the individual's information. Then, when running a report for members, you can set it to pull just member organizations, but have the person's name and contact info. It would also allow for easier prospect management, by being able to have a record of all activity stay with the company. So a new email from the company profile would go to the "Main Contact."

If this isn't possible, any ideas for a workaround?

Not sure if this is a helpful answer, but do you already know that when you create an Activity eg for a Phone Call, you can mark it as being 'with' both the Organisation and the Individual? Eg I would go to the Individuals record, add the Activity to them and then also find/add their Employer so the Activity record shows on both contacts.


Control content access in larger Wordpress site using Civicrm credentials We would like to make a portion of our site accessible to members only. Is it possible to tie certain parts of the larger Wordpress site to Civicrm membership?

In otherwords, if a user sets up an account in the Civicrm portion of the site, can that membership be used to access other pages in the site (that are not necessarily within Civicrm?

A quick google found this blog describing the CiviMember Role Sync  Plugin for WordPress. Does that deliver what you need?

EDIT - Christian is recommending this plugin instead


Twilio - how to disable inbound SMS My client has asked me to disable Twilio handling replies from users - anyone know how this is done? i.e. outbound only, no inbound.  The number I am renting says it can send/receive SMS - So I want it to send only, but can't see any settings for this.  I removed the mo=1 parameter in Civi settings for Twilio but it made no difference.  I'm on 4.7.21 and Drupal.  Ideas?

The install instructions at https://wiki.civicrm.org/confluence/pages/viewpage.action?pageId=86213770#SettingupaSMSProviderforCiviSMS-twilio say

In Twilio account settings, go to Numbers and click on the number you want CiviCRM to "listen to". That will open configuration settings for that phone number. Under Messaging, change Request URL to http://yoursiteurl/civicrm/sms/callback?provider=org.civicrm.sms.twilio with HTTP POST

So if you remove that url it should stop posting inbound to CiviCRM.


APIv3 Rest URL ... Could not load the settings file I have a test instance started  a day ago of CiviCRM running on Amazon EC2 using the bitnami version (https://bitnami.com/stack/civicrm/cloud) which uses Drupal 7.72 and runs CiviCRM 5.27.4
I added an api_key through MySQL for the correct user id and read the CIVICRM_SITE_KEY from civicrm.settings.php which I found at /bitnami/drupal/sites/default/civicrm.settings.php
Running APIv3 through the CiviCRM console (http://mysite/civicrm/api3#explorer) works and generates an example query url to use for REST. However, when I substitute in the keys and put the query in my browser address bar I get:
"Could not load the settings file at: /bitnami/drupal/modules/contrib/civicrm/../..//default/civicrm.settings.php"
What can I change to make sure that the civicrm.settings.php file is found?

Ok, so this is a temporary fix. Would be interested to know a final solution:
In the path /bitnami/drupal/modules/contrib/civicrm/../..//default/civicrm.settings.php
the '//' is interpreted as '/' so the file being looked for is:
/bitnami/drupal/modules/default/civicrm.settings.ph
Well, there is no default directory in /bitnami/drupal/modules so I created it and inside I put a symlink to the correct location of civicrm.settings.php
cd /bitnami/drupal/modules/default
ln -s /bitnami/drupal/sites/default/civicrm.settings.php civicrm.settings.php
With that the example REST query works fine.


How to disable all scheduled jobs in civicrm.settings.php? Similar to e.g.:

$civicrm_setting['Directory Preferences']['extensionsDir'] = '/Applications/MAMP/htdocs/Louise/git-7/sites/semper-it.local/civicrm/extensions';

Can I do something that sets all scheduled jobs to => disabled?

There's a new feature in the latest 4.7 that allows you to configure your site as non-production, which should do a bunch of things like this.

https://docs.civicrm.org/sysadmin/en/latest/misc/staging-production/

If you're using an older version of CiviCRM, you can manually disable all the jobs with this sql:

UPDATE civicrm_job SET is_active = 0;

But you'd want to make sure (manually) that some don't get auto-enabled (e.g. via the managed record feature in an extension).

Ultimately, the safest way to run a non-production site is in some kind of container that doesn't allow outgoing requests/emails.


Civix reports "Failed to locate civicrm.settings.php" I used the command civix generate:api Civicrmzapier submit to an API function to an extension i am working on, but got the following error as on the screenshot and the api function is not added.

  Failed to locate civicrm.settings.php. By default, this tool searches the parent directories for a standard CMS (Drupal, WordPress, etal) and standard civicrm.settings.php. Symlinks and multisite configurations may interfere. To customize, set variable CIVICRM_SETTINGS to point to the preferred civicrm.settings.php.

The generate:api subcommand (and a few others) require access to a working copy of CiviCRM.

To locate this, it uses a process reminiscent of drush or wp-cli. For example, if the command-line is running inside /var/www/sites/default/files/civicrm/ext/org.example.foo/, then it will perform an upward search to find the CMS root:

/var/www/sites/default/files/civicrm/ext/org.example.foo
/var/www/sites/default/files/civicrm/ext
/var/www/sites/default/files/civicrm
/var/www/sites/default/files
/var/www/sites/default
/var/www/sites
/var/www
/var

In each case, it is looking for a tell-tale sign of a CMS+Civi system. For example, in a typical Drupal installation, you'd expect to see the file sites/default/civicrm.settings.php.

There are some cases where the default search may not work correctly, e.g.

Using a new or custom CMS.
Using a multisite configuration.
Using symlinks.

The quickest way to resolve this? Don't rely on a search. Instead, tell civix specifically where to find your copy of CiviCRM by setting the variable CIVICRM_SETTINGS, e.g.

export CIVICRM_SETTINGS=/var/www/sites/default/civicrm.settings.php
civix generate:api ...

More aggressive ways to resolve this would be:

Arrange your directory structure so that it looks like a normal build (e.g. replace symlinks with real folders).
Use civibuild for your dev sites. It always produces standard builds.
Submit a patch for Civi/Cv/Bootstrap to add support for your directory structure.


Keep getting this error on Composer require I'm using the current instructions to get the current version of CiviCRM for Drupal 8
[play@ceres web]$ composer require civicrm/civicrm-{core,packages,drupal-8}:'~5.35'

It keeps giving me this error
- The requested package civicrm/civicrm-core ~5.35 is satisfiable by civicrm/civicrm-core[5.35.x-dev] but these conflict with your requirements or minimum-stability.

I'm then trying
composer require civicrm/civicrm-{core,packages,drupal-8}:'~5.34.0’

and it just hangs.
Any ideas?

The memory problem is real - composer does that. You always need to export COMPOSER_MEMORY_LIMIT=-1.
For the conflict, is this drupal 9.1? You can try adding "minimum-stability": "dev" to composer.json.


FAIL : first and fresh install of CiviCRM 5.36.1 on BACKDROP 1.83 my first test of Backdrop 1.83 with CiviCRM 5.36.1 via MAMP 6.3 PHP 7.4.12) failed

backdrop installed correctly
civicrm installed correctly, no error
but
when i try to reach the civicrm dashboard: empty page

just the admin menu is displayed, but no link can be opened ..
tested on SAFARI and EPIC (chrome-like) on macos 10.14.6

PAGE ERROR MESSAGE (in french)
réponse du site (exemple) :
"
Page non trouvée
Ajouter une redirection d'URL de cette page vers un autre emplacement
Vous êtes ici : Accueil
La page demandée "/backdrop183/backdrop183/civicrm/a/" n'a pas pu être trouvée.
"
what's YOUR experience?

The URL looks off to me. The link to the dashboard should be /civicrm?reset=1 and to the status page /civicrm/a/#/status. /civicrm/a/ is not a page and I also get "Unknown path" when navigating there in a Backdrop install. Perhaps check to see if your URLs are being rewritten in apache?


CiviMail adding ?civiwp=CiviCRM to all links - causing links to be bad Using Mosaico 2.3 (2.4 does not work for us) & traditional civimail.
CiviCRM 5.27.1 WordPress 5.4.2
All url's in civimail append ?civiwp=CiviCRM - causing errors when linking to wordpress pages. example.org becomes example.org/?civiwp=CiviCRM - This is fine for most URLs but causes issues with wordpress urls.

You are correct.  That is a bug.  here is the report - https://lab.civicrm.org/dev/core/-/issues/1865
It's been fixed https://github.com/civicrm/civicrm-core/commit/bcbfa93e255ee15d9bd9e0f812b2a5a617458d73  and is planned for the next 5.27 release


Contribution Receipt Comment When CiviCRM sends an email Recurring Donation Receipt below the Zip Code field there is a Comment field.
What mySqlTable stores the string that shows in the Comment associated with a recurring donation?

By downloading the database as one file, and searching with notepad++
I found the comment in table: civicrm_note


Member's only pages in wordpress, for users with a related membership We have a site Wordpress which offers corporate membership, and this extends by relationship to employees.

The client is having issues where users are booking onto events, after the corporate membership has elapsed.

I've had a quick look at the Wordpress Civi Member plug in, to start creating a member's only section of the site. My main question is:

Can the plug in handle users with related memberships, or does it work best with primary memberships?

And... has anyone got experience of configuring this type of set up? Are there any pitfalls I should be aware of?

Cheers

Craig

CiviCRM WordPress Member Sync functions similarly to CiviMember Role sync. It provides UI to add association rule to sync membership type with wp role. There is no special setting available for this plugin to include only primary or secondary member. There is a setting when to remove from role.

Add association Member sync rule in your site for the membership type and based on wp roles design your membership section or forms.

Thanks

Pradeep


Profile error on existing Contribution Page We have an existing contribution page that had two profiles included (one for top of page, one for bottom). I'm not sure when this broke, but currently (v 5.10.3), the bottom profile now appears to NOT be selected, and when you first click on the "profiles" tab, you briefly see the following warning:

  The selected profile is using a custom field which is not assigned to
  the "Membership" being configured.

The profile doesn't appear in the dropdown at all. I can see the fields if I preview or edit from this screen. If I choose another profile and save, the error does not show again, but the profile I need does not appear in the list, so I have no way of selecting it.

I'm not sure what this error means. How do you assign a custom field to a membership?

I have seen some posts here with similar-sounding errors, but they all seem to be related to issues that have long since been fixed.

Thanks for any guidance!

It sounds like the Profile that you are using has a field in use that may be a field that is set to only function for certain Membership Types, and that the Contribution page that you are showing it on does not offer that Membership Type.

I suggest you

go to Admin > Customise > Profiles and find the Profile in question
examine the fields in use on that Profile
go to Admin > Customise > Custom Fields and find the Field set that contains the field(s) in question
examine the Field set (via Edit) and see what entities eg Memberships it is set to operate with


Can users (non-administrators) log their hours in CiviVolunteer I'm working to setup CiviVolunteer for an organization that wants to track volunteer hours throughout the year. They'd like for individuals to log their own hours. Is this possible yet? I looked in the documentation, though, couldn't tell or not: http://civicrm.github.io/org.civicrm.volunteer/docs/320-manage-volunteer-projects/.

I did allow "CiviVolunteer: log own hours" and "CiviVolunteer: register to volunteer" to "authenticated users".

Please let me know if this is possible and if so, how to set it up so that they can.

Thanks!

Not yet, though we'll be pushing this into a release before the end of the year. (Sorry about the misleading "log own hours" permission -- we got a little ahead of ourselves there!)


Contribution Form fails; bounces to Home Page or timeout error Using: Joomla 3.4.7; CiviCRM 4.6.10; testing with Chrome, Firefox, Safari, and devices (iPhone, iPad, Android)

ISSUE: Contribution Form (infrequently) fails; bounces to Home Page (if one can get to next screen/action button) or timeout error (on devices, when one chooses PayPal option)

Using our Contribution form USUALLY SUCCEEDS, and for both the PayPal and Credit Card options
INFREQUENTLY it fails; always at the point when User touches/selects the lower Payment options fields
This problem cropped up earlier this year and it was more pervasive; using forum info and our own testing we isolated that the use of "OTHER Amount/custom field" apparently triggered the problem. We took two steps: Updated to the latest CiviCRM, and removed the "OTHER Amount" option.
This gave us SUCCESS; Robust cache deletion was required for some to see this success, though.
Subsequent testing on multiple platforms/browsers/devices made us think this was resolved, and we had planned to revisit the OTHER issue in January.
HOWEVER: The problem showed up again yesterday for ONE User (out of almost forty successful submissions). That one user confirms that the problem exists on Safari and Chrome (Mac), and on an iPhone.
As a result of his failure, we re-tested: we had success on everything except an iPad—when we got to the form fields related to payments, it bounced us to the Home page; when we noodled with the fields (tabbed instead of touched) we could fill out those fields but it took us to the home AND reported a timeout.

Any and all input would be greatly appreciated. Thanks in advance for your considerations.

It seems as if the problem requires a proper technical analysis by someone who prvides professional CiviCRM support. You mentioned in another post, that no service provider responded to your enquiries - I am sorry for that, it is not usually that way.

Feel free to approach the CiviCRM partners - including us (SYSTOPIA).


How do I get CiviCRM Mailing to submit via the API I would like to send a mailing every time a content item is published. The mailing is not being saved.

I have taken the sample code from

sites/all/modules/civicrm/api/v3/examples/Mailing/Create.php

Such as

$ht_node = $content['htnode'];
$the_subject = t('New Hot Topic Published: ' . $ht_node->title);

// Submit it now. No fussing.
$currentTime = new DateTime();
$approval_date = $currentTime->format('Y-m-d H:i:s');
$currentTime->add(new DateInterval('PT1H'));
$schedule_date = $currentTime->format('Y-m-d H:i:s');

$msg_params = array(
  'recipient' => 'Ecological Society Member',
  'htnode' => $ht_node
);
$content_templated = $this->themeEmail($content, $msg_params);

// drupal html_to_text leaves styles in place.
$text_no_style = preg_replace('|<style.*?</style>|mis', '', $content_templated);
$plain_text = drupal_html_to_text($text_no_style);

// see sites/all/modules/civicrm/api/v3/examples/Mailing/Create.php
// See query DataObject.php 1060
$params = array(
  'scheduled_date' => $schedule_date,
  'approver_id' => 21638,
  'approval_date' => $approval_date,
  'replyto_email' => self::REPLY_TO_EMAIL,
  'from_email' => self::REPLY_TO_EMAIL,
  'from_name' => self::FROM_NAME,
  'subject' => $the_subject,
  'body_html' => $content_templated,
  'body_text' => drupal_html_to_text($plain_text),
  'name' => $mailing_name,
  'created_id' => 21638, // Contact id of mailing creator
  'header_id' => '9',
  'footer_id' => '10',
  'groups' => array(
    'include' => array(
      '0' => $to_group,
    ),
  ),
  'mailings' => array(
    'include' => array(),
    'exclude' => array(),
  ),
  'options' => array(
    'force_rollback' => 1,
  ),
  'api.mailing_job.create' => 1,
  'api.MailingRecipients.get' => array(
    'mailing_id' => '$value.id',
    'api.contact.getvalue' => array(
      'return' => 'display_name',
    ),
    'api.email.getvalue' => array(
      'return' => 'email',
    ),
  ),
);

  // Throw error to the parent. Let the controller print out the error messages.
// Throws  CiviCRM_API3_Exception
civicrm_initialize();
$result = civicrm_api3('Mailing', 'create', $params);

if ($result['is_error'] === 1) {
  throw new Exception('Error in civicrm api mailing create: ' . $result['error_message']);
}

watchdog(HOTTOPICSNOTIFY_MODULE_NAME, '%mailing-name scheduled to be sent to group %groupid an e-mail. Mailing id is %mailing_id', array(
  '%mailing-name' => $mailing_name,
  '%groupid' => $to_group,
  '%mailing_id' => $result['id'],
));

I have run the debugger over it. The sql that is generated is fine - even inserts a mailing if I run it.

I can see no errors being returned, in Bao/Mailing.php it sees the scheduled_date and passes the _evil_bao_validator_ test. $transaction->commit() is run.

There is no sign of this call in the civicrm_mailing table or in the mailing screens.

How do I create and run this mailing?

Remove the force_rollback block.

What is the result of the civicrm_api3 call?


Implications of making Activity Fields (Subject, Duration, Location, Details) required I've been asked to make the standard activity fields
Subject, Duration, Location, Activity Details
required. I can see how to do this from this ticket.

Requiring "Assigned" and "Target" contacts when recording Activity

My question is what would be the implications of doing this? Are any of these fields also used by events, mailings or contributions modules to record interactions, so would setting them to mandatory cause problems with these activity types?

Thought I'd ask before taking a suck it and see approach.

I think the best approach would be to use hook_civicrm_validateForm to make those fields required from the Activity screen only: http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_validateForm