Email Outgoing Configuration - Failed to connect to the SMTP server

The error in red shows 'Name or service not known' so the problem is related to the server name 'smtp.touchingbase.org'.   There is no public DNS record for that.   Did you enter the wrong name?


Getting data automatically from CiviCRM to Google Spreadsheets?

You might want to check out this recording of a CiviCon session? https://www.youtube.com/watch?v=6K3awPdA7h0. Not sure if it will answer all your questions but I am sure it will give you a good idea :-)


hey guys, i need some help to add some features to civicrm locally using phpstorm?

start here to start learning about how use to phpstorm and xdebug:
https://docs.civicrm.org/dev/en/latest/tools/phpstorm/


Undefined index in civicrm_member_roles_sync

What you've found is that the error appears whenever your sync runsTwo things:

This is a PHP notice, which is a very low-importance message to receive.  Nothing is breaking; this is just something to say that something mildly improper is going on in the code.  Notices like this are actually something you should suppress on a production site: in the Drupal menu, go to Configuration, then under Development click Logging and Errors.  Select none under Error messages to display.  That will make the error quit appearing on screen, but it will still probably appear in your log, so it's worth getting to the bottom of it.
It does reflect an actual bug (albeit small) in CiviCRM's code.  Basically, this line of code asks whether the item in the $memberroles array for a contact's membership's membership type is an array.  Well, it's possible that the $memberroles array doesn't have an item for that membership type: it's only populated with the membership types for which you've got sync rules set up.  Apparently, in your case, at least someone has a membership of a type that doesn't sync with a Drupal role.  This is normal and okay; the code just doesn't consider this situation.

Apparently, the problem still exists in the development version of the code.  Please log in at issues.civicrm.org and log an issue for this.  The fix will take no time, but it's good to have a record of the bug there.


CiviCRM, Ubercart, and donations through the shopping cart

we have found that using CiviEntities opens the door for using Rules directly to control what gets pushed in to CiviCRM and how (in our case with Commerce not Ubercart). I can't really flesh out more on this as Eileen did the work  and she is probably en route back from the Sprint in Denver. Perhaps the above is enough to give you something to look in to if no one else comes back with a more succinct solution.


Event members only for 3 days then open to the public

There are methods to do members-only events on this Stack Exchange question: Is it possible to restrict event registration to members?

Since you're willing to write an extension, it's probably a good use of your time to start with the Members Only Event extension and add the ability to automatically open the event to the public after a certain date, which would be added to the custom fields that the extension creates.  Please don't forget to submit a pull request with your feature to the author!


How to create script to delete smart groups

I suggest you use the api.

Visiting yoursite.org/civicrm/api will let you try it out.


Case dashlets - what do they show and how can I edit them?

Graham, you can not really configure these dashlets, they are not based on existing CiviCRM reports but code specifically. We have just created a fair number of CiviCase reports (working on one as we speak :-), you would probably have to create/get someone to create a custom version of the dashlets or possibly even a custom report if it would make sense.


This isn't really the correct way to record matched gifts. Matched gifts should be hard credited (recorded against) the donor and not the fundraiser so to speak. It sounds as though your recording them against the fundraiser and therefore you could end up claiming tax/gift aid incorrectly. The way we would normally do this would be to record the second contribution against the Employer that carried out the matched giving. At this point you could create the soft credit to the employee. This way you'd see both original gift against the fundraiser and the soft credit for the matched gift also. You'd also get a good idea of the value of employers by virtue of recording the hard credit against them.

Hope that helps!


Why can users no longer update their own billing/credit card details in CiviCRM? Using iATS Payments

If you have been using this feature you may have noticed this is no longer working in higher 5.x versions of CiviCRM. This regression can be fixed with this solution (PR) which was posted here: https://github.com/civicrm/civicrm-core/pull/12668 - unfortunately it was closed. If this feature is important to you - all you need is to add one-line of code (highlighted in green) to this file: CRM/Contribute/Form/UpdateBilling.php

UPDATE: As a work around, there's now a patch to the iATS extension which will ship with the next release. It's not a great solution, but easier for most people than patching core


When importing contributions, you must specify the Financial Type in the form of the Financial Type ID.  Unfortunately going to Administer - CiviContribute - Financial Types does not display the Financial Type ID.  You must get the Financial Type ID from the API Explorer

Go to Support - Developer - then one of the following:

API Explorer V3

Entity: Financial Type
Action: getlist
Parameters: Leave blank
Execute

You will revive a list of all the Financial Type labels and their ID numbers.

For example:

  "id": "7",
        "label": "Money Donations",
        "description": [
            "For all monetary donations.  "

In this case 7 is the Financial Type ID for Money Donations

API Explorer V4

Good luck and
don't !@#$ it up.

So pretty much use V3 as v4 does not use getlist. ;)


Thanks for reporting this.  I've confirmed it on https://dmaster.demo.civicrm.org and opened an issue: https://lab.civicrm.org/dev/core/-/issues/1794


PayPal receipts showing as Pending (Incomplete Transaction)

This came up on the old site:
Not receiving IPNs from Paypal Standard

Short answer was there were mod_security rules on my server blocking the IPNs from coming back.


Every WordPress (or other CMS) user gets a CiviCRM contact, even though not every contact corresponds to a user.  The only tool CiviCRM has for making these matches is the email address.  Once CiviCRM is installed, whenever a new WordPress user is added, CiviCRM will find or create an individual contact with that email address.

If you have a lot of contacts with this person's email address and/or if his contact has a different email address, you may run into issues.  You also may have another user already connected to his contact record.  Pete's suggestion about the civicrm_uf_match table is a good one: that's the table that connects the user to the contact.

Assuming you have a user account that is good and a contact that is good (and an Individual, not a Household or Organization), you can use the API Explorer to fix the problem.

Get the IDs of the WordPress user and the CiviCRM contact you want to connect.  Also, get the email address that is on the WordPress user record.
Go to Support > Developer > API Explorer
For Entity, pick UFMatch and for Action, pick get.
In the Parameter drop-down, pick CiviCRM Contact ID, leave the operator as =, and in the Value field, enter the Contact ID.
Click Chain API Call, and in the line the appears, select UFMatch as the Entity and delete in the second column, and leave the third column as {}.
Hit Execute.  This will delete any records connecting the good contact to any WordPress user.
Now, modify the first parameter and change it to CMS ID, leave the =, and change the value to the WordPress user ID of the user you want to connect.
Hit Execute.  This will delete any records connecting the good user to any CiviCRM contact.
Now, go to the Action drop-down and select create.  This should clear out the old parameters and set up three for CMS ID, CMS Unique Identifier, and CiviCRM Contact ID.
Fill those values: enter the WordPress user ID as CMS ID, the WordPress user's email address as the CMS Unique Identifier, and enter the CiviCRM contact ID as CiviCRM Contact ID.
Hit Execute.  This will explicitly connect the WordPress user to the CiviCRM contact.  You can verify this by going to the contact record and seeing the user ID there next to the contact ID.


I would say yes. Although it probably does no real harm to have it on if you are not hammering it


How does one download the CiviCRM 4.6 User Guide in PDF?

Looks like PDF isn't available, but a downloadable copy of those docs in Markdown format is available from the Github repository linked in the top right of http://docs.civicrm.org ("Edit in Github").

github.com/civicrm/civicrm-user-guide => Download ZIP

This (zipped) download is in a quite readable format, even in a plain text editor. Which tool you view it in will determine whether some features like inline images are displayed; search for a Markdown editor for your OS if you want support for images / visual formatting.

Bonus: it's a great format to submit docs fixes! Perhaps your first submission will improve on "This book is freely available to read online and download in multiple formats." in docs/index.md :)

In that linked Github repo, you'll see a mkdocs.yml file indicating that CiviCRM's docs are built via MkDocs. According to this FAQ answer on readthedocs.org,  the Markdown/MkDocs format doesn't provide us with automatic PDF generation (yet) but it does make it easy for people to contribute improvements.


the table is most likely: civicrm_mail_settings

It depends on what specific field you want to change, but most of the fields in that form are from the above table


Go to Administer->CiviContribute->Financial Accounts and click on Add Financial Account. You will also need to go to Administer->CiviContribute->Financial Types and set up an In-Kind Financial type to use with your Financial Account.


Looking for a Dutch CiviCRM basics manual or book

Unfortunately not Paul, but if you start writing let me know :-)


Go to Membership > Find Memberships and perform a search.
Select All XX records
From the action menu select Export members
Choose Select fields for export and Continue

You can then choose to export the membership ID, membership type, membership start date (all of which are needed to update a membership) and contact ID or Display Name or whatever else you need to match the memberships in the database to your external list of memberships.


How to Hide/Remove "Premium Block" when adding new contribution?

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


Is it possible to sign up as a subscriber without admin approval? If so remove the access CiviCRM permission right now!!! There is no way that with a publicly available account that I should be able to get any level of access to CiviCRM.

Apologies if I misunderstood and all subscribers need to be approved. Your case may be an instance where you want a custom portal - lots of orgs do this. Even then, they generally (is my understanding) allocate what can and can't be accessed without the access CiviCRM permission.

John


What's happened to contact images in 5.8.2?

I'm pretty sure that that this problem wasn't caused by the update to 5.8.2 but instead the installation of the Shoredtich extension as part of installing Mosaico. This issue clarifies: https://github.com/civicrm/org.civicrm.shoreditch/issues/374

Essentially there is a JS file in the Shoreditch extension - contact-summary.js - that is loading on every page regardless of whether Shoreditch has been installed purely to support Mosaico (as in my case).


You mention installing the Mosaico extension - assuming you're installing Mosaico 2.0, you also need to install the FlexMailer and Shoreditch extensions.  Please install those and try again.


How do I add custom fields to Personal Campaign Pages

This diff is against 4.5.0  .  It doesn't display the custom field values on the PCP view page, but it adds the capability to create custom field groups on PCP entities, and save values on add/edit pages.

diff -r original/civicrm/CRM/Core/BAO/CustomGroup.php new/civicrm/CRM/Core/BAO/CustomGroup.php
1102a1103,1104
>       case 'Pcp':
>         $tableName = 'civicrm_pcp';
1168a1171
>       case 'Pcp':
1521a1525
>
1698a1703,1704
>       case 'Pcp':
>         return 'civicrm_pcp';
1721a1728
>
diff -r original/civicrm/CRM/Core/SelectValues.php new/civicrm/CRM/Core/SelectValues.php
179a180
>       'Pcp' => ts('Personal Campaign Pages'),
diff -r original/civicrm/CRM/Custom/Form/CustomData.php new/civicrm/CRM/Custom/Form/CustomData.php
54c54
<   ) {
---
>   ) {
145c145
<     }
---
>     }
diff -r original/civicrm/CRM/PCP/BAO/PCP.php new/civicrm/CRM/PCP/BAO/PCP.php
85c85,92
<
---
>     //start custom field code addition
>     //store custom data
>     if (!empty($params['custom']) &&
>       is_array($params['custom'])
>     ) {
>       CRM_Core_BAO_CustomValueTable::store($params['custom'], 'civicrm_pcp', $dao->id);
>     }
>     //end custom field code addition
diff -r original/civicrm/CRM/PCP/Form/Campaign.php new/civicrm/CRM/PCP/Form/Campaign.php
63a64,87
>
>     //start custom field code additions
>     //check for custom data type.
>     $this->_cdType = 'Pcp';
>     $this->assign('cdType', FALSE);
>     if ($this->_cdType) {
>       $this->assign('cdType', TRUE);
>       $this->set('type', 'Pcp');
>       $this->set('entityID', $this->_pageId);
>       $this->set('cgcount', 1);
>       CRM_Custom_Form_CustomData::preProcess($this);
>     }
>     //end custom field code additions
>
>         // when custom data is included in form.
>     if (!empty($_POST['hidden_custom'])) {
>       $this->set('type', 'Pcp');
>       $this->set('entityID', $this->_pageId);
>       $this->set('cgcount', 1);
>       CRM_Custom_Form_CustomData::preProcess($this);
>       CRM_Custom_Form_CustomData::buildQuickForm($this);
>       CRM_Custom_Form_CustomData::setDefaultValues($this);
>     }
>
70c94,99
<
---
>     //load only custom data defaults.
>
>     if ($this->_cdType) {
>      $defaults = CRM_Custom_Form_CustomData::setDefaultValues($this);
>     }
>
93c122
<
---
>
103a133,140
>     $this->assign('customDataType', 'Pcp');
>     $this->assign('entityID', $this->_pageId);
>
>     if ($this->_cdType) {
>       CRM_Custom_Form_CustomData::buildQuickForm($this);
>     }
>     //lets assign custom data type and subtype.
>
229c266,274
<
---
>
>        //process custom data.
>     $customFields = CRM_Core_BAO_CustomField::getFields('Pcp', FALSE, FALSE);
>     $params['custom'] = CRM_Core_BAO_CustomField::postProcess($params,
>       $customFields,
>       $this->_pageId,
>       'Pcp'
>     );
>
232d276
<
Only in new/civicrm: groupcountsearch.txt
diff -r original/civicrm/templates/CRM/PCP/Form/Campaign.tpl new/civicrm/templates/CRM/PCP/Form/Campaign.tpl
97a98,120
>
> {* load the custom data *}
> {if $cdType}
>     {include file="CRM/Custom/Form/CustomData.tpl"}
> {else}
>
> {* include custom data js *}
> {include file="CRM/common/customData.tpl"}
>
> {literal}
> <script type="text/javascript">
>   CRM.$(function($) {
>     {/literal}{if $customDataSubType}
>       CRM.buildCustomData( '{$customDataType}', {$customDataSubType} );
>     {else}
>       CRM.buildCustomData( '{$customDataType}' );
>     {/if}
>     {literal}
>   });
> </script>
> {/literal}
>
> {/if} {* load custom data *}
99a123
>


Can we have a "week" option for the membership type duration unit?

We could do an extension for you, consistent with LExIM strategy, to implement this, Graham. Ping me at joe dot murray at jmaconsulting dot biz.


Deduplicating - unexpected over-ride behaviour

This does sound like a bug with 4.5.x. But it's worth noting that a lot of effort has gone in to improving the dedupe process in 4.7.x, and there are now automated tests in the core suite that test this sort of thing.

If you cannot recreate the issue on the demo sites (4.6.x LTS or 4.7.x) then I would say the issue has since been resolved and I would recommend updating to whichever version you feel more comfortable using.


There was a pretty good 101 session about custom report in CiviCon Denver 2015. Unfortunately, there don't seems to be a video about it. You can check resources here : https://denver2015.civicrm.org/sessions/civicrm-custom-reports-101 (pdf and custom extension).

My recommended steps for doing a custom report :

you must first do the sql query you want in mysql - understand which tables, which joint, which columns are needed, ... - you might want to visually navigate on CiviCRM 4.7 database schema
then create a new create module extension using Civix or by copying civireport101

in CRM/MyExt/Form/Report/MyReport.mgd.php, you will have all the information needed for CiviCRM to find your report and be able to create new instance of it
in CRM/MyExt/Form/Report/MyReport.php you will have the recipe for the report

now, the hard part... you need to customize the MyReport.php. You should start from real CiviCRM report or extensions report (e.g. civireport101) and use the official documentation

column definition goes in the constructor function __construct() {, you need to understand how CiviCRM store the column definition
select function select() / where function where() : if your constructor is done correctly, you should be able to reuse one base report function
from function from() : you should be able to reuse one base report but if you prefer, you can simply put your from here - just be careful with aliases $this->_from = "FROM civicrm_contact {$this->_aliases['civicrm_contact']}";
Regarding the page break, you might be able to do it in the alter_display() function...


Wrong calcuation of event.balance value in reminder email

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

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


Ignoring a hidden field on event registration form

AFAIK this cannot be controlled in CiviCRM ATM. However there is an extension(from Allen Shaw) for conditional filtering on profile but I guess this will not work in your case.

I would suggest you to create an extension and use combination of buildForm or ValidateForm hook to achieve.

Cheers

Pradeep


Is it possible to set up a custom field that requires a specific format eg xx-xxxx-xxxxxxx-xxx

I'd suggest adding a javascript formatter to a single, custom input text field. I haven't tried it, but formatter.js looks like it would deliver what you want.

Their Credit Card demo illustrates what you want - accepts pasting of data with and without hyphens, prevents pasting / input of values which don't match the validation rule. It just needs a different pattern for hyphen placement to deliver bank accounts.


Get Contact id from Relationship to use in a Hook

This code worked for me:

$contactId = CRM_Utils_Request::retrieve('cid', 'Positive');


Does not appear to happen since upgrading to 4.7.7.


Thank-you letters sends email immediately

I think there are two issues at hand here:
CiviCRM does not use the CiviMail/it's mailing feature for the thank you letters. In many case that would make a lot of sense but I guess when the feature was built no one considered using it for so many emails. You may use another extension that sends contribution receipts via CiviCRM's mailing feature such as this one: https://github.com/systopia/de.systopia.donrec
The other issue is that you should probably configure your mail server in a way that it is less likely to be classified as spam. There should be many questions & answers regarding such configurations here on Stackexhcange, most important would probably be so set up proper spf records. This will not necessarily solve the problem described above (e.g. Mailer Batch Limits or resource usage).


Was there a ContributionType.php file in a earlier version

To answer your exact question - in CiviCRM 4.3+ ContributionType became FinancialType.  You might be able to just change the file name.

That said, Xavier is correct - there's likely a newer version of the payment processor.  You might want to ask J.C. Grogan.  Xavier is also correct that in Civi 4.4+ this code is probably supplanted because of pseudoconstant lookups.


CiviCRM Smart Group Based on Contact's Drupal Role

CiviCRM Group-Role Sync doesn't work with smart groups - but you can make a static group to sync to and make it a child group of the smart group.


CiviCase - Edit Actions with permission: "CiviCase: access my cases and activities"

It was done deliberately in 2010 and it's been that way ever since. While it's not stated in the JIRA link below, if I had to guess the reason it's because it might allow you to give your buddy access to a case they shouldn't see.

See

https://issues.civicrm.org/jira/browse/CRM-5666
https://github.com/civicrm/civicrm-svn/commit/d3cc0a1d87d86bbdc5eeda2a8975e382fcf66576#diff-33fb19b4d7d2903e556b3c4a2ed1ffd5L129-L130


How to disable possibility to enter past date in activities?

I think you'll need an extension for this.  Use the hook_civicrm_validateForm if you just need to prevent prior dates from being entered on the back-end activity form.  If you need to block ALL forms of adding a prior date, you may want to use the hook_civicrm_pre hook (this will block Webform-CiviCRM, API, etc.).

You may want to set exclusions for administrators if you do this!


Available countries list won't appear when set in Localization

If I understand your question correctly you are asking how you can select all countries in one go.

You can do this by clicking on the first country, then scroll down, press shift and click on the last country. Now press "Add".

If you want to add or remove countries from the selection press Ctrl and click.

Edit: please note that this only works in CiviCRM 4.6 and before.  It is not possible to do this in CiviCRM 4.7.  See related question - How can I select all countries to be available for address fields in CiviCRM 4.7?


I get an error "One of parameters (value: sort_name) is not of the type MysqlColumnNameOrAlias" when trying to access most of my data

Hi managed to get the same issue

One of parameters  (value: total_amount) is not of the type
MysqlColumnNameOrAlias

I had Drupal 7 and CiviCRM 5.4
I did recently changed my PHP version to 7.4 - which is the reason for the above error message - I guess I need to upgrade my CiviCRM to latest that should fix the issue(will try and update the result)
For now I have just changed my PHP version back to 7.2 which worked alright
Hope this helps!!!


How can I mass edit country or city values of many contacts?

Profiles are used for so many unrelated things that it's kind of ridiculous.  Here is the minimum needed to bulk edit country for a bunch of contacts.

Create a new profile.  Don't worry about any of the settings besides the name, which you might call "Country Update".
Once you save it, you'll be shown the New Profile Field screen.  For Field Name, select Contacts, then Country, then Primary (or whatever location type you prefer).  Don't worry about any other fields, and click Save.

You now have a profile with a single field in it--the field you want to bulk update.  You could potentially skip these steps by using an existing profile with Country in it.

Search for the contacts you want to update.  Check the boxes or select all records (the maximum to batch update at once is 100, and they have to be the same contact type--individuals, households, or organizations), and select Batch Update via Profile in the Actions drop-down.
Find your "Country Update" profile in the list, and select Continue.
You'll see the list of contacts and a field for each contact's country.  To set them all in one go, set the first contact's country, and then click the copy icon in the header.  That will copy all the way down the column.  Click Update Contacts, and you're done.

Once you get the gist, you can set up more complicated profiles and set multiple fields in one sitting.


Drupal account creation adds users into a CiviCRM group or tags them

If you are using profiles for user registration than you can configure profile to add contact to a Group. This will have contacts who submits the profile added to group and then you can use filter group in in reports or search.


How to download a pdf instead of sending it per email?

I would just create a page and based on cid, checksum and mid using pdfapi would recreate the pdf to download (via extension)


Should the link between an Activity and any Follow Up activity be visible through the UI

I'm pretty sure there never was a visible link.  I certainly don't remember seeing one, and I've always treated the follow-up feature as simply a convenience for creating multiple activities rather than establishing some kind of relationship.

If there were to be a visible link, I (as a user) would expect the ability to break links and create new links between existing activities.


I would always recommend to have CiviCRM on a separate server from the public facing website (privacy, security and updates) even thought it is more cumbersome and more expensive.

So I assume you will have 3 WP websites, and one central CiviCRM (in a dummy Drupal or WP). I would use CiviProxy to ensure only whitelisted API calls are accepted (check https://github.com/systopia/CiviProxy for a little more info) and then there are a few options I think:

Ensure your WP sites can process the data and prepare an API call to CiviCRM using the core API's
Use the work done on Gravity Forms with CiviCRM although I am not sure that will work with REST
Just throw all the data on a Wordpress form to CiviCRM and create a customized extension that provides specific API calls to process the data. We have done this with the CiviCRM Contact Form 7 plugin and specific API's.


I would probably create a profile with the website, and then use the 'update multiple contacts' to clear the website a hundred at a time (which is the maximum of contacts you can update with one profile action).

First you need to create a profile, and read up on profiles in the User Guide if you are not familiar with them.
Next you search for your contacts, and select a maximum of 100 at a time, and select the 'update multiple contacts' from the action list. You then select the profile and use the 'copy' functionality to set the website to empty.
I have not tried this, but this is what I would try to do if updating SQL is not an option.

If that does not work you will probably either clean them in the database OR delete the contacts and re-import (if that is an option).


Minor flaw in CiviCRM registration page for EFF

The answer is that the meaning of that button changes depending on how the registration is set up and the text of the button doesn't change in line with that, unfortunately. I have a pull request in to fix this in future versions.


How to Disable Calls to CiviCRM site in 4.7?

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).


Why do click and open reports show times in UTC rather than the site's timezone?

Mailing clicks and opens are registered via scripts in extern (which are quite old) - and don't appear to use the cms environment - as such if the timezone isn't set for php and has defaulted to UTC - this won't show in the warnings - despite it being the issue. To detect this compare the result of php  To confirm this is the problem run

php -r 'echo date_default_timezone_get() . PHP_EOL;'

if the result is UTC - then you can fix by setting the date.timezone value correctly in your php.ini or similar file.

This won't resolve historical data but will mean clicks and opens in the future are recorded in the correct timezone.


Is it possible to integrate a custom Drupal donate form with CiviCRM?

So this is definitely possible.  I'm assuming that you asking the question, you have some Drupal FAPI experience.

If you have CiviCRM installed already check out the API explorer, and check out the Contribution entity, transact action

Documentation of this API is spotty to non-existent, but its powerful, and works.

There is actually a sophisticated example of using this API call for Event Registrations in the CiviCRM Entity project, CiviCRM Entity Price Field submodule
https://www.drupal.org/project/civicrm_entity

The code there is a little complex, and your requirements may be simpler, but come into the civicrm entity channel on CiviCRM's Mattermost chat at https://chat.civicrm.org and ping @jackrabbithanna and I can help you get started.


So your contacts (both individuals and households) already exist in CiviCRM and you have the contact ids for all of them - all you need to do is create the relationships.
I think part of your difficulty comes from the way your data is currently structured.
Create a file of your HoH's with just the contact_id of the individual and the household:
contact_id,household_id
10596,10594

Then at Contacts > Import Contacts:

select your file
tick 'First row contains column headers'
select Update for Duplicate Contacts
Continue

On the next page:

map contact_id to Contact ID
map household_id to Head of Household for Contact ID

Note: if Contact ID is not listed, go back to the previous page and make sure you select Update.
Run the import and you should find the relationships are created.  Then repeat for MoH
However ... creating a file like that from your current one takes a little work.
Depending on your preference you could create that with Excel & Vlookup, or php/perl/etc
Alternatively since you have created external identifiers with a specific relationship between ID1 and UniqueID, you could use those:

extract the contact_id and ID1 for the HoH lines
append '0' to the ID1 field (to create the external identifier for the household)
import as above but map to Head of Household for External ID

Update (following update of the question):
If you don't have the CiviCRM contact ids available, just use the external id's for both parties:

extract the UniqueID and ID1 for the HoH lines
append '0' to the ID1 field (to create the external identifier for the household)
map UniqueID to External ID
map modified ID1 to Head of Household for External ID

This was based on you already having imported the contacts and just needing to import the relationships.  If you are starting from scratch you can import household and HoH in one go, then import MoH.


You can use JS to move custom field from custom group accordian to demographics accordian.

https://docs.civicrm.org/dev/en/latest/framework/resources/

https://docs.civicrm.org/dev/en/latest/standards/javascript/


CiviCRM 5.4, Unable to create case type (angular validation error)

This is due to the change made in this PR - https://github.com/civicrm/civicrm-core/pull/11998.

I raised this on Mattermost some time ago. See https://chat.civicrm.org/civicrm/pl/d58c9nuowbfemeneizbe57cxqy. It says -

  Seems default assignee is a required field on Case Type Form(as per this change). Was this intentional? I was unable to save https://dmaster.demo.civicrm.org/civicrm/a/#/caseType/1 until I filled out default assignees for all the activities listed under standard timeline ♂

But unfortunately haven't got any reply for the same.

To fix this  -

Remove the required word from this line of the PR and the following element. You should be able to save case type without selecting any value in the default assignee.

OR

Add values to the default assignee for all the activities.


How can we add Batch information to the Bookkeeping report?

I examined the code of the report and there is nothing batch-related in there. I have made some edits in the core Bookkeeping report that allow display of the Batch name/title on this report. I will file a JIRA ticket and link to the Github PR so it can be reviewed and if approved, added to core.

JIRA ticket
GitHub PR on 4.7 (master)


How to get a participant list of multiple events ordered by event name

Which report template are you using?

I'm able to bring up a list like this using the Event Participant Report (list), just by sorting by Event and then name - by default it sorts by name first - and not using any grouping.

It doesn't change the column layout - it still has the name first, but it is ordered by event first.

(I have noticed some old saved reports failing after upgrades, but haven't had problems recreating them)


Editing public profile listing view template

You can simply set a field's Visibility setting to Expose Publicly and it will not use the field as a search function.

From the Visibility field helper text:

  When visibility is 'Expose Publicly and for Listings', users can also
  click the field value when viewing a contact in order to locate other
  contacts with the same value(s) (i.e. other contacts who live in
  Poland).


Tags, relationships, or custom fields to record custom data?

The best architecture would be to create Organisation sub type and then have relationship with subtype contacts. This would be easy to related contacts such as in your case. Adding relationship will be consistent and easy to add custom ACL.

If you want to use custom fields than you will need to create multi-value custom field of type contact reference for each contact sub type. This field will pull contact(s) from specific contact group which can be smart group or normal group having contacts of specific contact type. In this way you can create hierarchy of relationship using contact type.

But i believe you will need to add some custom code i.e either building custom report or restricting contact CRUD operation for user belonging to specific denomination.


testing recurring contributions -- gone wrong!

The recurring contribution workflow is more complicated than the one-time workflow. For authorize.net, it means that a request for a recurring contribution is sent, but relies on the payment processor to come back with any information about whether the recurring contribution has completed or not (as well as communicating about any future transactions), and typically that will not happen immediately, but at some later time.

I'd guess that you will see pending payments in CiviCRM for these recurring requests, and that for some reason your payment processor account is not configured to properly handle recurring requests (i.e. the callback or IPN isn't firing properly). Perhaps your payment processor account is used for other purposes than online payments?


ACL settings for civicrm in Joomla cannot be reset anymore

After updating Joomla 3.5.1 to the latest version Joomla 3.6.0 this problem seems to have disappeared completely.
I checked a civi 4.6.19 and a civi 4.7.9 install and both behave well again. You can now change the AVL settings again.
I did hear that the acl-part of Joomla needed and got some TLC so I presume this was the culprit in the previous Joomla version.

I did not need to to set the value of 'max_input_vars' (default 1000) higher for this to work.


Is it possible to record a copy of sent system workflow message emails as activities?

We built this extension to help with this scenario: https://github.com/fuzionnz/nz.co.fuzion.transactional

This extension adds bounce handling and click tracking, and creates activities for CiviCRM's transactional emails (i.e event registrations, contribution receipts, invoices, scheduled reminders, and so on).

Out of the box, CiviCRM only does the things mentioned above when sending via CiviMail. This extension adds that functionality to all mail sent from CiviCRM.


We have been running this patch in production for some months to address the memory leak

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

When we first deployed it we hit a bug on the use of cloning the DAO in export. I removed that place however there is one remaining when exporting related contacts and I closed the PR until I had a chance to address that

      $allRelContactArray[$rel][$allRelContactDAO->refContact] = clone($allRelContactDAO);

I've now updated for that issue & re-submitted - https://github.com/civicrm/civicrm-core/pull/12276


If the same credentials work on one server and not another, there's a good chance that you have php-mcrypt installed on one and not the other.  When php-mcrypt is installed, CiviCRM encrypts the SMTP password, and assumes that any passwords are encrypted.  This can be a problem if your PHP environment changed (in particular, php-mcrypt is deprecated and it's very unusual to see it used with PHP 7.2).

The fix is to re-enter the SMTP password and resave.  Hopefully this solves your problem!


In addition to JonG's answer, I would definitely recommend using a professional SMTP Gateway. For instance we pay 10€ / month for 10 000 emails with great deliverability. They will provide SPF and DKIM entries for your Domain and your emails will reach their recipients. In CiviCRM you just need to set the parameters and you're done!


How can we get Custom data Used For: Relationships to display in a Drupal View?

Suggestion made on MM was that the Description field is available in Views and may be useful for folks in similar situations.

To get custom fields on Relationships available in Views will require some additional code in the 'civi views' module.


No run_time timestamp in civicrm_job_log

Funny thing, while the Date column is filled out with a value in CiviCRM 4.6, it is empty in CiviCRM 4.7. I have checked on my customer's instances and the run_time column is in fact present but empty on 4.7. I will file a JIRA issue on this topic.

If your main concern is cleaning-up this table, you can easily do this by only keeping the last 1,000 or so entries in this table. This is easily done as the civicrm_job_log table, like many CiviCRM table, as an id column that is auto-increment. So you would do this to keep that last 1,000 entries:

-- from http://stackoverflow.com/questions/578867/sql-query-delete-all-records-from-the-table-except-latest-n/8303440#8303440
DELETE FROMcivicrm_job_log
  WHERE id <= (
    SELECT id
    FROM (
      SELECT id
      FROMcivicrm_job_log
      ORDER BY id DESC
      LIMIT 1 OFFSET 1000 -- keep this many records
    ) foo
  );


Where is the CiviCRM UI styleguide / reference?

This was covered during CiviCon St. Louis.  I'll try to sum up.

There's no way to write an extension that works with both pre-Shoreditch and post-Shoreditch conventions.
However, it will be a fairly common site in Civi for some time to come to have extensions that implement Shoreditch operating inside of pages that don't.  Mosaico is a good example of this.
Shoreditch is just one implementation of a Civi theme - the future may hold others.  However, for practical purposes I think we can assume there aren't any others coming for a while.

So your options are to either a) ignore all this and do things the old way, or b) implement the Shoreditch theme and make it clear that it's a "dependency" in the docs (until we get for-real dependency management for extensions).


I would suggest you to uninstall the previous version first and then to install the new version - just replacing the files will not do anything.

So, Please replace your previous version of extension in the extension folder - and uninstall it first.

Then do replace your new extension and install the same - that should work as you excepted

Ref: https://docs.civicrm.org/sysadmin/en/latest/customize/extensions/

I guess this helps !!!!


There is no 'job board' feature as such. You could have a look at CiviHR but I don't recall it being a place where people could advertise their own jobs.

If I had to do this, on Drupal, I would be using Drupal Webforms that would generate Activities which would then be displayed in a Drupal View with links that would take the 'applicant' to another Drupal Webform where they would generate another Activity that was somehow referencing the 'job position'.

Not much help to you directly but hope this gets the conversation started.


How can I turn off Extension Download Errors?

To do so, you need to add this following line on your civicrm.settings.php

global $civicrm_setting;
$civicrm_setting['Extension Preferences']['ext_repo_url'] = false;

https://wiki.civicrm.org/confluence/display/CRMDOC/Extensions#Extensions-Disableautomaticinstallationsofextension


Upgrading from 4.1.5 database to 4.6.2 failing with constraint violation

I recommend you take smaller steps, starting with 4.2. You can download the latest version of 4.2 from sourceforge (the latest in that series is currently 4.2.20).

If that upgrade goes ok, then you could proceed to 4.4 (the current LTS) and then up to 4.6.

Remember to backup your database before upgrading, and if the upgrade fails, restore from the backup before trying again.


I prefer the wp-cli method to all other methods.   Can this work at your host?  https://docs.civicrm.org/sysadmin/en/latest/setup/jobs/#wp-cli

If you do not have Command line access, but the host provides a cron interface and wp-cli you can create a shell script to call:

#!/bin/bash
/path/to/cli/php /path/to/wp --user=<cron user> --url=https://<site> --path=/path-to-web-root --timezone="<php timezone>" civicrm api job.execute auth=0

In your example calling just php may be the issue as cron may not now the path to the cli php executable.


How to create public and front end form through extension?

Creating a form in an extension is mostly a matter of typing civix generate:form. It is documented here.


Getting CORS error from CiviCRM dashboard dashlets

OK. So I've found what I think is a pretty serious problem with the current Civi CRM setup and multisites...

There's an entire section up the top of civicrm.settings.php that has these lines:

$civicrm_paths['wp.frontend.base']['url'] = (URL path)
$civicrm_paths['wp.backend.base']['url'] = (URL path to admin)
$civicrm_setting['URL Preferences']['userFrameworkResourceURL'] =(URL path) to civicrm

The paths are hardcoded to the main site URL.

This seems to be what's causing these problems I'm having. Because if I change it using the code below, then it appears to work again.

=======================

if(function_exists('is_multisite') && function_exists('home_url')) {
  $url = home_url();
}
else {
  $protocol = strstr('HTTPS', $_SERVER['SERVER_PROTOCOL']) ? 'https://' : 'http://';
  $url = $protocol . $_SERVER['SERVER_NAME'];
}

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

===================

But is this a good idea? I don't know...

Norm


How is CiviCRM different in Drupal, Joomla, Backdrop, and WordPress?

Availablity of extensions

The biggest difference is the availability of extensions/add-ons/extra-integrations -- there are more addons for Civi+Drupal, but the differences are shrinking over time.

Civi 1.x didn't originally support its own extension mechanism - the only option was to write a Drupal module. Consequently, Civi-Drupal modules grew first/fastest. The platform now supports plugins on Joomla (Civi v3.3+?) and WordPress (Civi v4.6+) the same way.

There are a few big-ticket addons that can make a difference for site-builders:

CiviCRM comes with many out-of-the-box forms for event registration, donations, etc. but if you'll be making a lot of customized forms, then the Drupal module webform_civicrm is pretty cool. There are no published solutions which provide as much flexibility on Joomla/WordPress.
Drupal and WordPress have CLI frameworks (drush, wp-cli) which are quite handy for developers and sysadmins. Joomla CLI is still immature.
Drupal Views and Rules are substantial systems which have Civi integrations.
WP BuddyPress is a substantial system which has an upcoming Civi integration.

However, the importance of these differences has diminished since ~v4.2 -- when Civi introduced a flexible, cross-CMS extension system.

Integration features

There are some differences which arise because of distinctive features/norms in each CMS community, e.g.

In WordPress, it's pretty common to embed content in your web-pages using short-codes. Civi has several short-codes in WP.
In Drupal, it's pretty common to embed content in your web-pages using blocks. Civi has several blocks in Drupal.
In Drupal, the core CMS has decent support for "roles" and "permissions", so Civi uses this. In Joomla/WordPress, these are regarded more as "hidden/advanced" functionality, so Civi has to fill in some gaps.

Installation process

The installers are a bit different -- web-based installation is easier in Joomla (because there are fewer forms to fill out), but it's more flexible in Drupal/WP. CLI-based installation is easier in Drupal/WP.

Testing

The core system is the same across all CMSs, but occasionally there are bugs in the CMS integration code. Most of the testing is performed on Drupal/CiviCRM, and it may take a bit longer to identify/resolve bugs in the WordPress and Joomla integrations.


Trying to Create Rule to Fire When Someone is Added CiviCRM Group

Check out the new CiviRules extension from ErikH and others to do that - see his answer to my question here


CiviVolunteer error after upgrade to Civi 5.11.0 on joomla

The warning you describe is fixed in the version of CiviVolunteer on github but they haven't tagged a release. The error sounds slightly different & turning on debugging might get more info.

However I logged an issue asking them to tag a release since there are unreleased civivolunteer fixes https://github.com/civicrm/org.civicrm.volunteer/issues/508

You can get the latest civivolunteer code from github in the meantime - https://github.com/civicrm/org.civicrm.volunteer/archive/master.zip and see if that helps


How to set specific social meta tags for specific contribution pages

If you're willing to write your own drupal module you should be able to do it with drupal_add_html_head in hook_init. I haven't tested that. If not hook_init then maybe in hook_preprocess_html. You would need to parse the url to get the id= parameter and that would tell you which contribution page.


Is there a way to bulk edit relationship permissions?

You can use the API, or the API CSV import GUI.  Either way you'll need to have some way of identifying the relationships that need editing.

While I don't recommend running SQL directly against the database, this is one instance where it will be safe - IF you aren't using inherited ("conferred") relationships.


Warning: count(): Parameter must be an array or an object that implements Countable

It sounds like you're running PHP 7.2 or greater with a version of CiviCRM that doesn't support PHP 7.2+.  If you edit your question to include your CiviCRM version, that could help folks troubleshoot.  However, it sounds like you may need to upgrade your CiviCRM to a version that supports 7.2.


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

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

Thanks

Pradeep


How to successfully install CiviCRM w/Wordpress on WPEngine hosting

The shortest answer I have is :

The issue is the way WP Engine builds the user directory structure.   We have a proposed patch in : https://github.com/civicrm/civicrm-core/pull/8494

Until that is merged, you can use the answer listed here: Word Press Install Missing civicrm.settings.php; dashboard unavailable; no menus

Make sure the global $civicrm_setting; precedes $civicrm_setting['URL Preferences']['userFrameworkResourceURL'] = 'http://example.com/example-resource-url/';


Welcome to CiviCRM SE!

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

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

Hope this helps!


Beyond provide a profile of an instance's stack, what is the purpose of Connections?

It is described a little bit here: https://issues.civicrm.org/jira/browse/CRM-16173

Seems like the intent is a generic framework. I believe this link is a reference implementation of how to write a service that would interact with this framework: https://github.com/civicrm/cxnapp

Maybe others know of some real services that do implement this.


It sounds like you're experiencing a JavaScript-related bug.  This can happen for a lot of different reasons - some of which are tied to your setup (e.g. a conflicting Wordpress/Drupal module) or even your browser settings.

You should be able to troubleshoot this using the Troubleshooting JavaScript in CiviCRM advice.  Before doing that, I'd definitely follow choster's advice and test this on the demo site (https://civicrm.org/demo) to help isolate what might be causing the issue!


I have no CiviCRM menu when using Shoreditch

I would guess it is related to https://github.com/civicrm/org.civicrm.shoreditch/pull/90#issuecomment-343347028 and the PR seems to solve that.


SMS breaks when upgrading to version 2 of extension & 4.6.2 of CIVICRM

I use Twilio, but had this problem too. I found what i believe to be a bug in Civi's mailing code (which also handles sms'es).
In the function create in CRM/Mailing/BAO/Mailing.php on line 1755, getRecipients are called without the last argument $mode, and getRecipients are executed as if it's an email and not an SMS. I added a check to see if it's and sms, and added the extra argument, and it worked for me:

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

Read more at the issue I filed here.


How do I create a Smart Group of Participants using a Custom Data Field in Events?

I checked in 4.4 and 4.6.

It does not work in 4.4, but it does in 4.6.

So, not sure about 4.5, but if you upgrade that far I advise to upgrade to 4.6 anyway, because then you are on the current LTS (Long Term Support) version.


Events -> Find Participants results in Warning: Cannot modify header information - headers already sent

This has been recorded and fixed in later version of CiviCRM. You can either apply patch manually to 4.7.31 or upgrade CiviCRM to 5.2.1.

HTH

Pradeep


If you have recently upgraded, make sure you clear your caches, including the contents of /sites/.../files/civicrm/templates_c/*


Save before custom fields load overwrites with blank record

I don't think there's any kind of patch that would help you. The easiest way to achieve what you want would be through a simple java script which disables/hides the save button until the page is fully loaded.
For this you would need to create an extension.


Relationships Search other than via Advanced Search?

I just had a go on Demo

"This smart group will stay up-to-date with all contacts who meet the search criteria.

Employee of

Relationship - Active and Current"

I don't know if it will still be there by the time you get to look at it. http://d46.demo.civicrm.org/civicrm/contact/search/advanced?reset=1&force=1&ssID=1


This was a core bug and was fixed at 5.1.0. You can either apply the patch from here or Upgrade CiviCRM to 5.2.2.

HTH

Pradeep


How to get subsidiary membership to work?

If I understand you correctly, you have a Main Member type inherited by 'employee' relationship.  The primary members are companies.  You also have a Subsid Member type inherited by 'employee' where there the primary members are subsid companies connected to the parent company with a 'Partner of' relationship.  You have tried changing the Main Member type to be inheritable by both 'employee' and 'partner' but the subdid employees are not inheriting Main Member.

That should result in your subsid companies (the orgs) inheriting Main Member type. ... but that is not related to the Subsid Member type that is inheritable by your subsid company employees.

What I think you would like is for the Main Member type to be inheritable by both 'employees' and 'employees' of 'partners' - but so far as I know Membership is only inheritable by one level of relationship.  In other situations you might use a smart group, but that is not applicable to membership inheritance.

So, some possibilities:

1) You could write an extension (or maybe use CiviRules) so that employees of subsid companies are also given a direct relationship (eg 'subsid-employee') to the parent company.  You would need to check for changes on the 'employee' and 'partner' relationships to add and remove the 'subsid-employee' relationship.  Main Member then becomes inheritable by 'employee' and 'subsid-employee'.

2) You could write a different extension (or CiviRules) to maintain the status of Subsid Member type based on the Main Member status and 'partner' relationship but I don't think the Subsid Member type particularly helps you.

3) Alternatively you could enhance Membership inheritance to be inheritable based on group membership as well as relationship.

4) Taking things further, some kind of 'smart relationship' feature could be useful in other situations. The existing features for second-degree relationships and smart groups could provide starting points - but that might be a larger project than you wanted :-)


Make sure it is enabled under address settings. Go to Administer > Localization > Address Settings.


Is a Scheduled Reminder possible when something doesn't happen?

How about something like

create a Group of all possible recipients of the reminder (X)
create a Smart Group of all those who did the Report (Y)
create a Smart Group Z = X-Y (use 'Custom Search = Include/Exclude)
use Z as your 'target' in Scheduled Reminders

Alternatively

create the Activity for every person who needs to do this
set the Activity to Scheduled
ensure that submitting the Report sets the Activity to Completed
set Reminder to go to all those that are still set as Scheduled


How to enter a discounted fee after the discount date for an event

One way to handle this involves using a price set. Insert a price field with the value of -1 called Discount that is visible only by Admin. This allows you enter a discount to registrations entered in the back-end without affecting the front-end pricing.

I believe the only way to do this without using a price set is to change your advance discount date, enter your mail-in registrations, and then reset the date. This does run the risk of people getting the discount rate if they register while you are entering the mail-in registrations.


Do you have DKIM keys on your domain? Yahoo and gmail get fed up real quick with poorly structured headers...

You could also switch to a service like sendgrid... and manage your reputation there. They will help you with that. You can also easily set up dkim keys to their server so they can be verified as sending email on your domain's behalf...


As of 5.4.0, Activity Search gives an empty result set - patch is available

I could replicate this issue on my local machine, this seems to be a core bug and have logged issue at https://lab.civicrm.org/dev/core/issues/353.

I think the search does provide results when we disable record type options

So in the mean time until the bug gets fixed you can rely on this option (hope it shoes correct count of results ;))

I have also submitted PR for this at https://github.com/civicrm/civicrm-core/pull/12713 if you can please try after applying patch and then comment on PR about your QA that would help to speedup the process of merging the code in next release.


When reproducing your experience, I see:

flbc.edu/:1 Uncaught SyntaxError: Unexpected token '<'

Which is weird, since it seems to be loading your whole page as javascript.

It shows it on the initial page load as well as after submitting. And the province selector after selecting a country is also broken, that's probably a symptom of the same problem.

When I look at the html source of your page, I notice that it ends with:

<script type='text/javascript' src='https://flbc.edu/wp-content/plugins/js_composer/assets/js/dist/js_composer_front.min.js'></script>

That's bad - you're not getting your closing html or body tags output.

Conclusion: I suspect you might be hitting some kind of server limit (your page has a lot of css/js loaded).

Do look at your server logs, there's probably a hint in there. I don't think it's CiviCRM-specific.


Recommended process for credit card additions/'edits' to event registrations?

You're not the only one looking for this solution, but it has been unfunded so far because it would be so complex.

As an alternative, you might consider separate events, either using the Event Additional Signup extension or the new conference session features.  People who come back later and want to sign up for an additional option can just sign up for the event directly.

You'd then have a different, but much simpler, customization to build out: just getting the appropriate events onto someone's badge.


Wordpress Civicrm -Uncaught ReferenceError: CRM is not defined for contribution page

I'm also facing this problem (CiviCRM 5.3.0, WP 5.6.1, Avada 7.2.1).
The CiviCRM-Javascript-Resources are not loaded at all.
Disabling the Fusion Builder (so working with the regular WP editor) for the page where the CiviCRM-shortcode is inserted gets the resources loaded and the payment form working.
We're still facing Avada layouts issues on the next page though. But at least registration and payment work now.


Turns out Wordfence was blocking the param for the following reason:

blocked by firewall for XSS: Cross Site Scripting in POST body:
User in city left https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2FscheduleReminders&reset=1 and was blocked by firewall for XSS: Cross Site Scripting in POST body: html_message=%3Cp%3E%26nbsp%3B%3C%2Fp%3E%0A%0A%3Cp%3E%3Cmeta%20charset%3D%22utf-8%22%20%2F%3E%3C%2Fp%3E%0A%0A%3Cp… at https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2FscheduleReminders&action=add&sni…


Social Settings on the bottom of contribute pages

I believe key here is that what CiviCRM inserts are social media 'shares' - not social media 'links' or 'follow us'.

for social media links we add https://www.drupal.org/project/social_media_links
(I'm sure in wordpress land there are plugins that work exactly like this drupal module).

Social media links behave as you asked in your question: you must configure which icons you want and add their targets (links to them). These targets typically are your twitter feed; your linkedin page; your etc.


Events - Registration Confirmation and Receipt (on-line) is not sending to anonymous users

Ah - ok - this is what's happening:

if the event is FREE -> then no receipt is issued via CiviCRM workflow message templates
if the event is FREE && if participants make a donation -> then the participants get an email message from the CiviCRM workflow message template - contribution online

So your workaround is a good one - a simple Email message that is triggered via CiviRules (add Participant to a certain event) - or you could even do a simple Email message from Webform -> Emails.


WordPress Twilio Inbound SMS Callback URL failing when request method is POST

Your webhook callback URL is off.
It should be https://mydomain.com/?page=CiviCRM&q=civicrm%2Fsms%2Fcallback&provider=org.civicrm.sms.twilio


iAmAnIntentionalENoticeThatWarnsOfAProblemYouShouldReport and other event registration warnings in 4.7.1

That is a lot of errors, so here are a few answers.

Not helpful for you, but in response to your last few comments, I'd say you should also be testing upgrades before doing them on a production site, and making sure you've backed up your site so you can roll it back in case of disaster. That is particularly true of a complex existing site, which appears might be true in your case.
You posted this some time ago when 4.7 was relatively new, so I'd guess that the latest 4.7 will have resolved many of these problems. I agree that early 4.7 releases perhaps should have come with more warnings. Releases do go through a lot of testing, but CiviCRM is a complex code base and especially when you are using it in non-standard ways, there can be some subtle issues that arise.
Your collection of warnings and notices need to be addressed one at a time, it's not necessarily one problem and solution. Some of them may be connected, but the limited error log you've posted above doesn't give us enough to go on. You'll need to dig into the CiviCRM error log in the files/civicrm/ConfigAndLog directory where a more complete backtrace should be. Looking at the datestamps and order of the errors will give you a good idea of which of the errors/notices are the key ones to look at, and which ones are just symptoms of the earlier problem.
iAmAnIntentionalENoticeThatWarnsOfAProblemYouShouldReport is a clever mechanism that I believe Eileen introduced to help diagnose issues. I'd start with that one as being the most helpful symptom of what might be the key issue, which is likely related to custom values.
The cache rebuild lock hit might also be a key symptom - i.e. if there are resource issues, that might cascade down into some of the other issues.


Contribution Export Places Campaign IDs in Campaign Title Column, Nothing in Campaign ID Column

This is a bug. Please file an issue on JIRA referencing this page. Instructions on filing a bug report here: https://civicrm.org/bug-reporting


Unable to view profile instructions or see profile drop down menu in Contribution page

The labels/profile instructions look like a CSS issue, try adding the next style in your theme's CSS/Style editor:

.label {
  color: #000;
}

Regarding the back-end Contribution page not displaying correctly, please see this troubleshooting guide.

Also have a look at:

Backbone isn't loading on Civi 4.6.11 WP 4.4.1

Dequeue Backbone from theme load and load CiviCRM Backbone

It could be perhaps related to the a conflict between Civi's Backbonejs version and your theme's Backbonejs if it has one.


"Deceased" flag set to "no" by default in standard reports

You can save an instance of the report that has your preferred settings and then have it appear in the menu or on the dashboard.
https://docs.civicrm.org/user/en/latest/reporting/set-up/#define-report-settings
Briefly, set your settings, refresh the report, look at the Access tab for any additional settings like menu entry, and then choose Create Report from the actions dropdown.


Yes, you can do this easily.  In Profiles, go to the website field and edit the Display field.  The default setting displays the type, but you can easily remove it.


My hosting company does not support SUPER privilege - can I use CiviCRM with them?

There are only two scenarios in which CiviCRM requires the SUPER privilege:

You're using a very old version of MySQL.  Versions of MySQL 5.1.6 and higher support the TRIGGER permission.  Before that, SUPER was necessary.  MySQL 5.1 reached its "end of life" at the end of 2013.  No modern server should have it installed.
You're attempting to use the advanced logging feature: Administer menu » System Settings » Misc, Logging set to Yes.  If you need this feature, you really need a VPS.

All that said - @Christia is right.  StartLogic is entry-level hosting.  CiviCRM has heftier requirements than entry-level hosting gives you.  Expect poor performance unless you move hosts.


Postfix is a Mail Transfer Agent (MTA), and the task of an MTA is to ensure that the mail gets through if at all possible.

If the remote site stops accepting connections for any reason, then your MTA will keep those mails on disk and retry them periodically. In the case where your SES becomes unavailable, your Postfix will just sit tight and keep trying.

Barring a severe SES outage, a local MTA + SES should be more robust than SES alone, because you have a local agent able to handle short SES outages. For even better handling, you may configure your MTA to "fail over" to a secondary mail provider, or attempt direct delivery over SMTP when the preferred provider is unavailable.

When a mail can't be delivered - whether or not this involves an outage at SES or elsewhere - the MTA currently holding the email should return it as a bounce message to the sender. This is the feedback loop which will return the failed delivery information to CiviCRM's Bounce Processor task.


Which folder to put Caldera forms CiviCrm plugin in?

Caldera and Civi Caldera is a wprdpress plugin, you can locate them under wp-content/plugins/


Unable to browse images on the CKEditor in the admin area

Have you looked to see if your civicrm.settings.php file is still in-tact? See if it is there and then make sure it has the correct permissions. In Drupal sites, it lives in sites/default/civicrm.settings.php.

Edit: In Wordpress sites, it should be in /wp-content/plugins/civicrm/civicrm.settings.php


How should I delete a CiviCase or a Case Type

Civi Case Types cannot be deleted while there are Cases of that Type. Cases can be changed to a different Case Type which can then permit you to delete a Case Type with no Cases.
But if you just want the Civi Cases gone then note that Civi Cases themselves, when 'deleted', remain in the system for audit purposes.
To delete a Civi Case entirely it is necessary to do so either via the API Explorer (at /civicrm/api/explorer) or via sql.

Via API Explorer use
CRM.api('case', 'delete', {'id' : xxx});

Via MySQL use

DELETE c, ca, a FROM
civicrm_case c LEFT JOIN
civicrm_case_activity ca ON c.id = ca.case_id
LEFT JOIN civicrm_activity a ON ca.activity_id = c.id
WHERE case_id = xxx;

and this should take care of any case_contacts data and any rows in civicrm_relationships that have case_id


How can I add a banner image in the confirmation email for a particular event?

If you want it in addition to the default/generic banner you can probably add it in at the top of the "Thank you and receipting" section of the event.

If you want to use it in place of the generic banner, you may need to customize the template with some If/Then logic, checking the event ID in the smarty template somehow. Here's an example for a Contribution page, perhaps you can do something similar in the Event page. (To find the variables you have to work with, try inserting {debug} into the template and then registering for the event to receive the email with the Smarty variables listed)

EDIT: Default message template can be changed like this

{if $event.id == '36'}

{/if}


Will recurring contributions be recorded for memberships not hosted by CiviCRM?

Civi will not record contributions for PayPal recurring contributions that aren't set up through CiviCRM.

Broadly speaking, there are two types of payment processors when it comes to recurring contributions - those that rely on webhooks and those that rely on tokens.  Most webhook-based processors call the webhook the IPN ("Instant Payment Notification") address.

With IPN processors (like Stripe/PayPal), when you create a recurring donation, CiviCRM sends some info to the processor (amount, how often to charge, the CiviCRM contact ID, the recurring payment ID, etc.).

When the payments are processed on PayPal's end, the processor will push some data to a URL that Civi has set up explicitly for the purpose (the "IPN URL").  So Civi won't create payments until PayPal says, "Hey, we processed this and it succeeded or failed".  PayPal relies on the info that Civi sent to PayPal when the payment was created to send data back to Civi - so non-Civi recurring donations won't work, because, e.g., PayPal doesn't know the contact ID to send in its IPN.

So one option is to record the payments manually each month.  The other is to investigate whether you can shoehorn the Offline Recurring Payment extension to fit your needs.  Note, however, that the extension isn't tested on modern versions of Civi and is for a slightly different use case - so unless you are (or have access to) a coder, this might not be a good choice.


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

There are two solutions:

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


How do I exclude the "click here" from mail header on the generated web page?

Try wrapping those items in <span class="hiddenElement"> </span>. Civi's css will hide it on your website, but email clients will not.


Bogus Error Mandatory fields first name and last name OR email address missing from form

Did a bit of googling and figured this one out -- I didn't realize I needed to visit the access control screen [Administer / Users and permissions / Permissions (access control)] in order to enable the form to accept user input on submit.


How to set multiple conditional rule on webform registration?

You are probably pretty close. May just need to reverse your logic. You haven't provided screenshot of your Conditionals. On a site we have this I see this in Conditionals

and

etc


Possible bug? "Enable Double Opt-in for Profile Group(s) field" displays twice

Yes this happened since 5.8.  I have submitted a PR for this issue. You can either apply patch or wait for 5.18 release.

  Note: Since this change involves update to settings file, you will
  need to clear civicrm cache after applying patch.

Cheers

Pradeep


You can make use of the "Date Renewal Entered" field for this purpose - e.g. if you enter a date of July 1, 2018, then a 6 month membership will be extended through December 31, 2018 - the date the payment was recorded can be left as the current date - when you click to view the membership, it will appear as displayed in the screenshot below:

Hope this helps!


Error "Select at least one membership option" when adding a membership with a price set

While creating the price set option value you need to select the corresponding membership

If this is not selected then you cannot create an membership using price set


How can I customize the user-access to Mailing lists?

You want to set ACLs that only allows those users to view those groups - and thus to add those groups to mailings.
There is no built-in mailing list functionality, i.e. you send an email to a specific address, it is distributed to a group, in CiviCRM.


You can have several maintainers, as for the authorship, it's a single one indeed (top of my head) and it's customary to keep the initial one and explain the documentation (eg. README.md) that you are taking over.

Does it solve your problem?


Saving a contribution adds a line with negative the tax amount, when using an event price set

This is a bug. I'm unsure if price set config for events was previously tested. I've created an issue in JIRA for this https://issues.civicrm.org/jira/browse/CRM-20676 and we'll work on fixing pro bono (though contributions to help fund fix would be very welcome!).


No. As far as I'm aware the sole entry is in civicrm.settings.php


I just used a general rule for org contact type import yesterday and it worked.

Import Contacts creating dupes despite dedupe rules


Using an excel membership number list to compile a civi report of linked addresses

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.


The field your are looking for is called 'image url' it is a contact field.

You should be able to select it in the profile setup. The image will display scaled to 100X100 pixels.

Hope this helps...


Member since date is being updated on import but we dont want it to!

Confirmed this is happening on Drupal 6 and CiviCRM 4.4.14. In file: drupal\sites\all\modules\civicrm\CRM\Member\Import\Parser\Membership.php

line number 268 reads:-

     //assign join date equal to start date if join date is not provided
     if (!CRM_Utils_Array::value('join_date', $params) &&
        CRM_Utils_Array::value('membership_start_date', $params)
      ) {
        $params['join_date'] = $params['membership_start_date'];
      }

You could try commenting out this line if it's not possible to calculate the join_date from your data.


Batch update: triggered confirmation email

In my CiviCRM experience, this does indeed happen. CiviCRM seems to expect participants to be Registered before they are Attended. If you try to skip this step in the bulk update, it will move them to registered and trigger the email. Have a look at those participants and see if their status is now Registered.

We ensure that the are moved from the pending status to registered prior to the event as this also ensures that they get the registered email confirmation which they won't have received if they were still pending.


Contribution page profile not displaying at top of page, above billing section, despite configuration

You cannot get the Profile above the amounts. I do not use Paypal so I do not know what you payment portions look like.  For me (using iATS with WordPress), my Profile placement options are 1. below the amounts (including the "is recurring option") but above the payment info/billing or 2. below the payment info but above the Confirm Contribution button.


I think you need to grant the Webform: Edit own content permission. This may still not give access to view the submission (haven't tried) but it would give the user access to edit their submission, which is probably more important (tweak the link you email out to edit rather than view the submission).

If all you want is to allow the user to see their submitted values, I second Karin's suggestion that you put them in the body of the email. This way the user can see them immediately without needing to click on a link.


How can I allow multiple petition signatures from the same computer?

If you clear the browser's history after each entry you should be able to have multiple entries from the same computer.


facilitators viewing registration responses

The simplest non-IT solution is to create a participant report in CiviCRM with the information you need and then under Actions, Export it and email it to them.

The next option would be to do as you described with Drupal Roles and ACLs. The down side is the learning curve for them to learn to filter and sort the Civi Reports to get the data they need.  In the ACL settings you will probably need to give them access to everything that Donors have access to plus: CiviCRM view all contacts, CiviCRM view all activities, CiviCRM access backend and API, CiviCRM access CiviEvents, (depending on the level of access you want you can give the edit events), CiviCRM acess Report criteria (so they can change the filter/sort/group)

The third easiest would be to use CiviCRM WebForm Integration module Create your event registration form with Webform. You will then have several easy options to get them the registrations. a) You can give the "Facilitators" access to the Webform Submissions, b) you can set the submission emails so that a copy of the registration is sent to them when it is submitted, c) you can schedule a regular submission results (weekly, monthly) to be emailed to them, d) you can download the results and email it to them.

Another way is to create Drupal View page with this information on it. You can create a Drupal Role of "Facilitator" and restrict access to the page to Admin & Facilitator. This option would give you a url that they can access to see and sort the data as they need.


A problem I have with getting a box on my home page for visitors to sign up for a mailing list?

As peterdnz says, the documentation is at https://docs.civicrm.org/user/en/latest/email/set-up/ (Using a Profile).
For WordPress I think the easiest way to display a form publicly is by using a shortcode. After preparing a WordPress Page, click the CiviCRM button above the editor. For Page Type select Profile. On the next drop-down that appears, select the name of the profile that you have created. Select Edit on the radio button option just below the drop-downs, so that you give users access to edit data in your database (i.e. to add their email address and name to your database). Click Insert Form and the shortcode will be added to the editor.
Hope this helps


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


Welcome to CiviCRM! CDN TaxReceipts can be installed through your manage Extensions screen:

https://docs.civicrm.org/user/en/latest/introduction/extensions/#installing-extensions

If you run into config/support issues you can reach out here on SE. Best to ask detailed questions with screenshots.

If you run into a technical issue you can create an issue here:
https://github.com/jake-mw/CDNTaxReceipts

A number of Canadian IT companies monitor this GitHub repo (Coop Symbiotic, Mustardseed NonProfit, PeaceWorks and ourselves).


I feel this is very difficult to have it as part of Civi tar ball because there are many things we need to consider and come up with generalised solution. eg Algorithm to set start/end date when copying an event. How many org want this to change.
Instead i would just create an extension that would provide an option(pop-up) to set start date and end date (setting default value either today for start date and relative date to end date based on previous event dates or previous event start/end date) those field before a event is copied.


Can't make an account on civicrm.org to use with gitlab

Ah, turns out it just took a long time to get a confirmation email. Once I got that and clicked the link it allowed me to set a password.


How do I setup an import for the Do Not Email field?

Welcome to CiviCRM!

For the import of Boolean fields (yes/no, true/false, check boxes, etc.) the correct syntax is 0 for no or false and 1 for yes or true. Use 1 instead of Y or YES, and it should work for you.

Be aware that your imports thus far may have created NULL values in the database. See this question and answer for reference: https://civicrm.stackexchange.com/a/7396/105

You'll want to check your database or have your admin check those values to make sure you've got 1s and 0s instead of NULL.


Also, depends on your setup, but if the message is going external, then the img src url would need to refer to an externally web hosted image file.

Apologies if I'm stating the obvious.


Installation issues - unmet dependencies

The command you're running, on Ubuntu 16.04, attempts to install the nodejs-legacy package.  As it says, it can't because it relies on a particular version of nodejs that won't be installed.

So first - this problem should be replicable with a simple sudo apt install nodejs-legacy, which simplifies the variables and takes CiviCRM out of the equation.  It's probably even replicable with sudo apt install nodejs.

Second, it sounds like you have something installed - perhaps a newer version of nodejs? - that's preventing an installation of the packaged version of nodejs.

After removing nodejs, try running dpkg -l | grep nodejs and see what, if any packages are installed.

Alternatively, removing --full from your command will disable attempting to autoinstall packages.  If your environment is a good one, this should work fine.  You can review the packages you need installed in this part of the script.


What this bot/IP trying to do on my civicrm site?

It's a SQL injection attempt, where it's looking to see if it gets used in a query and alters it. Depending on the query where it gets used, it could do nothing or it could do something, but at the very least tells the attacker if it's vulnerable. Simple example, where it does nothing:

If civi had code like this, where it doesn't escape the value:

$reset = $_GET['reset'];
$dao = CRM_Core_DAO::executeQuery("SELECT * FROM table WHERE something='$reset'");

That particular url would translate to:

$reset = $_GET['reset'];
$dao = CRM_Core_DAO::executeQuery("SELECT * FROM table WHERE something='1' AND 6876 IN (SELECT (1)) AND 'KFmQ'='KFmQ'");

which is valid SQL and does something different than intended. In my example all it does is tell the attacker it's vulnerable, but there's lots of variations.

Since IDS is catching it, you get the log errors.

If it's always the same IP, you can block the IP.


System Slow - Event Registration with Payment

If I'm looking at the right site, it looks like the second page of your event registration has a consistent 60 second delay added on top of the usual page generation times, and that the delay is introduced before the user is asked for payment.

Unless your payment processor requires communication before the transaction, this suggests that the issue is within CiviCRM or your hosting environment.

An additional 60 or 120 second delay is often a timeout, for example when a webserver attempts to get reverse DNS during the request and fails. However there's no way to be sure without looking under the hood, so I'll provide general advice on how to proceed also :)

Use tools like http://www.webpagetest.org or http://fpt.pingdom.com to ensure your site performs well generally - enter the URL of your registration pages and make sure the entire page is delivered to the visitor within a few seconds.
Ensure your hosting environment is capable of delivering your content in a reasonable timeframe.
Disable configurations which add to request time, eg reverse DNS lookups.

I suspect this issue is not related to your payment processor at all.


CiviMail: Email marked as 'Draft and Unscheduled' but outgoing mail log says it's been sent

I've corrected this when it has happened by clearing the cache (Administer>System Settings>Cleanup Caches).


Is membership by relationship charged for?

As far as I'm aware only the organisation is charged but the employees are able to receive the benefits of membership.  The employees don't get charged separately for that membership.

You can find more information about membership in the book:
Defining memberships


Welcome to Stack Exchange OSRT!  Yes, you can use Mosaico for designing newsletters. Whether it is easy to use is a matter of opinion, but probably most would agree it's pretty straightforward.  You create your newsletter within CiviCRM using the Mosaico extension and then send it out from there.

The main CiviCRM demo sites are not using that extension, but you can watch a quick demo of Mosaico itself and try it on the Mosaico site.  Note that the way Mosaico is used within Civi is slightly different but the basic use is the same.

You will also need to configure your system to send email.


Card Printing Systems compatible with CiviCRM

The other option to print Membercard is using  an extension developed by Webaccess Global which generates card in pdf format.

https://github.com/kurund/com.webaccessglobal.membershipcard


RESOLVED thanks to help from Hershel:
Unable to enable CiviCase - Definer v Invoker problem maybe

The solution was to enable remote connections for the specific MySQL database.


Is the Intuit processor active/functional?

This is a pre-civix extension - which probably makes it one of the first extensions, period.

I tried building a civix extension and dropping the files in from Github, but it isn't showing up as a payment processor option.

That said - the code doesn't look like it's in such bad shape.  A little bit of love would probably get this functional.


Gravity Forms/CiviCRM add on - adding record to groups

Can you tell me what version you are running? We added support for groups and tags in our latest version. On the contact feed it looks like this.

If you're wanting to add to different groups based on their selection then you would create one feed per group and make the feed conditional based on that criteria.


Has anyone had issues with multiple contact types showing as a result in Search Builder despite contact specification?

Rebekah - from the list you posted MOST of them show both the categories selected. The only ones (7th one down) that I can see that don't have them have a lot of others and may simply be pushing the ones you want to see out of sight.

Perhaps I don't understand your question but from what I see the result looks mostly right.

AH - If you are wanting to find records that ONLY have those two categories then I suspect Search Builder may not be able to do that in one step.

You may need to create a group of those above, and then create Groups for each of the categories you don't want to find, and use the Include/Exclude Custom Search.

Or do this via an sql query


This is definitely bug in report. You can either fix the code so that it is exported as label or use the same text for label and value for the options when creating.

Eg For Blue use Label - Blue and value - Blue.


Profile sync using CiviCRM WordPress Profile Sync

Given that WordPress treats email addresses as unique identifiers, this situation is necessarily going to be problematic. There are a number of ways that you can overcome the default matching (which is handled by CiviCRM's CRM_Core_BAO_UFMatch::synchronizeUFMatch() method), but the simplest is to manually alter the record in the ufMatch table such that it points to the Civi record that you want it to. You can alternatively create the WordPress users from their CiviCRM contact records by using the bulk update functionality provided when you enable CIVICRM_WP_PROFILE_SYNC_BULK in the plugin. Or perhaps you could decide not to "forget that there may be methods of better organizing this"...


There is a Recurring contributions report and summary report which allows you do filters and also some related fields. You can find them under Contribution reports section(/civicrm/report/template/list?reset=1&compid=2).

Also there is an extension called 'RECURRING CONTRIBUTION SEARCH' that allows you to search recurring contribution.

Cheers

Pradeep


4.6.6 Wordpress still does not allow me to credit to a PCP

I finally figured it out: when you checked it on the WP demo site vs Drupal it turns out there was a conflict between a wp url param and one used by the widget.

This fixes it: https://github.com/civicrm/civicrm-core/pull/6351


Is calling the api in a report template 'bad form'?

This will result in one api call per row, which can add up to a lot of queries on the db.

A lighter-weight solution would be do do a single api call before the loop to look up all location types and store them in a local variable, then you can use array_search or similar for each row to get the proper value.


Looks like you need to upgrade your nodejs version - https://nodejs.org/en/download/


When exporting contacts using custom selected fields, results in "Undefined Index ...Mapping.php Line 622"

This is a bug, albeit a minor one because of the simple workaround.

In PHP (the language most of CiviCRM is written in), there are various levels of problem: notice, warning, error, etc.  A notice generally means, "This software's code has something ambiguous but not wrong about it.  We're going to infer what the code's author meant to do, but they may want to make it explicit."

Good software strives to be notice-free, and CiviCRM is mostly notice-free.  You've discovered an exception - though you haven't noted your CiviCRM version, so it's quite possible this is already fixed.

The reason this is less important than many other bugs is that notices should be suppressed on a live instance of CiviCRM - they should only really pop up if you're a developer.  So the fix for this is to change your PHP settings to hide notices.  This issue should go away after that.  There's a few ways to disable notices; this Stack Exchange answer outlines them: https://stackoverflow.com/questions/2867057/how-do-i-turn-off-php-notices


Sanity check for adding customer (sales) data to database with donations data

@DanielJames

Thanks for your clarification. Since you will be importing historical data and using an IPN to capture future sales information, I don't think you need to use price sets at all.

FINANCIAL TYPES:

Again, you should touch base with the powers that be to understand what level of detail they wish to preserve in Civi, but my guess is that at the very least you will want to create financial types/accounts for each of the 14 categories (my OCD would prompt me to create a financial type/account for each type of product - e.g. financial type = T-shirts, different sizes should be handled as custom data if the client is interested in preserving that detail).

You can build your import script/hook to create both financial types/accounts if they do not already exist, and since people are receiving goods on behalf of their purchases, those financial types should be considered non-deductible (the exception would be the additional donation amounts that donors can contribute with their item purchase - that, of course, should be considered deductible).

I am assuming that your hook would include a verification to check for existing contacts and if no matching contact is found, create a new one - you would do the same for categories/products that may be added directly via BigCartel.

To facilitate reporting and differentiate between contributions/donations originating from BigCartel from other contributions/donations recorded directly in Civi, you can do so in several ways - the first two that come to mind:

Include a custom data field (e.g. a Y/N flag for "BigCartel?")
Include a convention on the financial types that can then be used for multiple filtration purposes (e.g. all BigCartel financial types should begin with BC---, a custom extension would prevent them from being available in the drop down when recording contributions directly in Civi, add filters in reports/searches to group all financial types by whatever precedes the three dashes, etc.)

How much effort you put into the differentiation will depend on what your clients' processes will be for recording the information from BigCartel moving forward - i.e. will they be transferring all financial information from Civi to their G/L system, or will they continue to take contribution information from both Civi and BigCartel (which is what I assume they are currently doing)? If it is the former, then you will definitely need to sit down with someone to understand how the data needs to be structured so that they are able to extract that information in a relatively easy manner.

HISTORICAL & LINE ITEM DATA:

I am assuming you are writing an import script for historical data instead of using the built-in contribution import wizard because you want to preserve the line item detail of each contribution (e.g. if more than one type of item was purchased) - the function would be the same in your hook and I believe you can make use of APIs or hooks that already exist, but here you would be more well versed than I and you probably would know where to look for the information at the following link: https://wiki.civicrm.org/confluence/display/CRMDOC/Develop

Hope this helps!
Tamar


The easiest way to do this would be to use CiviDiscount.

Create a random code.
Place the discount amount - either as a monetary amount or percentage.
Add other settings to your desire.
Use drop down - discount for events - Select the event.
Use drop down Automatic discounts - use Automatic discount for existing members of type - chose the types.
Then under Automatic discount for Membership Statuses - choose the status - I would choose current and new - depending on your settings.
Choose price field options (under additional options) to choose the exact items you want discounted. Ignore this if all items are treated the same, such as 10% discount across the board. (thanks for reminder KilakwaBT)
Add any other settings to your desire.

If the member is logged in, all the discounts will be applied automatically if all of the conditions are met (no code needed).  As members tend to forget to login, you may want to write a note on the event page saying Members - Login for a special discount - or something to that extent.


In the end, I removed the "Is Deceased" option from the profile we use to edit the contact's information and created a separate profile which contains only that field. It's a little clunky to present two edit links:

Edit contact information
Mark contact as deceased

...but it works for now. I would have tried it in a Webform (with Webform CiviCRM) but I don't think the image handling pushes back into CiviCRM.


How to make an Event registration form where you can choose which event you are registering for?

You can create a Price Set (used for Event) with a Price Field for each Webinar (Input Field checkbox). You can set a Participate Count and Max Participants for each Price Field. When you create your event, under the Fees Tab, Enter the Price Set name. You can charge a different amount for each webinar or $0 for all of them.  I know this does not create 3 separate events in your reports, but it does give you the ability to automatically close registration when full. You can filter your reports by Price set boxes.


I had this question also and just figured it out!

Civimail always includes a List-Unsubscribe header in the messages it sends out (https://issues.civicrm.org/jira/browse/CRM-3251).

That header is invisible to most recipients and is intended as a way for mail clients to provide easy and standardized unsubscribe mechanisms (http://www.list-unsubscribe.com/).

I note that google doesn't seem to do anything with it, though they do expose the list unsubscribe option for mailman lists, or used to .. But, it appears that Windows Live does use it, so anyone using that software that receives Civimail can use it.

The only clue I had was in my apache logs - the time of the unsubscribe matched a soap request that came in via UAS/CiviSMTP that handles the bounces for this domain.

Thanks to Leyla UAS/CiviSMTP support (http://www.civismtp.com/) for confirming this idea.

For bonus points, assuming you really only want people to opt-out instead of unsubscribing, you can include this in a custom extension or module, changing 'hook' to the name of your custom extension or module.

function hook_civicrm_alterMailParams(&$params, $context) {
  if ('civimail' == $context || 'flexmailer' == $context) {
    $params['List-Unsubscribe'] = str_replace('mailto:u.','mailto:o.',$params['List-Unsubscribe']);
  }
}


This might be related to Smart Group relative date criteria not saving and there is fix for it https://github.com/civicrm/civicrm-core/pull/11486

Please let me know if that works for you.


How do I email to two addresses on an individual without Civi creating a new record for the second email address?

The answer is -not- going to be multiple primary addresses as that is a contradictio in terminis.

Go household all the way: the household then half sponsors the student; a household has one primary address and can be addressed as "Dear Smith Family, thank you for sponsoring Carol."


Bug in the scheduled update of Membership Statuses?

A real fix is still needed but the following procedure appears to provide a reliable workaround:

Set the Grace period to the new value;
Disable the status 'Expired';
Run the task 'Update Membership Statuses' so that memberships within the new Grace period are set to 'Grace'; (but don't just run Cron, as Cron only runs this particular update task once a day.)
Re-enable the status 'Expired';
Run the update task a second time to check that memberships that really should have expired do indeed correctly show as 'Expired'.

David


Extension install failed, now cant get the functions to work or reinstall successfully. How to fix please?

Some extensions don't fully clean up behind themselves when they are uninstalled causing problems when you attempt to install again.  You will need to look at what the extension is trying to do when it installs and find what is failing.  If the fields/options etc already exist you can comment out that part of the installation process.  Alternatively, remove them - but if possible use the API rather than direct SQL to reduce the chances of leaving things in an inconsistent state.

If you can't install, uninstall and then reinstall an extension cleanly then it is worth logging an issue in the extension's issue queue.  I have just tested that sequence with the GDPR extension without problem.

And please get your 4.7 system upgraded!