Is an SPF Record required to get CiviCRM to work with Amazon SES? (1and1 hosting) The Amazon SES account is verified.  I have sent emails from gmail using an alias that is the same address I'm using in CiviCRM, and the emails originating from gmail were delivered. But when I send a test email from Administer > System Settings > Outbound Email I consistently get a timeout error, like this:

Mail Not Sent
  Sending test email. FROM: info@mysite.org TO: verified@gmail.com.
  No test mail has been sent.

  An error occurred when CiviCRM attempted to send an email (via SMTP).

  The mail library returned the following error message:
  Failed to connect to ssl://email-smtp.us-west-2.amazonaws.com:587 [SMTP:
  Failed to connect socket: Connection timed out (code: -1, response: )]

Trying to figure out what the problem might be. I'm wondering if I might need an SPF record for my domain (mysite.org in the example above)?

An SPF record is recommended, but not the cause of the above error.

That error message indicates failure to make a network connection from CiviCRM's mail library to the configured SMTP server.

According to http://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-connect.html, port 587 is for STARTTLS connections. ("TLS" is an overloaded term used in a confusing sense here, don't sweat it.)

It looks like you currently have a value of ssl://email-smtp.us-west-2.amazonaws.com:587 in your Admin > System Settings > Outbound Email > SMTP Server field.

I suggest you try using the following - please report back if one or both work?

tls://email-smtp.us-west-2.amazonaws.com:587
ssl://email-smtp.us-west-2.amazonaws.com:465

I see that for optimal performance, Palante recommend using a local Postfix MTA which then routes email to Amazon SES. Make special note of the SMTP throttling warning at the bottom of that page.


What is the better CiviCRM Administration theme on Drupal to apply shoreditch extension? Can you suggest me the better CiviCRM Administration theme to apply shoreditch extension? For my experience is Adminimal but I'd like your opinion.
Thanks

I found that Shoreditch had the least issues using the Seven Administration theme but I prefer Adminimal for my drupal side. My settings are as follows:

Administration Theme - Adminimal (also used for editing and creating content)
CiviCRM Administration Theme - Seven
CiviCRM Public Theme - Our main theme


Can I batch data enter contributions using contact id instead of name? I'd like to be able to batch enter contributions using the contact ID (or some other non-identifying information) rather than the contact name.

My workflow is this:
1. Treasurer of our church counts the offering and tithes and enters the info on a spreadsheet that is then given to the church secretary to enter into civi.
2. The church secretary shouldn't be privy to who is giving what to the church.

Was hoping that the batch data entry profile could be edited to remove the contact name and instead use the contact id but it doesn't look like it can without some custom coding.

Is there a workaround or alternative solution that doesn't require custom coding?

Without coding? hmmm.

CSV importing might work.
Contributions -> Import Contributions

The CSV can work with the internal ID

You would not have a nice screen with the batch import but only work with Spreadsheet/CSV's and import those.

But.. person responsible for either importing the CSV or doing the batch entry should be able to check if it makes sense what he did. Otherwise you could end up with very strange data due to a small mistake. So my advise is for you to also check your permission policy. Maybe someone else entering the info or give that permission to the church secretary anyway.


Why don't date selections via the pop-up stick when adding an event? On events, manage events, add event, on the start date, even though you select a new date from the pop up calendar, the date doesn't change from the current date. This seems to be the same issue with the End date and sometimes when you select the month, the calendar automatically changes the year to 1995 if you key in the date manually, it works.

I am using CiviCRM version 4.5.5 and i have also tested on the demo site currently running 4.5.9 on firefox 39.0 and chrome Version 44.0.2403.107 m

I can file an issue if any other person can confirm this

Changing the month and year in the calendar doesn't have any effect until you click on a date. This can be a little confusing - is that your issue? This UX never seemed quite right to me but it's jQuery UI's thing, not ours.


Problems Upgrading Mosaico 2.0 to 2.1 Mosaico 2.1 has just been released. When I tried to upgrade from Mosaico 2.0 to 2.1 I got several errors as follows:

Unable to remove directory
/sites/default/files/civicrm/ext/uk.co.vedaconsulting.mosaico/templates

Unable to remove directory
/sites/default/files/civicrm/ext/uk.co.vedaconsulting.mosaico

Failed to move /tmp/tmp-aBft2l//uk.co.vedaconsulting.mosaico to /sites/default/files/civicrm/ext/uk.co.vedaconsulting.mosaico

Error loading module file (/sites/default/files/civicrm/ext/uk.co.vedaconsulting.mosaico/mosaico.php). Please restore the file or disable the module.

Following the upgrade Mosaico then became unusable.

I upgraded Flexmailer at the same time and had no problems. I also checked folder permissions and these looked fine to me. I ran the upgrade process twice and had the same errors both times. has anyone had a similar error?

I thought it might be an error in the extension and posted an issue at Error Upgrading from 2.0 to 2.1, but I guess it could also be my setup, though not sure why it would upgrade Flexmailer without any problems but then have errors  upgrading Mosaico.

I am on CiviCRM 5.13.5 with Drupal 7.67

I had a closer look at all the folders and saw there was a symlink in the templates folder pointing to the templates folder! This must have been preventing the upgrade. I think the symlink was there because earlier we had had problems with mailings not finding the social icons and had created a symlink to solve that problem and then forgotten about it!

Once I removed the symlink Mosaico upgraded fine.


back office renewals with price sets Our organization recently went from straight choice of membership type on signups and renewals to a Price Set in order to include an option to pay for a newsletter. The web page using the price set works just fine. And if we use the back-office interface to add a new member, that works fine too - on the Membership Organization and Type line, I get a choice of Org and Type, or a Price Set. However, when I select an existing Membership record in the back-office and choose "renew", I get to change the membership type but get no option to select Price Set. I need the latter to work so I can get the newsletter option to be included in the total charge.

New Member looks like this:

Renewing Member looks like this:

It's not currently supported... However, I'm running the patch from https://issues.civicrm.org/jira/browse/CRM-15861 successfully on a client site.  That should do what you want!


Default PDF Page Formats aren't respected after upgrade to 4.5.8 I have been trying to discern if issues I have been experiencing since a recent upgrade to 4.5.8 are actually a bug. We use Wordpress.

Basically I've discovered that our many, many message templates, which all used to have a default PDF Page Format set, seem to struggle to retain their assigned default. Additionally, when you are in the process of generating a letter against a contact, and you try to override the default Page Format settings in the 'accordion' section, the margin values etc are not overwritten when you make a new selection.

I have tried to replicate the issue on the up-to-date test site, but it seems I can't get access to the message templates section so it is impossible to tell. I've had a good search and no-one else seems to have reported this. Has anyone else noticed issues here?

Thanks

I did try creating an example against http://wp45.demo.civicrm.org/ - It worked fine.
Even I have worked in previous version (4.4). I haven’t got any issue at all.
So, please try setting the table width = 100% - this should work correctly.

Example: from Demo (used message template: “Sample CivicMail Newsletter Template”).

Had a table setting like below
table bgcolor="#ffffff" cellpadding="0" cellspacing="0" width="612"

Just change the above line to
table bgcolor="#ffffff" cellpadding="0" cellspacing="0" width="100%"

This gave me a correct output – with proper margin – I guess this Helps!!!


Using an excel membership number list to compile a civi report of linked addresses I have a list of membership numbers of approx 80 people. I need to use these numbers (saved in an excel spreadsheet) to run a report in Civi which will pull all the addresses and names linked to those numbers (with the number) into a new excel sheet which I will then use for a mail merge.

When in Civi I can see that you can import a spreadsheet but that seems to be to add new members. What I need is not to add memberships/individuals but to use the numbers to collate information linked to those numbers already in Civi.

Can anybody help with the best way to do this without adding any duplicate information to Civi, or manually typing/searching all 80 people?

Thanks in advance.

If the "membership number" corresponds to the CiviCRM Contact ID, or to the External Identifier field, you can use Contacts menu » Import Contacts to import JUST the membership number.  On the final field of the import, use the option to create a new Group of the imported records.  Since all of the corresponding members exist in CiviCRM, this won't do anything except add everyone in your spreadsheet to the group.

Then you can do a Search for that Group, then do an export of the required fields.


Does CiviMail support PGP encryption ? There are many stories of leaked e-mails making news, and we know that repressive governments read emails to suppress dissent.

It would probably be possible to have CiviMail check a public PGP server for each outgoing email address, and if it found a public key, use it to encrypt the outgoing message by default. Perhaps there could be also be a user-requested preference to NOT encrypt as an exception.

Is this on the wish list ?

Not yet!

This could potentially be done from an extension in a hook like hook_civicrm_alterMailParams(), alongside a scheduled task to fetch GPG keys from keyservers (to avoid slowing down delivery with HKP lookups).

Another approach might be to handle this at MTA level with something like Zeyple (a PGP filter for Postfix).


customize the interface / view I am starting with CiviCRM this week and a user asked to me: how to customize the contact summary view to add the 'Contributions tag' into the summay

I think I have to go to admin menu: Administer > Personnaliser les données et écrans > Préférences d'affichage, but I'm not sure

Thanks in advance for you help
Javier

I assume your user does not see the contributions tab in the contact summary?

That can be because on the fact that the CiviContribute component is switched off (Administer>System Settings>Components).

It can also be because the tab is switched off for the contact summary (Administer>Customize Data and Screens>Display Preferences - then check the if Contributions is ticked in Viewing Contacts)


Administrative activity under wrong admin user I'm having a very strange (I think problem). I am logged in to the back end of my Joomla site with my superuser credentials. Several months ago I set up a test contact "Ritson The Dog" with the email as ritson@heritagemuse.com (He's a very talented puppy but has trouble with the opposable thumb thing).

Now, every administrative activity within CiviCRM shows Ritson The Dog as the Source Contact name. I looked through the forums and haven't been able to find where the default "Source" is set, but I think that may be the problem. Any thoughts?

Is there a way to batch change each contact activity record so that the source contact can be me and not my dog?
Thanks,
Kate

Usually the source is the logged in user. Are you by any way logged in as Ritson?  Or did you accendentially overwrite your own civicrm profile?


Composer 2 and CiviCRM Installation Error I am trying to install CiviCRM on a Drupal 8 site using Composer 2.  I am getting the error below.  Is this a Composer 2 issue?  Do I need to revert to Composer 1?  Is there a different fix?  Thx.
=======================================
composer require civicrm/civicrm-{core,packages,drupal-8}:'~5.36'
./composer.json has been updated
Running composer update civicrm/civicrm-core civicrm/civicrm-packages civicrm/civicrm-drupal-8
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- civicrm/civicrm-core[5.36.0, ..., 5.37.x-dev] require symfony/finder ~3.0 || ~4.4 -> found symfony/finder[v3.0.0-BETA1, ..., 3.4.x-dev, v4.4.0-BETA1, ..., 4.4.x-dev] but the package is fixed to v5.2.4 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
- Root composer.json requires civicrm/civicrm-core ~5.36 -> satisfiable by civicrm/civicrm-core[5.36.0, 5.36.1, 5.36.x-dev, 5.37.x-dev].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.

As per comments there were some leftover installed vendor files and removing composer.lock and the entire vendor folder and also web/modules/contrib/civicrm and then trying again clears it.


Custom field API and Custom field Machine name We are working on a roll out which will include approx 100 instances of CiviCRM being created for an org. The organisation is Federal in so far that there is a central org and then a significant number of local branches.

Part of the project is to develop a data push for activities from the branch instances of CiviCRM to the head orgs instance so that data analytics can be done by the head organisation. The issue is that the ID's of the custom fields for the branch instances of CiviCRM are different to the head instance (and different between themselves).

We are proposing using Machine name instead of Activity ID for the API calls. Does the API support data pushed to it by machine name as opposed to ID?

If I understand right, the CustomField 'name' is unique in every CustomGroup. In my prototype I have two CustomFields 'Role' but they have two different 'custom_group_id'. When I try to add a 'Role' CustomField to either one of these CustomGroups, then it errors out with the message:

Field Label
Custom field 'Role' already exists in Database.

But I can still add 'Role to any other CustomGroup where it is not used yet.

In the form I can only set the label, but at creation the 'name' is created from the label. When I rename the label, the 'name' is unchanged. This is the machine name of CustomField.

So before you push, you should do a query on both:

$result = civicrm_api3('CustomField', 'get', array(
  'sequential' => 1,
  'custom_group_id' => "Entity",
  'name' => "Role",
));

This will return the right id and will allow you to do your push. Then it is very useful to straight away to use the returned id through api chaining.


Permissions in CiviCRM I would like to know if we can set permissions to user accounts where for example a user can access the donations module but not see all the records in a particular category such as donations made online?

Thanks

There is a rather hidden feature for Drupal and WordPress (last time I checked this was not working in Joomla) that you can enable at Administer > CiviContribute > CiviContribute Component Settings and Enable Access Control by Financial Type.  See the help icon next to the setting for details (pasted below).

When you have done that, you should see new CMS permissions for Add, Delete, Edit, View for each financial type, so if you can arrange for your online donations to use a different financial type than other contributions then you can set permissions accordingly.

  Enabling Access Control by Financial Types is only required if you need users in one role to access some financial transactions but not ones with certain financial types.

  For example, Planned Giving bequests may be highly confidential and not appropriate for staff organizing events to see, even though they need to be able to administer the payments for ticket purchases.

  After enabling, you will be able to set create, view, edit, and delete permissions separately for each financial type by navigating to Administer > Users and Permissions > Permissions (Access Control), and clicking on the Access Control link for your CMS.


Column Sorting Removed Filters in Find Contribution We just upgraded to 5.19.1, but not sure when this started. When we go to Find Contributions, put some criteria in, get results, and then click on one of the column headers to sort the results, it completely removes any of the Search Criteria.

I see it happens on the 5.19.0 demo site as well.  Is this a known bug?

It looks like one of the amazing maintenance team have already provided a patch for this so it should be in the next release

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

Don't you just love the CiviCRM Community - this is all being done by volunteers - you can support the community in a number of ways via https://civicrm.org/support-us (not suggesting you aren't currently supporting it)


Search custom field by name if I want to get a value of a custom field, now I have to use custom_xx, like this:
$result = civicrm_api3('Contact', 'getvalue', [
   'return' => "custom_11",
   'id' => 123,
]);

As return I'd like to use the name of field (civicrm_custom_field.name) instead of id. Is it possibile?
Thanks.

You can use api 4 if you want to use as the name
$contacts = civicrm_api4('Contact', 'get', [
  'select' => [
    'constituent_information.Most_Important_Issue',
  ],
  'where' => [
    ['id', '=', 123],
  ],
]);


How to rebuild civicrm admin menu? I just upgraded civicrm from version 4.5.8 to 4.6.6, and I found that the menu is looking different. I tried clearing cache, also tried manual deletion of template files under files/civicrm/templates_c/.

Found out that the query for creating Support menu [parent item] didn't get executed. Had to run the sql query manually. This fixed the menu issue.

vim civicrm/sql/civicrm_navigation.mysql +605

INSERT INTO civicrm_navigation
    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
VALUES
    ( @domainID, NULL, 'Support', 'Support', NULL, '',  NULL, '1', NULL, 110);


Customize Menu - All Addresses I would like to insert a new point in the menu "All addresses". How can I show all addresses without going through the search function.
Wordpress 5.3 CiviCRM 5.19 - Thanks Felix

The way I would do it is create a Constituent report through here - /wp-admin/admin.php?page=CiviCRM&q=civicrm%2Freport%2Fcontact%2Fsummary&reset=1

You can add in the fields you'd like the report to show (so address fields in your case).

Once you've created the report, you can copy and paste the report URL and add it to the menu here - /wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fmenu&reset=1


Get state/provice id with API3 I wrote an custom contact import script for our NGO. The old contact data only contains valid country / state abbreviation names. For example CH / ZH = Switzerland / Zürich.

When I now want to create a new address over the API I don't see a way to fill out the 'state_province_id' field.

I'm able to get the country id with this syntax:

$result = civicrm_api3('Country', 'getsingle', array(
        'sequential' => 1,
        'return' => "id",
        'iso_code' => $row["V"],
    ));

if(isset($result["id"])){
   $params["api.address.create"][0]["country_id"] = $result["id"];
}

But how can I do the same with the State/Province, since there is no  entity I can choose in the API?

If there is no state/Province API you would have to create one? Assuming you put your import script into an extension, this is not very hard to do. Using civix you can do generate:api StateProvince Get and the codes files (which you then have to adjust) will be generated for you. If you want to know more check out http://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension#CreateaModuleExtension-AddanAPIfunction


How can I edit the name provided in the billing block for an event registration? In CiviCRM 4.6.18 I have enabled the billing block for pay later registrations for an event. I've noticed that a users are registering and using the billing block, and entering their names incorrectly (most commonly entering a name all in lower case).

I can subsequently edit the contact record to correct the capitalisation (or other issue) with the contact's name, but the name in the billing address does not reflect these edits, and neither can I find any way to edit this billing name through the UI - editing the billing address does not provide access to the name fields.

Am I missing something here?

This billing block seems to highly inflexible. Perhaps its better to not use it at all, and have a second profile instead that I can better control.

Graham,

You will have the issue with first and last name no matter where users enter the information. The name is entered as the contact name and the billing fields are just pulling the data for the billing address.  I would like at the Civi Normalize Extension (https://civicrm.org/extensions/normalise-data-entered-firstname-last-name) to help you with this.

Thanks,
Steve


Can tokenValue hooks be used in scheduled reminder emails? I have the same problem as at http://forum.civicrm.org/index.php/topic,32608

I have created a tokenValues hook to fetch the value of a field from a multi-record custom field set.  I have the token hook embedded within a message template.  The hook works fine and correctly populates the value if I trigger it from Actions->Send an email.  But when triggered by a Scheduled Reminder based on x days before end of membership, the value is not filled in within the email that goes out.

I have logging within the token hook which shows that the hook is being called and is populating the returned array with the correct value.  I tried to debug further, but I can't figure out from where the tokenValues function is being called.  So I can't figure out why the behavior is different for Action->Send an email vs Scheduled Reminders.

If necessary, I can work around this by running a script to push the value I want into a non multi-record field, as regular custom fields work fine.  But obviously that's a bit of a cludge, and this seems like a bug in CiviCRM.

This is a different issue than that described at  Token not evaluating in CiviMail - that's discussing custom field permissions, which aren't a problem here.

I ran into a similar issue of custom tokens not populating for scheduled reminders. The workaround in Brian Shaughnessy's comment on CRM-11153 fixed it for me:

  early in tokenValues put:

$single = false;
if (!is_array($contactIDs)) {
    $contactIDs = array( $contactIDs );
    $origValues = $values;
    $single = true;
}

  then at the very bottom put:

if ($single) {
    $values = $origValues + $values[$id];
}

$id may be something different in your hook implementation.

Other recent comments on that issue suggest that a fix may find its way into CiviCRM core.


Use complete address and full county name in mailings Working on a mailing that includes contacts full address details. And I'm encountering an issue for UK addresses where the county is abbreviated in the same way US states are. I've never seen such 3-char abbreviations used in the UK and it will cause confusion. Omitting the county is not an option either. Sadly the standard address hooks for mailings are limited.
Googling yielded the following page which has code I'm trying to use in a custom Civicrm extension. So far my attempts are failing miserably. I'm not very familiar with PHP, so please excuse and gently correct whatever atrocities I might be committing in the code below.
https://forum.civicrm.org/index.php%3Ftopic=20687.0.html
The extension is meant to provide two new tokens to mailings:

{contact.province}: prints the State / Province full name (as in {contact.state_province_name}). Not the same name in case this brings any conflict with the existing one
{contact.complete_address}: prints the full contact's address with the same format set in the label address customization

The article is quite old and uses APIv2, so I've resorted to adapt it to APIv4. In doing so my PHP errors have disappeared but I'm not seeing any results in "Preview as HTML" yet when editing a test mailing.
My hooks code below:
// Works, the new hooks show up in the list when editing mailings //
function mailhooks_civicrm_tokens( &$tokens ) {
    $tokens['contact'] = array(
        'contact.province' => 'Province',
        'contact.complete_address' => 'Complete Address',
    );
}
// Not returning anything, the tags are not interpreted at all //
function mailhooks_civicrm_tokenValues( &$values, &$contactIDs ) {
    require_once 'CRM/Utils/Address.php';
    foreach($contactIDs as $id){
        $address = \Civi\Api4\Address::get()
            ->addSelect('street_address', 'supplemental_address_1', 'supplemental_address_2', 'supplemental_address_3', 'city', 'postal_code', 'state_province_id:label', 'country_id:label')
            ->addWhere('contact_id', '=', $id)
            ->execute();
        $values[$id]['contact.complete_address'] = nl2br(CRM_Utils_Address::format($address[$id]));
        $values[$id]['contact.province'] = $address[$id]["state_province_id:label"];
    }
}

The output from the API Explorer (dummy address):
(1) [
  {
    "id": 3,
    "street_address": "3 Kings Road",
    "supplemental_address_1": null,
    "supplemental_address_2": null,
    "supplemental_address_3": null,
    "city": "Hitchin",
    "postal_code": "SG5 0AZ",
    "state_province_id:label": "Hertfordshire",
    "country_id:label": "United Kingdom"
  }
]

Partial HTML preview:
SG5 0AZ, {contact.province}
United Kingdom
{contact.complete_address}

Email template:
{contact.postal_code}, {contact.province}
{contact.country}
{contact.complete_address}

It should be like below
// Not returning anything, the tags are not interpreted at all //
function mailhooks_civicrm_tokenValues( &$values, &$contactIDs ) {
  foreach($contactIDs as $id){
    $address = \Civi\Api4\Address::get()
      ->addSelect('street_address', 'supplemental_address_1', 'supplemental_address_2', 'supplemental_address_3', 'city', 'postal_code', 'state_province_id:label', 'country_id:label')
      ->addWhere('contact_id', '=', $id)
      ->execute()
      ->itemAt(0);
    $values[$id]['contact.complete_address'] = nl2br(CRM_Utils_Address::format($address));
    $values[$id]['contact.province'] = $address["state_province_id:label"];
  }
}

HTH
Pradeep


CiviCRM Campaign - Personal Campaigns We have the Campaign (and Personal Campaign Page) option appearing within Contributions and I believe it is impacting on automatic receipting to supporters.   Does anyone know where or how to delete this campaign extension.

CiviCampaign is not an extension but a component (ie it's part of the core), you can enable/disable it from (administer>system settings>Components)

and disable it.

This being said, I'd be surprised it's the issue, lots of install have civicampaign enabled and working email receipts


Bootstrap for Native Civicrm Mobile Use Is there a project to enable Bootstrap in Civicrm to convert Civicrm natively into Mobile View?

Thank you!

There is a civi mobile app for Android and iOS. See https://civimobile.agiliway.com/ and https://civicrm.org/blog/skornien/civimobile-a-native-mobile-application-for-civicrm


Change logo for specific contribution pages I have several contribution pages on CiviCRM and I would like to set a different logo for specific contribution pages only. Is this possible at all?
Thank you.

in the smarty templates you should be able to build a smarty 'if' statement with the contribution page

eg

{if $contributionPageID == 3}

or if more than one page

{if $contributionPageID == 3 OR $contributionPageID == 8}


HTTP Status Code error When Sending SMS in Civicrm-Wordpress i get the following error in CIVI-wordpress install after configuring and sending an sms:
Sorry but we are not able to provide this at the moment.
No HTTP Status Code was returned.

I configured the clickatell SMS Gateway following the instruction here:
https://book.civicrm.org/user/current/sms-text-messaging/setup/
Error Deatils from the debug is as follows
Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => handle
        )

[code] =>
[message] => No HTTP Status Code was returned.
[mode] => 16
[debug_info] =>
[type] => PEAR_Error
[user_info] =>
[to_string] => [pear_error: message="No HTTP Status Code was returned." code=0 mode=callback callback=CRM_Core_Error::handle prefix="" info=""]

)

Any Ideas what the problem could be anyone.
Using Wordpress 4.4.2 with ivicrm 4.6.8

Check the phone number and see if there is the correct country code.  The code was not adding the 1+ for US/Canada yesterday, April 26th.  See comments on the file in GitHub for a temporary workaround:  https://github.com/PalanteJon/org.civicrm.sms.clickatell/commit/ef4e4119b76331ee90bf547044607822907aa323#commitcomment-17262754

Here's a PR request with the workaround:
https://github.com/gah242s/org.civicrm.sms.clickatell/commit/aa74097cf66510710b23c22bae5735db59c156db


How to listen to country select change How can I listen in JavaScript to the event of a country value change on the country select field?

both #select2-drop-mask and #select2-drop are not available until the user clicks to open the select.

and the hidden select #country-5 is not firing the change event as its values are set programatically.

This question was asked here but has a wrong answer.

Thank you

Try below code:

  CRM.$(function($) {
    $('#billing_country_id-5').change(function () {
      var countryId = $(this).val();
    });
  });

HTH

Pradeep


trouble with CiviCRM Installer on wordpress I am trying to setup CiviCRM 4.7 on most recent Wordpress -- copied the folder to /var/www/html/wp-content/plugins/ and was able to see the plugins in Wordpress.

When I click on "configure CiviCRM", it takes me to a blank page -- there are no options available.

I am using Apache2, PHP, MariaDB on CentOS 7

CiviCRM is a very different beast than other plugins - it has more code than WordPress itself!  Unfortunately the "normal" WordPress installation doesn't work.  You can find detailed instructions here: https://wiki.civicrm.org/confluence/display/CRMDOC/Installing+CiviCRM+for+WordPress.  Also feel free to ask both here and on https://chat.civicrm.org for help!


Setting up Webform CiviCRM with an optional contribution/payment I have a Webform-CiviCRM form that has CiviCRM functionality enabled. It has a contribution field tied to a CiviCRM contribution page using the Stripe payment extension, and which has no minimum value required. I've set it up as a radio button with a choice of a monetary contribution of a set amount, or zero.

Whenever I try to use the form and select the zero dollar option, the credit card fields disappear as expected, but then on form submit I get this message:

  Payment Error Response: Error: The card number is not a valid credit card number.

Is this a Stripe extension issue or a Webform-CiviCRM issue?

It was a Stripe Payment Extension issue. I thought I was on the latest version but must have been a few commits back. Updating the files to the latest 4.6-dev version and then visiting the Manage Extensions page to run database updates was all I needed.


Email-to-activity processing - not working I'm having trouble getting the email to activity processing to work. (Wordpress 4.4.4 and Civi 4.6.4) I keep getting this error:

Could not connect to MailStore for XXX@domain.org@imap.gmail.com&lt;p&gt;Error message: &lt;pre&gt;An error occured while sending or receiving mail. Failed to connect to the server: imap.gmail.com:993.&lt;/pre&gt;&lt;p&gt;

 $backTrace = #0 /myfolder/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(322): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /myfolder/wp-content/plugins/civicrm/civicrm/CRM/Utils/Mail/EmailProcessor.php(184): CRM_Core_Error::fatal("Could not connect to MailStore for xxxx@domain.org@imap.gm...")
#2 /myfolder/wp-content/plugins/civicrm/civicrm/CRM/Utils/Mail/EmailProcessor.php(111): CRM_Utils_Mail_EmailProcessor::_process(FALSE, Object(CRM_Core_DAO_MailSettings))
#3 /myfolder/wp-content/plugins/civicrm/civicrm/api/v3/Job.php(379): CRM_Utils_Mail_EmailProcessor::processActivities()
#4 /myfolder/wp-content/plugins/civicrm/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm_api3_job_fetch_activities((Array:1))
#5 /myfolder/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(96): Civi\API\Provider\MagicFunctionProvider->invoke((Array:9))
#6 /myfolder/wp-content/plugins/civicrm/civicrm/api/api.php(23): Civi\API\Kernel->run("job", "fetch_activities", (Array:1), NULL)
#7 /myfolder/wp-content/plugins/civicrm/civicrm/CRM/Core/JobManager.php(131): civicrm_api("job", "fetch_activities", (Array:1))
#8 /myfolder/wp-content/plugins/civicrm/civicrm/CRM/Core/JobManager.php(110): CRM_Core_JobManager->executeJob(Object(CRM_Core_ScheduledJob))
#9 /myfolder/wp-content/plugins/civicrm/civicrm/CRM/Admin/Page/Job.php(155): CRM_Core_JobManager->executeJobById("3")
#10 /myfolder/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/Basic.php(178): CRM_Admin_Page_Job->browse(NULL, NULL)
#11 /myfolder/wp-content/plugins/civicrm/civicrm/CRM/Admin/Page/Job.php(140): CRM_Core_Page_Basic->run()
#12 /myfolder/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(312): CRM_Admin_Page_Job->run((Array:3), NULL)
#13 /myfolder/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:13))
#14 /myfolder/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:3))
#15 /myfolder/wp-content/plugins/civicrm/civicrm.php(1189): CRM_Core_Invoke::invoke((Array:3))
#16 [internal function](): CiviCRM_For_WordPress->invoke("")
#17 /myfolder/wp-includes/plugin.php(525): call_user_func_array((Array:2), (Array:1))
#18 /myfolder/wp-admin/admin.php(236): do_action("toplevel_page_CiviCRM")

We use google apps to host our mail and I've read through the posts on here already regarding that set up. I don't think it's google apps that's tripping things up. I get this same error message with any email set up I try.  Here's what I've done to try and narrow down the problem - all of these result in the same  error "could not connect to MailStore"

Used emails hosted through GoDaddy and Hostmonster.
Tried both IMAP and POP3 settings
Turned on and off SSL
Cleaned the email accounts I was testing (i.e. they only had one or two emails in the account)
To see if a different error would populate, purposefully used the wrong password.

Can anyone suggest what I might need to look for? I'm not sure I know what the rest of the backtrace means....

Thanks!

Sounds like firewall is blocking port 993. Do you use outlook or a desktop email program with imap? Does it work there? Do you know how to use telnet to test - can you telnet to port 993?


How can I emulate a CiviDiscount when using Webform CiviCRM? I want the user to be able to type a Discount code into a field and then I want that Discount code (if applied correctly) to result in a reduction of their Membership Fees;

This is easy to configure with webform civicrm (a Drupal module) - here are the steps:

A. Create a native webform field - call it Discount Code. Let's put it at the top - where we're going to select the Membership Type:

B. Go to your CiviCRM Tab -> then to Memberships -> and hit the checkbox on Membership Fee; this will expose it to the webform;

C. String it together with Conditionals: in your Webform Tab -> hit Conditionals
Here's mine:

D. Let's test the Form: here are the three scenarios:

Select Professional Membership - we don't have a Discount Code:

Select Student Membership - we don't have a Discount Code:

Select Student Membership - and we have a Discount Code:


Report with filter 'yesterday' produces no result When I create a report of contributions I can select a filter on 'Receive Date' of yesterday and any transactions with yesterday's Receive Date will be displayed. If I select a filter on 'Transaction Date' of yesterday no transactions are displayed even though there are transactions with a Transaction Date of yesterday.

In looking at the Contribution Table the transaction date is not shown in the table.

Can someone throw some light on this apparent issue?

The transaction_date field lives in civicrm_financial_item. Not sure that helps you much though.


How to export all children of a family? Our organization has families defined by relationships (but not put into households) and is looking to print a directory with a column of family members:

        NAME          FAMILY
        Bob Smith     Susan Smith (spouse)
                      Jimmy Smith (child)
                      Katie Smith (child)

I know I can export the spouse display name, but when I export "Individual > Parent of > Display Name" this only lists one child.

How can I export all children?

The relationship report will give you all the children of a contact easily for you. Relationship reports are standard with CiviCRM and appear under Contact Reports.

Edit filters to ensure the relationship is filtering on only the type you're interested in reporting on. You can then export to csv which will allow you to sort as required there if you want them to display in a particular way.

You'll see that it can only filter on one relationship at a time, so if you put all the contacts that you want to include into a group, you can filter on that instead to display all the relationships on contact in that group.

If you are using Drupal, you might also want to explore views to display this information for you. However, if you don't use Drupal or aren't familiar with views, this is a steep learning curve! If you use it in conjuction with views data export (https://www.drupal.org/project/views_data_export) you can get the information into excel from the view also.


Can we disable the "Record payment" button on contributions? I've finally just now noticed the ability to record multiple separate payments on contributions in the back-office area, using the "record payment" button.

I didn't realize it, but according to https://github.com/civicrm/civicrm-core/blob/master/release-notes/4.7.16.md#features this has been around since version 4.7.16.

This is causing a couple of problems for some of my sites:

After we enter a partial payment against a contribution, there's no easy facility to find that payment (edit: I mean search for that payment, not just see it within the contribution record). I can search for contributions, but not payments.
A couple of my client's custom features weren't anticipating multiple payments, and so aren't correctly reflecting the payments they're entering against contributions.
I can't find much documentation about this online.

The above-referenced release notes indicate this was added as part of an effort to support accrual-based accounting. If that's so, is there perhaps a way to disable this functionality, and/or disable other accrual-accounting-related features?

Once can find payments for contribution by clicking on Amount from Contribution result. The section which appears after clicking on amount shows all the payments against the contribution.

I believe its not possible to turn off 'Record Payment' link from contribution through UI. But you can implement hook_links() in your extension and unset the record payment link. Here is the snippet on how you can remove the 'record payment link

function extension_civicrm_links($op, $objectName, $objectId, &$links, &$mask, &$values) {
  if ($objectName == 'Contribution' && 'contribution.selector.row' == $op) {
    foreach ($links as $key => $link) {
      if ($link['name'] == 'Record Payment') {
        unset($links[$key]);
        break;
      }
    }
  }
}

By default Accrual Accounting is disabled until you enable (Enable Deferred Revenue) them by navigating to Administer >> CiviContribute >> CiviContribute Component Setting. You can turn off the settings if its enabled in your site.

HTH

Pradeep


endless spinner when selecting event location When selecting a different location for an event where this event is the only one using the current location, upon save you'll see an endless spinner.

Everything seems to get deleted just fine in the d/b (the previous location gets deleted as it's no longer needed as it was only used by one event ... that's how Civi does it, anyway), but the endless spinner in the UI is annoying and our staff get worried. ('coz, you know, we saw the recent bug where creating a new location inserted this location to all events that shared the previous location ... anyway, our staff are a little gun shy as you can imagine).

In the error log, I see the following:

[code] => -3
[message] => DB Error: constraint violation
[mode] => 16
[debug_info] => UPDATE  civicrm_loc_block  SET address_id = 29774 , email_id = NULL , phone_id = NULL , im_id = NULL , address_2_id = NULL , email_2_id = NULL , phone_2_id = NULL , im_2_id = NULL   WHERE (  civicrm_loc_block.id = 61 )   [nativecode=1452 ** Cannot add or update a child row: a foreign key constraint fails (`evergr55_test`.`civicrm_loc_block`, CONSTRAINT `FK_civicrm_loc_block_address_id` FOREIGN KEY (`address_id`) REFERENCES `civicrm_address` (`id`) ON DELETE SET NULL)]
[type] => DB_Error
[user_info] => UPDATE  civicrm_loc_block  SET address_id = 29774 , email_id = NULL , phone_id = NULL , im_id = NULL , address_2_id = NULL , email_2_id = NULL , phone_2_id = NULL , im_2_id = NULL   WHERE (  civicrm_loc_block.id = 61 )   [nativecode=1452 ** Cannot add or update a child row: a foreign key constraint fails (`evergr55_test`.`civicrm_loc_block`, CONSTRAINT `FK_civicrm_loc_block_address_id` FOREIGN KEY (`address_id`) REFERENCES `civicrm_address` (`id`) ON DELETE SET NULL)]
[to_string] => [db_error: message="DB Error: constraint violation" code=-3 mode=callback callback=CRM_Core_Error::handle prefix="" info="UPDATE  civicrm_loc_block  SET address_id = 29774 , email_id = NULL , phone_id = NULL , im_id = NULL , address_2_id = NULL , email_2_id = NULL , phone_2_id = NULL , im_2_id = NULL   WHERE (  civicrm_loc_block.id = 61 )   [nativecode=1452 ** Cannot add or update a child row: a foreign key constraint fails (`evergr55_test`.`civicrm_loc_block`, CONSTRAINT `FK_civicrm_loc_block_address_id` FOREIGN KEY (`address_id`) REFERENCES `civicrm_address` (`id`) ON DELETE SET NULL)]"]

I was able to reproduce this on one of the demo sites (which uses Drupal; I'm seeing it on Joomla on my end).

Anyone else seen this issue? Wanted to check here before submitting an issue on Github.

Thx

This got solved on our site on CiviCRM 5.3.1 and Joomla 3.8.10 by creating and entering a Google Geocoding API key


Send a contact to CiviCRM only if the user check a specific checkbox in a Contact Form 7? I am aware that there is a Wordpress plugin to "link" Wordpress plugin Contact Form 7 and CiviCRM.

But I wonder if there is a way to send to CiviCRM the data of a user who filled the form ONLY if he/she checks a specific checkbox or acceptance box.

This is fundamental to comply with the GDPR.

Thank you in advance.

There are different ways to approach this, but none of them is standard as the Contact Form 7 Integration plugin only throws data over the line and lets CiviCRM take care of the api.

First of all, it is well possible that standard Contact Form 7 lets you specify a box that prevents submission of the data? If that is the case then that is the quickest and easiest solution

Insert a form in between where you ask permission and only take them to the next one (that sends data to CiviCRM) once they have ticked the box

Adapt the plugin in your installation to NOT send the api call if a certain box is ticked. That would not be an option I would take as I would prefer the next alternative, but is possible.
Send the data, including the "permission" box, to CiviCRM but use a specifically developed API (something like OkContact create). The check to only create the contact if the box is  ticked is then solved in this API, and the contact is only added if the box is ticked.

Does that help?


Insert and Get New ID in Extension Within a new extension, in a form's postProcess function, I am inserting into a non-Civi table (separate mysql database/table). What is the proper way to execute a MySQL insert statement and retrieve the new id from that insert using CRM_Core_DAO?  I use executeQuery for selects, and can use it to run the insert as well, but not sure that's the best way and not sure how to get the id back.

You could do something like CRM_Core_DAO::executeQuery("SELECT LAST_INSERT_ID()");. If your needs are simple that seems like the easiest.

Probably to do it "right", you would use civix generate:entity. See https://docs.civicrm.org/dev/en/latest/extensions/civix/#generate-entity

Then you could do things in an object-y way, like:

$myclass = new MyClass();
$myclass->field1 = 'foo';
$myclass->field2 = 'bar';
$myclass->save();
// Then the inserted id is automatically in $myclass->id (assuming your auto_increment field is called 'id'


How do I restore deleted contacts I've accidentally deleted a number of contacts.  How do I restore them so that they are still members of my organisation?

Short version, assuming you mean they are just in Trash, is

go to Adv Search,
tick the box for 'search in trash'
select the ones to restore
then under Actions choose 'restore from trash'


How to Disable Calls to CiviCRM site in 4.7? I am running CiviCRM on a standalone network (for testing purposes) and am getting regular errors about not being able to connect to the CiviCRM site.  How can I disable these calls in 4.7?

Thanks!

There are multiple calls to CiviCRM.org in the site codebase, so it's not clear which are triggering errors on your site. These are some of the things you could do ...

Disable Version Checking

According to a comment in CRM-17637, from 4.7 it's possible to disable the daily Version Check scheduled task. See under the menu entry Administer > System Settings > Scheduled Jobs.

Disable Community Noticeboard messages

You can disable the connections which update the community noticeboard in civicrm.settings.php.

$civicrm_setting['CiviCRM Preferences']['communityMessagesUrl'] = false;

(Wiki page on overriding CiviCRM settings.)

Redirect/disable connections to CiviCRM.org

You could adjust your server configuration to permit connections to CiviCRM.org, OR you could adjust it to redirect those connections to a local address (eg by adding an entry to /etc/hosts which will direct the requests to a local address).


How can I set the order of membership organisations in dropdown? I've added multiple membership types. They are related to several organisations. When adding a membership, in the form, I must first choose for which organisation, and then the type of membership, both in dropdowns.

Can I define the order of the organisations in that dropdown ?

While Membership Types can be ordered at civicrm/admin/member/membershipType it seems like the Organizations are sorted alphabetically here (CRM-6099).

You could rename the organisations to rearrange their alphabetical ordering. This is probably not realistic :)
You could create a CiviCRM extension which implements hook_civicrm_buildForm() and rearranges the options in the Organizations list.
A patch to core could make the form respect the order defined at civicrm/admin/member/membershipType for the related Organizations also.


Error message when merging contacts Using Drupal 7.53 and civicrm 4.7.15.

Attempting to merge two contacts and get this message:

"Sorry but we are not able to provide this at the moment.
Expected one RuleGroup but found 0"
Return to home page.

Thanks.

This happened to us, and it turned out that we didn't have a "supervised" dedupe rule defined for individuals. You can have at most one "supervised" and one "unsupervised" dedupe rule. Our supervised rule had disappeared (though I haven't worked out how). I recreated it and the error disappeared.
There's some relevant documentation here: https://docs.civicrm.org/user/en/latest/common-workflows/deduping-and-merging/#dedupe-rules


How can I customize the "Fatal Error" screen? I would like to change the language on the "Fatal Error" screen that users occasionally encounter by adding some text specific to my organization. How can I do this?

You can configure CiviCRM to use a customized "fatal error" screen by following the steps below. You may want to include specific site administrator contact information or other problem resolution instructions on the screen, as well as "theme" it for a more professional or consistent look.

Save a copy of civicrm/templates/CRM/error.tpl
Edit the text and layout of this file as desired. You can add site administrator contact info, site logos, etc. as needed.
Login (with Admin CiviCRM rights) and navigate to Administer » System Settings » Debugging and Error Handling
Replace the default value (CRM/error.tpl) with the relative path (from civicrm/templates) and name of your new file.
Save your changes.

You can also configure CiviCRM to use a custom error handler by referencing a custom PHP function in Administer » System Settings » Debugging and Error Handling

You might also be interested in the CiviCRM Error Handler extension which sends a detailed email to an administrator every time CiviCRM encounters a fatal error.

This content was migrated here from this wiki page as part of the 2017 wiki content migration project


Setting Up CiviCRM Multisite on Wordpress I run 2 sites on a Wordpress multisite. One of the sites has CiviCRM installed, and I want to hook up the second site to be able to access the Civi db as well. The first site is our main organization's website and handles membership, events, etc. The second site is a dedicated to one of our large annual events.

I am hoping to be able to access the Civi database from the second site to display the events in CiviEvent and allow for event registrations from the second site. That way people who register for the site will be added to our main Civi user database, rather than keeping track of two separate databases on each website.

The instructions on setting up a multisite in Civi seem quite complicated, so I am wondering if it is worth it to use multisite... Is this something that multisite can do? Is it worth doing, or is it far too difficult for too little reward?

It should be vastly superior to run multisite for the very fact you state: "That way people who register for the site will be added to our main Civi user database, rather than keeping track of two separate databases on each website."

One of the main benefits of using a CRM is to have a centralized database of all constituent information, be it contacts, contributions, events, etc. If you split it up, you are only causing yourself headaches later on trying to merge it.

Getting multisite working is worth it.  (Note: I haven't an idea how well Wordpress does multisite; my experience is usign Drupal.)


When using PayPal, we DON'T want to collect credit card info! I've searched for the answer to this, but haven't found it. Our issue is we want to have a contribution page with PayPal and Pay Later capability but don't want credit card information entered on our server.
I've just set up a contribution page, and the PayPal section requests all the credit card information be entered ON OUR SERVER before going to PayPal to complete the transaction. We really don't want this info on our servers, even temporarily!
For event ticket sales, choosing PayPal for the fees sends us to PayPal where the PayPal account or other credit card information is then entered on their servers. This is the way we would like the contribution pages to work.
Am I doing something wrong here? I can't remember ever seeing a credit card information form on any of my sites.
We're running CiviCRM 5.32.2 on Wordpress.
Thanks,
Rick

I've not tried all these options out, but looking at the documentation for Payment Processors (user guide and system administrators guide there is more than one PayPal payment processor. With PayPal Standard all the credit card details are collected on the PayPal site and with PayPal Pro they are collected on your site and transferred by SSL but not kept. There is also PayPal express. I suspect that you maybe using different Payment Processors for your two cases. Certainly worth checking what you have and adding that to the question. I'm not sure what the relevance of Pay Later is having never used that, but I think that's for offline collection of the payment.


how to configure outbound email as gmail I want to configure my outbound email as gmail.I am new to this.Can you please tell me the steps like what should be SMTP username and password.
Should I mark authenticate as yes/no?

I tried but I am getting this error.
https://www.screencast.com/t/bbageClqaT

Your suggestions are most welcome.

Thanks,
Mohit Thareja

Configuring CiviCRM SMTP for using Google Mail's SMTP services:

SMTP Server:     ssl://smtp.gmail.com
SMTP Port:       465
Authentication:  Yes
SMTP Username:   <your valid Google mail username>
SMTP Password:   <your valid Google mail password>

Finally, you likely need to tell Google that you wish to allow this level of access. See here: support.google.com/accounts/answer/6010255?hl=en


Import/export database from old CRM version(5.4.0) to New CRM version(5.15.2) in wordrpess Currently I am using Civi CRM (5.4.0) and want to upgrade it. I downloaded new version and installed it in my wordpress website.

I had a separate database for CiviCRM. When I installed & activated new version CRM plugin, it created tables in existing wordpress database.

Now my concern is, how can I import contacts, custom fields, Profiles etc. in new CiviCRM. Old plugin had civicrm.settings.php for database connectivity but same not found in new one.

Ashok welcome to CiviCRM stackexchange

If you new CiviCRM database has not gone live than i would

Create a test instance of CRM 5.4.0
Upgrade CiviCRM to 5.15.2
Dump the Civi database after upgrade.
Drop the Civi database or all civi table from CiviCRM database i.e linked to your new Wordpress.
Import the CiviCRM database that was dumped at #3
Open CiviCRM from UI.
Clear CiviCRM cache by navigating to Administer >> System Settings >> Cleanup Caches and Update Paths.
Rebuild trigger by running http://domain.orn/wp-admin/admin.php?page=CiviCRM&q=civicrm/menu/rebuild&reset=1&triggerRebuild=1

If you don't like above approach then you can use extension that migrates settings from one site to another

Config Items - This tool supports adding and updating using json method
ContactTypes, MembershipTypes, RelationshipTypes, OptionGroups with OptionValues, Groups, Tags, FinancialAccounts, FinancialTypes, EventTypes, ActivityTypes, LocationTypes, CaseTypes, CustomGroups with CustomFields, CiviCRM Settings (system settings set through the Setting.API - be especially careful with that!)
MI Data quality Tools - This tool supports adding and updating using json method
ContactTypes, MembershipTypes, RelationshipTypes, OptionGroups with OptionValues, Groups, Tags, EventTypes, ActivityTypes, CustomGroups with CustomFields, Profiles
Config Export (Undeveloped) and exports into yml format. (Import is not handled)
Import/Export(CRM_Utils_Migrate) This script performs data migration like Contacts, Contributions etc but not settings. But you can use export script to export in json format and then import using using extension from #1 or #2.
You can also use CiviCRM UI import/functionality to import Contact and their related data.

Cheers

Pradeep


Is sandbox the way to try out certain extensions now (instead of Cividemo)? CiviDiscount isn't among the extensions configurable in demo, is that b/c 1) it isn't stable enough now (4.6), or 2) there's another way to test it, besides installing it locally (e.g sandbox)?
A second question - there's code in CiviEvent registration relating to some other form of discount, is that functional code and if so, how is it configurable?

To try out extensions, I recommend setting up CiviCRM Buildkit. CiviCRM Buildkit makes the task of spinning up CiviCRM test instances (in multiple flavours) much easier, then you can try any extension you like on it - and have a more complete environment to test in.

https://github.com/civicrm/civicrm-buildkit


Smarty template tokens not translating We are running civicrm 5.33.1, wordpress 5.7, php 7.4.
The following test template only translates the contact.email greeting, the others stay as they are as do all other tokens in our templates.
Dear {contact.email_greeting}
{domain.address}
{domain.email}
{domain.phone}

Thank you Demerit. I misunderstood how tokens work and was trying to use system workflow tokens in a user template.


what is giving the error sites/default/modules does not exist I have a configuration problem somewhere.  My logs give a lot of this: File does not exist: /var/www/drupal-7.34/sites/default/modules.  The site has modules located in /var/www/drupal-7.34/sites/all/modules.  I'm getting the error in apache logs when I try to configure the 'Organization Address and Contact Info' page.  On saving that page I get a dump that starts:
backTrace

#0 /var/www/drupal-7.34/sites/all/modules/civicrm/CRM/Core/Error.php(182): CRM_Core_Error::backtrace()
#1 [internal function](): CRM_Core_Error::handle(Object(PEAR_Error))
#2 /var/www/drupal-7.34/sites/all/modules/civicrm/packages/PEAR.php(931): call_user_func((Array:2), Object(PEAR_Error))
#3 /var/www/drupal-7.34/sites/all/modules/civicrm/packages/PEAR.php(566): PEAR_Error->PEAR_Error("php_network_getaddresses: getaddrinfo failed: Temporary failure in name resol...", 0, 16, (Array:2), NULL)
#4 /var/www/drupal-7.34/sites/all/modules/civicrm/packages/Net/Socket.php(156): PEAR->raiseError("php_network_getaddresses: getaddrinfo failed: Temporary failure in name resol...", 0)
#5 /var/www/drupal-7.34/sites/all/modules/civicrm/packages/HTTP/Request.php(737): Net_Socket->connect("maps.googleapis.com", 80, NULL, NULL, NULL)

Here are a few other possibilities than Xavier's, which seem on point but not yet solving issue:

Check the entries in Administer > System Settings > Directories to see if the sites/default/modules directory appears anywhere and adjust as appropriate if it does.
Using phpMyAdmin or equivalent, check in the Drupal database in the registry table filename field for a module with a path at sites/default/modules. If you find one, change it to sites/all/modules after ensuring it is there.


Need Legislative District Lookups for CiviCRM/WordPress I've been using CiviCRM for WordPress for a few months now. We need to be able to populate both state and federal district fields. I found some relevant links.

https://civicrm.org/extensions/civicrm-congressional-districts-module
https://developers.google.com/civic-information/

Sounds like there are extensions out there but all for Drupal? Please tell me there's one for WordPress???

I've been a geek all my life, but never got into web-based programming or PHP.

Thanks much...Jim

The Electoral API extension is what you're looking for.


What are these symbols on the batch entry screen? I am updating the contributions chapter of the user guide so I am examining in detail funcionality that I don't necessarily use every day.

To the left of the contact field in the batch entry there are some symbols. Should they be there and if so what are they for?  They are not really obvious unless you magnify the image, but there was enough there when unmagnified for me to investigate further.

No, they are not supposed to be there. I suspect there is something amiss with the css on your site; possibly an interfering theme. This is what the screen looks like on dmaster.demo.civicrm.org:

On the other hand, I don't think they are working properly. I believe the checkboxes are supposed to represent that the row has been entered with valid data... but they appear regardless of what's entered. That sounds like a js bug in core.


Civi Database erased when upgrading from 4.6.3 to 4.6.4 I tried to upgrade from Civi version 4.6.3 to 4.6.4 but ended up having my crm database erased and filled with an empty civi database. I have tried to import my backup sql file in phpMyAdmin and get the following error.

--
-- Dumping data for table `civicrm_acl`
--

INSERT INTO `civicrm_acl` (`id`, `name`, `deny`, `entity_table`, `entity_id`, `operation`, `object_table`, `object_id`, `acl_table`, `acl_id`, `is_active`) VALUES
(1, 'Edit All Contacts', 0, 'civicrm_acl_role', 1, 'Edit', 'civicrm_saved_search', 0, NULL, NULL, 1),
(2, 'Core ACL', 0, 'civicrm_acl_role', 0, 'All', 'access CiviMail subscribe/unsubscribe pages', NULL, NULL, NULL, 1),
(3, 'Core ACL', 0, 'civicrm_acl_role', 0, 'All', 'access all custom data', NULL, NULL, NULL, 1),
(4, 'Core ACL', 0, 'civicrm_acl_role', 0, 'All', 'make online contributions', NULL, NULL, NULL, 1),
(5, 'Core ACL', 0, 'civicrm_acl_role', 0, 'All', 'make online pledges', NULL, NULL, NULL, 1),
(6, 'Core ACL', 0, 'civicrm_acl_role', 0, 'All', 'profile listings and forms', NULL, NULL, NULL, 1),
(7, 'Core ACL', 0, 'civicrm_acl_role', 0, 'All', 'view event info', NULL, NULL, NULL, 1),
(8, 'Core ACL', 0, 'civicrm_acl_role', 0, 'All', 'register for events', NULL, NULL, NU[...]
MySQL said: Documentation

#1062 - Duplicate entry '1' for key 'PRIMARY'

Two issues.  1. Database is getting reset when you upgrade  2. you cannot restore from backup.

Answer to #1 is this: Make sure you are following the upgrade procedure on
this page: http://wiki.civicrm.org/confluence/display/CRMDOC/Installation+and+Upgrades

Answer to #2 is this, before restoring from backup, follow this procedure.

a. ensure that the backup is intact, examine in a text editor, or import the backup into an entirely new database (not the civicrm database) called "justtesting" or whatever

b. drop the civicrm database.  this resets the schema of the database entirely, as new tables and columns are added during partial/failed upgrades, and must be removed.

c. recreate the civicrm database with the same name as it had before

d. import the mysql backup dump file into the newly re-created civicrm database.


Moneris Payment Processor - use CIviCRM Invoice ID as Order ID in Moneris For simple reconciliation, our client is requesting that the CiviCRM Invoice # be passed to Moneris as the Order ID for more straight-forward reconciliation.

We are referring to the default INV_xxxxx Invoice ID that CiviCRM generates.

Right now, Moneris passes back a random hash (ie, 0xf99c700c82a2e0011d750b925fd2db).

We currently use the modified Moneris plugin as provided by adixon @ Blackfly - https://github.com/adixon/ca.civicrm.moneris

Sounds like a good idea, most payment processors don't really like those 'random hash' things. But that random hash is the "invoice_id", and it's just how civicrm generates it (for good reasons, actually). The "Invoice ID" you describe is an optional piece of 4.6, so not always available. Also, I'm not sure if it's available to the payment processor plugin. Anyone else have an idea?


Adding password creation to registration form (Civi + Wordpress) I've been trying to find a way to add password creation to the member registration form, and have the password sync with the Wordpress user profile. The membership itself syncs perfectly, but the password fields I've tried don't work.  I'm using CiviCRM 4.6.19 and WP Version 4.7.1. Is there an easy way to do this?

Yes, assuming you're talking about a public-facing registration form and not the back-end form.

Go to Contributions menu » Manage Contributions.
Next to the listing for your membership page, select Configure menu » Include Profiles.
Note the name of one of the profiles you're including on the page.  If you don't have one, include one!  If you have two, either will do.
Go to Administer menu » Customize Data and Screens » Profiles.
Find the name of your profile, and next to it click the "Settings" button.
Under "Advanced Settings", set "WordPress user account registration option?" to "Account Creation Required" and press "Save".

That's it!  To test it, make sure you're logged out.  You can't create a user if you're already logged in, since that means you have one!


Scheduled reminders on membership end date not sending CiviCRM 4.7.28, Drupal 7

Scheduled reminders send if set for a specific date fine, but aren't triggered by membership end date - am i perhaps doing something wrong?

I have a relevant membership ending on 30/09/2019 hence the hours to test, but tried with days too.

Unless scheduled reminders are created on the membership creation, so not retroactive?

Thanks

I posted a summary HERE just yesterday that should provide you with way too much detail as to the cause of the issue, but by far the easiest way to fix the issue for existing records is to enable repetition (being sure to enter every 1 year until 0 days before membership end or the scheduled job will get mad and won't run).

In the "Current Behavior" section of the same post, you will find a detailed description of how to test to make sure schedule reminders will continue to work - if you don't have access to the database and want to be completely sure that the renewal reminders will send when expected, the next easiest option would be to create new schedule reminders and disable the old ones.

Hope this helps,
Tamar


Cancelling 1 Participant when Registered Multiple Participants So, I have what seems like a simple problem with no clear solution.

One of my users registered 4 contacts for an event (3 others and himself) and selected "pay later". When he went to pay hsi balance, he asked our administrative assistant to cancel one of the participants he registered, as they were no longer able to attend.

The registration was cancelled, but the amount due remains the same. The guy's paid for 3 of the 4 participants, which makes us even in our book, but he remains outstanding by $375 according to Civi.

What's the best course of action here? I want the total fee to reflect that he registered 3 participants, for $375 a piece.

Just cancel their whole Event Registration and register it again for 3 participant - by this way you can match with amount paid in -

Please take an Back of the DB before trying out anything or create a test system for testing the issue - if this didn't work please let me know


Update to 4.7.7 broke CiviCRM contact search I update to CiviCRM 4.7.7 from 4.7.6 and immediately got errors for my contact search.  The contact search in the upper left corner, Find contacts, and Advanced Search.  The error I get is:

  @import url(http://www.mysite.org/administrator/components/com_civicrm/civicrm/css/civicrm.css); @import url(http://www.mysite.org/administrator/components/com_civicrm/civicrm/bower_components/font-awesome/css/font-awesome.min.css);    Sorry but we are not able to provide this at the moment.

One of parameters (value: 1-street_address) is not of the type MysqlColumnName

 Return to home page.    function toggle( element ) { var parent = element.parentNode; var className = parent.className; if ( className == 'crm-accordion-wrapper collapsed crm-fatal-error-details-block') { parent.className = 'crm-accordion-wrapper crm-fatal-error-details-block'; } else { parent.className = 'crm-accordion-wrapper collapsed crm-fatal-error-details-block'; } }

Anybody else having this problem?

This is a regression that has been identified in 4.7.7 - thanks for spotting it.

Progress on the issue, and a patch to resolve it, will be posted on the issue tracker here: https://issues.civicrm.org/jira/browse/CRM-18510


Is CiviPostcode dead? I've tried to sign up for CiviPostcode last week, and was expecting an email to verify my account after signing up. This didn't appear, so signed up again with a different address, but still no account email.

Is anyone aware if the service is still running, and if so, is there a manual account creation process involved?

Thanks!

its not dead! We are in the process of migrating it to a new physical platform, which we're hoping to complete this week.


Is CiviEngage available with Backdrop CMS? CiviEngage is a Drupal module. Since Backdrop CMS is a fork of Drupal, porting modules is rather straightforward, from what I understand. Is CiviEngage available for Backdrop CMS yet?

It seems that the long-term plan is to turn CiviEngage into an extension for CiviCRM (see here and here) and deprecate the module. I don't see much recent action on that front, so you might be right that a simple port to BackdropCMS from the Drupal7 module would be the quickest way to start using it in the meantime. In short:

If you are able to help convert to a native CiviCRM extension (by coding or sponsoring), that
would be a great place to start.
If you can't do that but can do the module port to Backdrop CMS, that should be quite painless (he says without having looked at the code directly).
Beyond those, you could also submit a module port request for Backdrop CMS here. (I'm guessing it won't get into CiviCRM's core Backdrop implementation since the plan is to phase that into an extension, but it could be ported and hosted on BackdropCMS's contrib section in the meantime until such an extension exists).

UPDATE: It seems that CiviEngage may be ported to Backdrop and included in the Backdrop version of CiviCRM, unbeknownst to me. I have not tested it but give it a shot.
https://github.com/civicrm/civicrm-backdrop/tree/1.x-master/modules/civicrm_engage


Change the web version of an email / change a URL? Example:
Sent email, included wrong link and some wrong text.  Too late to change email - but is it possible to change the URL direction or change the text for the browser version?

Latest Drupal 7 and CiviCRM

Changing the URL to redirect elsewhere is something that happens outside of CiviCRM.  If you have click-through tracking enabled, you could also probably change the URL in civicrm_mailing_trackable_url in the database, but I've never tried this.


Issue after provider changed serveur/db I have now a new issue with one of my CiviCRM website.

My provider (Infomaniak) decided to move to a new server.

All my Joomla website works well but I have now a trouble with CiviCRM.

When I start it I get this :

XML data could not be loaded. Make sure you specified the correct path.
Call stack
#   Function    Location
1   JAdministrator->dispatch()  JROOT/administrator/index.php:46
2   JError::raiseError()    JROOT/administrator/includes/application.php:164
3   JError::raise() JROOT/libraries/joomla/error/error.php:251

Could someone help me ?

Thanks a lot for your answer !

You need to delete /media/civicrm/civicrm/ConfigAndLog/Config.IDS.ini file.

This will fix the issue.

This is clearly mentioned in Step 9 in the docs - http://wiki.civicrm.org/confluence/display/CRMDOC/Moving+an+Existing+Installation+to+a+New+Server+or+Location . Make sure you (your provider) follow these instructions when moving CiviCRM to new server/location


Easiest way to redirect an event registration confirmation to another page After event registration, on the confirmation page, we simply want a new window to open or for the page itself to redirect after 5 seconds to another page. What is the best way to do it?

Depending on the exact flow you need you may find this Fuzion extension offers what you need as it provides fields eg on an Event where you can specify the page to redirect to after submission.

Note it has a dependency on another Extension


Can I batch update participant role for an event for all contacts registered for an event who have a certain tag? The scenario is this:
I have an event -- we'll call it "Meeting." There are 200 contacts registered for "Meeting." All 100 have the participant role "attendee." 60 of the contacts who are registered for "meeting" are tagged as "meeting speaker." I would like to batch update so that all 60 contacts with the "meeting speaker" tag have their participant role switched to "speaker" instead of "attendee."

If I do a contact search, I can isolate the tagged participants, but not update their participant roles. It won't let me add them to the event as they are already registered.

On the other hand, if I do a participant search I can batch update registration status, but not search only registrants who have the tag.

Am I missing something or is this just not doable? I'd really rather not manually change all 60 statuses.

This is doable with Advanced Search.  You can enter your criteria (the tag) and change the Display Results As field to read "Event Participants", and then click Search.  The results will be the folks tagged Meeting Speaker, but your Actions on the result screen will be geared toward Event type actions.

More info on the Display Results As option can be found on this CiviCRM blog post.


Event Registration - Empty Session object when not logged in I am running Civi 4.6.10 on WP 4.3.2.

I know this sounds like a several other existing questions but I've tried all the suggested solutions and no fix.

When a user is logged in (or even logged out but the system remembers them) the user can register for an event.  When I am in an incognito window or a new browser where I have never logged in before, when I press Continue from the first page of the Registration, I get the error "Sorry but we are not able to provide this at the moment.  Could not find valid value for id."

I did a bunch of debugging and found the real underlying issue to be that the CRM_Core_Session Object is empty.  There is an [entryURL] but no [qfPrivateKey] or [qfSessionID].  When I am logged in (or logged out but recognized by the system) then I see that the CRM_Core_Session Object has both the [qfPrivateKey] and [qfSessionID].

I have verified that my base url in my civicrm.settings.php file does have "http://www.mysite.org" and the URL on the pages have www.

There is an anonymous user role in my Wordpress install and I tested giving it full civi permissions and it did not solve the problem.

In CiviCRM -> System Settings -> CMS Database Integration I set civicrm as the base page and added it as a parent page to my event registration page - didn't help.

The event registration form that I have been testing with was generated from a Wordpress shortcode.  If I go directly to the link for the event registration generated from Civi then when I press continue, I don't get an error but it just refreshes the page and I see that the session object is empty.

PLEASE HELP!

After debugging and debugging and searching and searching I called Bluehost.  We are on a VPS customized for Wordpress sites that has a "feature" called Varnish Cache.  The first thing the guy did was disable this "feature" and voila, my sessions were no longer being destroyed.

Hope this helps someone!


Platform independent Webform CiviCRM Is there any work being done on a platform independent Webform CiviCRM or equivalent? Our site is heavily invested in Joomla but we just can't seem to get CiviCRM to fit our needs without the customizability of Webform CiviCRM. I'm wondering if I will need to do a rebuild and migration to Drupal just for this plug-in or if there is hope in waiting, or places I can try to help.

There are some developments on generic ways of passing data between forms and CMS but they are at very early baby stages.

However they focus on the situation where CiviCRM is on a different server then the public website as this is the most secure configuration that best allows following European privacy guidelines. So that would certainly not help you right now.

Having said so, have you thought about separating CiviCRM and your public facing website because of security reasons?


URL Variables with/w/o slashes Upload Directories vs Resource URLs Wordpress 5.0.3

CiviCRM 5.9.0

I'm looking at the help pop-ups compared on two pages. (The text in the black box in the two images)

I've got Path Variables on the Upload Directories page:

I've got URL Variables on the Resource URLs Page:

They are supposed to be the same variables: [cms.root], [civicrm.root] and [civicrm.files], yet on the former page, the variables have no slashes. On the latter page, they do have slashes. I suspect the one without slashes is correct, because the Extensions Directory for both uses [civicrm.files]/ext/ and had already been set that way.

Before I make any mistakes, these are the settings I have on Resource URLs now:

CiviCRM Resource URL: wp-content/plugins/civicrm/civicrm/

Image Upload URL: wp-content/plugins/files/civicrm/persist/contribute/

These are what I should probably change them to:

CiviCRM Resource URL: [civicrm.root]/

Image Upload URL: [civicrm.files]/persist/contribute/

Please confirm.

Is it possible this a minor bug?

Its not a bug, adding extra '/' won't make any difference. The variables shown Directories and Resource URL forms have same naming conventions however they are rendered in different way for each form.

CiviCRM Resource URL: [civicrm.root]/

Image Upload URL: [civicrm.files]/persist/contribute/

Your Settings looks fine.

Cheers

Pradeep


How to setup a camping event with 2 part payment option? Here are the conditions I need to meet

Registration Cap: 15 people
Deposit Fee: £10, a non-refundable deposit of £10 per person is due at time of registration, to reserve your space.

Payment Options (Either pay in full amount or interest-free installment option)

First installment £45 (After which we’ll book your tickets – non-refundable)
Final installment £55 (Other charges - non-refundable)
Or they can pay the full £100 (excluding deposit) in one go
Participants need to upload their photo while registering

My question is - How can I set up a fixed deposit amount & 2 part pricing option with a Maximum number of participants? If I set up Max no of participants and some people pays in 2 installments then the number would be maxed out before actually 15 people would be registered. Also, How can I give the option to upload a document that can be accessed easily? Thanks

EDIT: I have seen the other question at Is there a way to allow partial payments for events?

But Last answer received on this was in 2017 and I am wondering if there’s any better solution for this Kind Of issues by now!! The answers provided was not a straightforward solution because there’s no automated system and requires a lot more administrative workaround. I need a simple solution just like a event registration or a online contribution page. Just wondering, is it possible to create an extension that can take care of that? If it’s achievable via extension, how that can be done?

Multiple part payments can be achieved by selecting “Multiple registration for same email”. But issues is, how to restrict registration to only 15 contacts rather than 15 participants?

If they paid partially, how to send them an automated email for payment reminder?

We have a client that runs a child after school care STEM program. Monies are due at the time of registration (one month eg in May) and then monthly (starting in Sep) for additional 9mo;

We use webfom civicrm (of course! ) with iATS payments to:

1) sign up for the Event and detemine the participant fee (conditionals factors are age, number of days, time-slots). 2) collect all contact info (parents, emergency contacts, contacts allowed to pick up the child) etc 3) use the recurring series feature in the webform civicrm -> CiviCRM
-> Contributions tab -> to enable that and to expose instalments on the webform 4) so parents can choose to pay now (all up front) or select the monthly option - this automatically creates a monthly recurring contribution with first charge now. 5) an administrator changes the next scheduled date for the recurring series to Sep 01 (so second instalment will be in Sep) 6) if you have a lot of recurring series then you can use views and civicrm entity and views bulk operations to contruct a view in which you can update multiple next scheduled dates in bulk.


Change Household contact to Organization contact A staff member added quite a few contacts as Households but they should have been added as Organizations. I can find no form control to switch the contact type to Organization. Can you suggest a procedure to fix this or should we just redo the work?

This not exactly a duplicate of this question because we are going from Household to Organization, and there is no concept of merging a Household into an Organization (as far as I know).

It turns out that exporting the problem household contacts and then importing them as organization contacts, using the appropriate field mappings, is the fastest way to do this. After import just delete the household contacts.


CiviCRM API Implementation How are API's implemented in the CiviCRM Codebase? I have a idea of basic structue user <-> api <-> BAO <-> DAO <-> mysql but I guess there is more to this than just this structure. Thanks in Advance!

Welcome to CiviCRM SE! The first place to look for this information is in the relevant section of the developers guide at https://docs.civicrm.org/dev/en/latest/api/


How will I maintain versioning of civicrm in github? I customized a civicrm. I want to put on github.I cannot maintain a mysql database versioning. How can I do that?

It's really bad idea to customize CiviCRM core files when you can do thing using extensions. If you feel your customization fixes core issues than you should try to submit pull request against civicrm-core. If your changes are client specific than you can either move those files into custom php or custom template(again bad idea since its very difficult to maintain for future upgrade) or implement JS/hooks. There are many hooks available in CiviCRM where you can alter the content of website or perform additional function that is missing for example sending emails to group admin when a contact is created or change the content of Thank you page of Contribution or Membership signup or Event registration.

If you want to maintain the versioning of db then I would suggest to create extension and implement install/upgrade hook to create/update/delete custom fields or any settings in this way you can version your extension and can deploy on various instances without any hassle. There are also various migration tools available in CiviCRM which is responsible to migrate custom fields, contact types etc from one instance to another. You can also use them to copy your custom fields over staging or production instances.

https://www.drupal.org/project/civicrm_field_migrate
https://github.com/CiviCooP/org.civicoop.configitems
https://github.com/catorghans/net.trinfinity.orgis.mi.dataquality
https://github.com/xurizaemon/civicrm-configexport


Unable to add multiple participant registrations for one contact We use CiviCRM to collect anonymous feedback and equal opps data from event attendees in custom fields connected to an event participant role, and to avoid having to create multiple anonymous individual contact records, we have been registering multiple participant instances for a single anonymous record. Unfortunately, following the latest update to 4.7.14, this is no longer possible.

I realise that we've been taking advantage of something many would consider a bug - I'm pretty sure this change is a result of this bugfix: https://issues.civicrm.org/jira/browse/CRM-19550 - but it makes our life vastly more complicated, because we'll have to create upwards of 100 anonymous records and anyone entering data will have to keep track of which participants have already been added (not a problem when there's 10 attendees; definitely a problem when there's 75).

I'm also concerned that if we have to correct information in participant records that are already in the system, we won't be able to without re-assigning the participant contact record, or, worse, that the custom participant data will become conflated.

Is there a way to disable/edit whatever dedupe rule is being used here? (I'm assuming that the participant records are still saved with a unique id and won't get overwritten - if this isn't case, I'd appreciate a heads up)

I think this may be related to this issue: Enable multiple event registration for same purchaser/participant - however, that problem relates to individuals signing themselves up to events, not participants who are being registered by an administrator, and so the suggested fix doesn't apply here (even if it did, it would require us to enable online registration, which we definitely don't want!)

As I understand you correctly, you were exploiting a bug, and now its is fixed you search for another solution. One option is to undo the bugfix.

You can do this with the following actions:

Lookup the issue (CRM-19550).
Find the pull that contains the patch (https://github.com/civicrm/civicrm-core/pull/9303).
Create a patch file

wget https://github.com/civicrm/civicrm-core/pull/9303.patch > CRM19550.patch

Reverse apply the patch on your 4.7.14 installation

git apply -R CRM19550.patch in the [civicrm.root].

You have to follow the same procedure with every upgrade.


Can we be notified when civi recieves an SMS? I would like to know if there is a way users can be notified when a client replies to a text that has come from Civi. Our system is currently receiving SMS that have been sent to civi, but the only way of knowing they have been received is to look at each individuals activity list. I wondered if a notification to a user could be set up through Civi Rules? Has anyone been successful in setting this up?
Thanks in advance.

Lisa, Welcome to CiviCRM SE. Since Civi stores response as a activity, you can create schedule reminders to send sms/email for Activity type 'Inbound SMS' with 0 hrs after activity date time and limit to group of contacts. You can also use tokens like activity details, contact name etc in your message.

Using CiviRules extension you can send email/sms by using trigger 'Activity Added' with Filter 'Activity type' as 'Inbound SMS' and Action as Send SMS/Email. (You will need to Install CiviRules extension along with Email Api extension to send email or SMS api extension to send sms)

HTH

Pradeep


Where is the developer documentation for making core CiviCRM database changes, to the schema and to the initial data? I'm working on a (newer) PR for CRM-19751, which requires some database schema changes and addition of an option group with its options. Obviously I knew something about this when I created the original PR last year, but now can't seem to find documentation for such things as

How to get these code changes to actually perform the schema changes in my dev environment;
How to test (even manually, or else by some better method) that the upgrade script will work correctly;
The various directories/files in which I should be sure to make the changes (e.g., the appropriate DAO, xml/templates/civicrm_data.tpl, what else?)

So this question is not really to get an answer to the above points (though that would be helpful); rather it's to find out where this stuff is documented, or else where's the best place to ask someone about it?

Change the appropriate file(s) under xml/schema so the tarballs are created properly.
The data insert statements for the tarballs go in https://github.com/civicrm/civicrm-core/blob/master/xml/templates/civicrm_data.tpl as you mention.
Create, or more likely edit, appropriately named file for version you are targeting PR to go into under https://github.com/civicrm/civicrm-core/tree/master/CRM/Upgrade/Incremental/sql. Your insert or alter commands for upgrading sites go in there.
Very rarely, instead of or in addition to 3, you may want to put some php code into appropriately named file under https://github.com/civicrm/civicrm-core/tree/master/CRM/Upgrade/Incremental/php.
Usually the schema changes are simple for the tarball and you need to worry about the upgrades working properly. Manual tests are all I know about. :(

HTH. If this works maybe submit it to a developer doc page.


Bulk sms is changing my URL When I send out a bulk sms with an URL, the URL is changed before it is sent out.

Original message in template:

Hi John! Check out this link: wikipedia.org/somethingfunny

Received message on phone:

Hi John! Check out this link: https://mysite.com/sites/all/modules/civicrm/extern/url.php?u=43&qid=70242

How to make CiviCRM not change this?

My preferred solution is to use this extension (which should be 4.4 compatible) rather than manually digging around the database. Hope that helps!

https://github.com/PalanteJon/coop.palantetech.nosmsurltracking


How can I import dropdown options? I have defined a custom field of type Integer Select.  How can I import a list of integers into the dropdown options list (rather than enter them manually, one at a time)?

There are several extensions designed to do exactly this.

First is the aptly-named Option Values Importer.  It hasn't been updated recently, and it only does the one thing - but it may be simpler to use as a consequence.

There's the configitems extension.  This one has a bit more setup, but is great if you have to add/remove values on a regular basis.

Finally, there's the CSV API GUI extension.  This is an alternative to the "API Explorer" approach Pete suggests, that lets you import in bulk from a CSV file.  This works with all modern versions of CiviCRM and is probably the best bet if you don't want to mess with putting files into your web server's file system.


Drupal 7 unable to reach CiviCRM installer I'm trying to install CiviCRM (4.6.10) on a fresh copy of Drupal 7 (7.41) but I can't start the CiviCRM installer.

Error messages:
When I visit http://your_domain_or_IP_address/sites/all/modules/civicrm/install/index.php I get a Server Error 500. Looking at my logs they read:

PHP Fatal error:  require_once(): Failed opening required 'WP_PLUGIN_DIR/civicrm/civicrm//CRM/Core/ClassLoader.php' (include_path='.:/usr/lib/php:/usr/local/lib/php:/usr/local/php56/lib/php') in /home/hostname/public_html/test/d7/sites/all/modules/civicrm/install/index.php on line 75
PHP Warning:  require_once(WP_PLUGIN_DIR/civicrm/civicrm//CRM/Core/ClassLoader.php): failed to open stream: No such file or directory in /home/hostname/public_html/test/d7/sites/all/modules/civicrm/install/index.php on line 75

From Drupal

Notice: Undefined index: description in drupal_check_module() (line 1232 of /home/hostname/public_html/test/d7/includes/install.inc).
(Currently using CiviCRM settings does not exist CiviCRM settings file does not exist. It should be created by CiviCRM install)

What I've tried: setting folder permissions to 755 or 777. I have uploaded the CiviCRM files via ftp and also using the URL. I have re-installed Drupal 7.

I was able to successfully install CiviCRM on Wordpress on the same server but I'm stuck on the Drupal install.

To be clear, I downloaded and uploaded different CiviCRM installation. One specific to Wordpress (for Wordpress) and one for Drupal. The modules show up in my Drupal Modules section.

Any idea what I can do to kick start the installer?

It mentions WP_PLUGIN, are you sure you downloaded the civicrm version for drupal, and not the one for wordpress?

You can't just re-use the same civicrm code base between wordpress and drupal, you'll need to download the CMS specific version again

X+


Sending an invoice per email goes to primary address, not to billing I am  not sure if I overlooked a setting or if it could be considered to be a bug.

When we do a search on contributions and with the results we select "Print or Email Contribution Invoices" and we select Email, the invoices are sent to the Primary email address for the contact, but we need them to go to their "Billing" email addresses (Which I think is logical for an invoice).

Is this a setting I overlooked, a feature (I don't understand) or a bug?

There is no setting that you overlooked. Since Billing is not necessarily utilised it sounds like you requirement is a setting that says 'set my system to email to Billing email if it exists, otherwise send it to Primary'
(NB I realise I may not be adding much to above comments but am trying to get some unanswered questions answered as that is currently the 'weakest' aspect of our Beta civicrm stackexchange according to these stats)


New EU-DSGVO 2018 - Is a new agreement necessary? Dear CiviCRM beta team,

we as the NGO "Wissenschaftsladen hannover e.V" would like to know whether we need a new agreement concerning the new DSGVO (Datenschutzgrundverordnung).
According to the new privacy policy, which will come into effect at may 25th 2018, a lot of laws will change and therefore our question revolves around future changes in terms of our general agreement and different new things we should consider.
An answer in german would be fine too / Eine Antwort auf deutsch wäre auch ok.

Yours faithfully, Wissenschaftsladen Hannover e.V
Denis Matthies

I do not think there will be an easy answer to this GDPR question (also it is only party CiviCRM-related) but the following resources could be useful:

https://www.fellowshipproductions.co.uk/make-your-website-gdpr-compliant/
https://en.wikipedia.org/wiki/General_Data_Protection_Regulation
https://www.gdd.de/gdd-arbeitshilfen/praxishilfen-ds-gvo/praxishilfen-ds-gvo
(coherent information in German lanaguage)

Also, you will be happy to know that there is a CiviCRM extension which focusses on the topic of GDPR / DSGVO: https://civicrm.org/blog/parvez/announcing-a-new-gdpr-extension


Moving wordpress / CiviCRM to another folder I had mysite.com set up with CiviCRM, we built a new site and then moved mysite.com to another directory and changed the subdomain to old.mysite.com. CiviCRM no longer works and I am having a hard time getting it running. From reading this: Change URL only on WordPress+CiviCRM I changed the CIVICRM_UF_BASEURL but I am assuming I need to do more than just that as that didn't work. If anyone could give me some more information that would be awesome.

There's also all these in civicrm.settings.php

// Additional settings generated by installer:
$civicrm_paths['wp.frontend.base']['url'] = 'http://domain.org/wpcivi/';
$civicrm_paths['wp.backend.base']['url'] = 'http://domain.org/wpcivi/wp-admin/';
$civicrm_setting['URL Preferences']['userFrameworkResourceURL'] = 'http://domain.org/wpcivi/wp-content/plugins/civicrm/civicrm';

and further down there's global $civicrm_root;

and site urls

and double check in admin:

resource url
directories
CMS database integration
CMS database


How to make an efficient to-do-workflow for back-end staff? CiviCRM is very flexible, to be able to be adjusted to the needs of many different use cases. One thing that is not set up by default, but is very helpful, is to set up to-do-lists for staff member.

What is the best practice for setting up a to do workflow?

(On the site I am administering, we have separate reports, showing for scheduled and pending activities last three months, with a certain assignee name. These reports are displayed on the dashboard of each user. At the same time the cron job will send by email daily reports with only the scheduled activities. So, each user can change the activity status from scheduled to pending, to indicate that they are working on it.)

We've set up custom reportlets on dashboard that list the upcoming activities for the current user ordered by due date.


Why is CiviRules not firing when the trigger is adding a tag? Using CiviCRM 5.35.1 with Drupal 7. Just installed the new CiviRules extension 2.23. I've been waiting for this because CiviRules has not been working with Tags for a couple of months and it has totally messed up our membership workflow. :-(
Just tested the new version of the CiviRules extension (2.23) and some things are fixed, but not others. When changing membership status is the trigger, CiviRules does add the tags it should to the contact and does add the contact to the groups it should. :-)
However, when adding a tag is the trigger, it still does not add contacts to groups or remove them from groups as it used to do. :-(
Is anyone else seeing this?
Thanks.

Thanks for sharing your problem.
As you can see there are a few outstanding issues with tags: https://lab.civicrm.org/extensions/civirules/-/issues?scope=all&utf8=%E2%9C%93&state=opened&search=tag
As you are probably aware CiviRules is open source like the rest of CiviCRM. That means that issues will be fixed in a number of ways:

organizations run into bugs and get their own staff to fix them
organizations run into bugs and pay a CiviCRM partner/developer to fix them

So if you are in a position to either fix the problem or fund someone else fixing it that would be great! Most of the times issues do not get fixed without someone bearing the cost at some point, the power of open source is that the solution is then shared freely.
On top of this CiviCooP sponsors a yearly 2 day sprint to fix as many as the issues as we can in 2 days. But there is no guarantee that the issue that is bugging you is on top of the list (although in this case it probably will be....). This sprint is going to be in the week of 10 May. Any sponsorship for an additional day will be welcome :-)


Is CiviCRM 4.6.x compatible with PHP 7? Is CiviCRM 4.6.x compatible with newer version of PHP, 7?

No, it is planned for 4.8, but could use some help (with funding or investigating issues).

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


Is there a copy of phpunit 4 documentation somewhere? The phpunit no longer even lists the 4.8 documentation on its website although that seems to be the version buildkit is on.

:-(

are there docs for 4.8 somewhere?

https://phpunit.de/manual/4.8/en/index.html still exists even though it's not shown as an option in the menu anymore.