Can we export from membership search and include fields for groups? I'm managing a country-wide organization's membership database with 1 membership type (you're either a member or you're not). Each region or province/state is represented by a Group.

This allows us to create an online roster (membership listing) that can be filtered by the regions across the country.

All of the updates to contact records and membership records (renewals) are handled via CSV imports.

For improving the maintenance of the CRM information, my goal is to run a search memberships report for current/new members which I can then split by region. I can then send the exec-admins governing each region their piece of the report so they will have a unified spreadsheet for managing addition and updates to the members they govern, making imports smoother to update contact records and membership renewals.

The issue I am running into is exporting a membership CSV spreadsheet that includes the all important Group or Group ID number. Any thoughts?

I've run into an almost identical problem, which I solved with a custom extension.  I've hardcoded which groups correspond to chapters, and whenever someone is added to a group, I check if it's a "chapter" group.  If so, I update a custom field with their chapter name, so I can export it.
I could upload the entire extension to Github if you like, but the relevant code is here.

function membershipcards_civicrm_post($op, $objectName, $objectId, &$objectRef) {
  //set the chapter name for membership cards
  if(($op == 'create' || $op == 'edit') && $objectName == 'GroupContact'){
    $params = array(
      'version' => 3,
      'sequential' => 1,
      'contact_id' => $objectRef[0],
    );
    $result = civicrm_api('GroupContact', 'get', $params);
    //cycle through the groups.  If you find one that's a chapter
    //(currently hardcoded as gid <= 83), return its title.
    foreach($result['values'] as $key => $value){
      if($value['group_id'] <= 83) {
        $chapter = $value['title'];
        break;
      }
    }
    $params = array(
      'version' => 3,
      'sequential' => 1,
      'custom_98' => $chapter,
      'id' => $objectRef[0],
    );
    $result = civicrm_api('Contact', 'create', $params);
  }
}


How to import/create multiple events from .csv? how do one import/create multiple events from an existing .csv file?
I checked the "API csv Import"-Extension (https://civicrm.org/extensions/api-csv-import-gui). But this only updates existing events.

Does anybody know a different method?

or

I thought of creating multiple "empty" events with only an event-id and then updating it through the api-csv-import-ui. Can somebody give me a hint how to do that? (I am not super experienced with the api). Or even providing me with a code snippet, for create multiple events with event-ids from x-y.

Thanks in advance.
Stefan

I am using

drupal7
CiviCRM 5.30.1.

Yes you can use the API CSV extension to import new events. Here is a good guide to do so: https://wapix.co/importing-events-to-civicrm/.


CiviCRM profile "used for" options are not allowing a CiviContribute option on wordpress I'm running CiviCRM Version 5.13.5 on WordPress 5.2.2

When I set up on staging, I used CiviCRM Version 5.13.4, and the various Profile options were available, including :
Used For    Standalone Form or Directory Search Views [ x ] User Registration [ x ] User Account [ x ] soft_credit [ x ] CiviContribute [ x ] on_behalf

However, now that I'm setting up on live with Version 5.13.5, my only available options are:
Used For    Standalone Form or Directory Search Views [ x ] User Registration [ x ] User Account

Any help for why the Contribution options are missing?

Yeah it seems a little weird. It seems to get those options to show you need to first create a contribution page and check the options related to those. So:

For soft_credit, you need to have an existing contribution page with the Honoree Section Enabled checked.

For on_behalf, you need to have an existing contribution page with the Allow individuals to contribute and / or signup for membership on behalf of an organization checked.

For civicontribute to show, you need to have an existing contribution page where the profiles tab has already been set to use a profile.

But in any case they seem to be just visual indicators that indicate that you have a page that uses it.


Importing contacts through Kettle and CiviCRM data integration I am importing legacy data into a CiviCRM instance, and I am stuck. Using Kettle I am able to import the contacts, but the address data isn't being imported. When I use a sample of the data in the CSV I can import it into CiviCRM through import contacts with the same field mapping, without any problems.

Is there a way to debug API output generated by CiviCRM Output in Kettle?
Am I missing a necessary address field of something? What would be a minimal example of API code to create contact with a country address field?

EDIT
This is the warning I get.

{"is_error":0,"undefined_fields":["country","state_province","city"],"version":3,"count"

Although these fields are avaliable for contacts entity in CiviCRM Output.

I use this recipe (manipulate data in Kettle and then API to CiviCRM) regularly. Adding the address is done with the Address API. Are you aware of the API explorer in CiviCRM?

If not, try /civicrm/api/explorer before version 4.6 or use Support/Developer/API Explorer since version 4.7.

This gives you a possibility to "play" with the API explorer to find out what is required. Be careful, it does actually perform the suggested actions :-)


Pay Now Button - How do you change button text? Is there a way to change the "Pay Now" button on contribution pages? The issue is even when the person is selecting to pay by check (Pay Later) the button still says pay now. I want people to click the pay now button be some people find it confusing that you have to hit the pay now button in order for it to send an invoice via email.

Since "Pay Now" is not the default for CiviCRM I would check to see if Word Replacements has been used to rewrite this. Admin > Customise > Word Replacements ie ../civicrm/admin/options/wordreplacements?reset=1

If it is not that, then use your browser Inspect option to figure if you have a customised template


Where is "Unique ID (OpenID)" and how is it used? I am preparing to do an import of a lot of data, and I want to properly map my data into CiviCRM.  This is primarily for event participants of various kinds, so I exported the basic participation data to use as a template.  There is a column therein called "Unique ID (OpenID)" that I can't locate in the Contact view or anywhere else.  Some of our data already in CiviCRM has this populated, some not.  It could have been populated via original import and is completely useless.  Or not?!?  I don't know.

I have tried googling for the answer, and all I come up with are two pages from the manual referencing data export columns that include this for Organizations and for Households, but not individuals.

There is an OpenID field that includes a location selector, but this implies a relational join to another table, not a single column in the Contact record (which is what I am looking for).  And for those contacts that have the "Unique ID (OpenID)" column populated in the export, this field is NOT populated on the Contact view page.

So, what gives?

OpenID was designed to provided a universal login to all your online accounts.  You can read more about it at http://openid.net/get-an-openid/what-is-openid/ .  It was created in 2005 around the same time as CiviCRM and I think the standalone version of CiviCRM would let you sign in using OpenID. There are modules/plugins that will let people sign into your CMS with OpenID.

As Karin has commented, if this is not a single step, one-time import of data, then you should use External ID to store the identifier from your other application.


Contributions and Events I have been trying to find a way on how to divide one fundraising event into three parts - because our event was supporting three different initiatives and we want to know which contact supported which initiative within the event, and how much money they donated for every initiative.

It is also important for us to create a link that includes all the three initiatives because the fundraising is to be continued online - any suggestions on how to do that? The link will then be sent out through a mailing.

Thanks in advance!

Rereading - unsure if my other answer helps at all but will leave it for now. Price Sets may be more what you are after. I set one up here which you can see in action here

(note the above links will only be good till the site refreshes- but make a Price Set using "text/numeric", "Price = 1.00" and do not show 'Display Amount' - that will give you 3 fields where a person can enter the amount they want to give to each of the 3 parts - then set your Contribution Page to use the Price Set constructed above)

You can't use Campaigns on a per line item afaik so not sure that other suggestion helps but I think for reporting you can get what you need from  eileen@fuzion's Extended Report https://github.com/eileenmcnaughton/nz.co.fuzion.extendedreport which offers "Price Set Line Items" reports. HTH


modules, drupal, civicrm updates I have multiple updates to perform
modules, civicrm and drupal.
In what order should I do these updates?
Views (for Drupal 7) (Security update)  7.x-3.20    to 7.x-3.24
CKEditor - WYSIWYG HTML editor (Security update)    to 7.x-1.18 7.x-1.19
Drupal core (Security update)   7.63    7.72
CiviCRM 5.9.1 to 5.28.2

I would first upgrade all drupal core and modules, have the site working and than upgrade Civi.
I would prioritise security ones first.


Make phone type value "mobile" for every individual We need to switch every individual contact's phone type to mobile. I have an SQL query that I could run manually, but for the civicrm_phone_before_update trigger using a function that doesn't get defined when running manual queries.

FUNCTION [db].civicrm_strip_non_numeric does not exist is the error that pops up when I try to run the query.

And I had no luck trying to edit the trigger so it would temporarily associate with a different table. I'd DROP the trigger, but it seems important for day-to-day function, and I'm not confident I'd be able to manually restore it once I've finished transforming over 1,000 records from landline to mobile values. What's the right way to do this?

Addendum ...

The SQL statement triggering the error:

UPDATEcivicrm_phone
SETlocation_type_id="3"
WHEREphoneIS NOT NULL;

You might be running the manual query under a different mysql user than the one that owns the function, so you can check who the "definer" is using show create function civicrm_strip_non_numeric;.

If it really is "missing", then you can also manually recreate the function - it's defined in CRM_Contact_BAO_Contact:
https://raw.githubusercontent.com/civicrm/civicrm-core/7f8858ced29deeabc720e1c37c42e1b7d59d8962/CRM/Contact/BAO/Contact.php

[While I first did not succeed in recreating the function, the suggestions below led directly to the desired outcome. -- Prónay]


Can I use tokens in Civi profile Cancel Redirect URL? Custom profile to edit a contact's activity.

Redirect URL is formed: www.example.com/activities/{contact.id} and works correctly.

I'd like to use the same redirect for Cancel Redirect URL.  Is it possible?  Are tokens supported in the cancel url or do I have to set a static page for cancel?

I'm pretty sure that token availability is the exception rather than the rule.  You shouldn't expect tokens to be replaced in the redirect URL.


Haven't seen this in a while: jQuery is not defined on CiviMail 4.6.16 Yo dudes, let's get the con started with this classic!  Haven't seen this beast in a while.

recently updated to 4.6.16
theme Seven
ran update.php after upgrade
cleared Civi and Drupal cache
Drupal cache off

Still the issue with field selects and jQuery error is happening (attached images).  Feeling kind of duncey here. Any ideas?

Stuart

What happens if you change themes to one of the basics?  This looks somewhat similar in end result to the Backbone errors that are occurring with some of the themes.  Do you see errors on the Manage Events -> Online Registration page also?


Contacts: can one organisation be a 'child' of another? Is there any way to make one organisation a part of another through a relationship? For example, we have a few NHS (National Health Service) teams among our contacts which we would like to put under one organisational umbrella.

I tried setting up a relationship the usual way but I couldn't add a relationship between two organisations, only an organisation and an individual.

At the moment we're using different addresses for each team as a workaround but that's not ideal.

What I would do is:
- configure a new contact type 'NHS Team' based on organization
- cofigure a relationship type between organization and NHS team
The standard relationship type 'Child of' only works between Individuals, as you can see in the configuration of the relationship types.

If this is gobbledygook for you, I'd recommend reading this: https://docs.civicrm.org/user/en/stable/organising-your-data/relationships/


Contribution Report - Grouped by Custom Field I am looking to be able to build a report that essentially has aggregate donations grouped by a custom field.  For example - every donor is asked: How did you hear about us (Referral Source), which is answered via a contribution custom field set of options.  Essentially we want to create a report that says:

Referral Source - Number of Donations - Total Donations - Average Donations

Is there a report that can let me do that - is there an extension that provides such a capability?

I was able to do this via a contribution summary report - unfortunately that does not allow for sorting.


What is the best way to raise awareness of a extension upgrade that breaks core fuctionality, e.g. all the menus went away? On Friday one of the extensions, summaryfields popped up showing there is an upgrade available.  Well, for many, this upgrade causes all the civi menus to go away.  So while people should never ever apply an upgrade to production without first doing it a test environment, it happens and they are left scrambling to resolve it, (disable the extension).

I'm pretty sure the folks who released the upgrade tested it and it worked in their environment, but apparently something got missed.

The question is when something like this happens what's the best way to alert people not apply this upgrade?  Is there a way to "unpromote" it?

(An issue was raised in github for this last Friday.)

I'd like to build out more infrastructure for this.

I've started an Extension Compatibility List which so far has the ability to blacklist an obsolete extension (my original use-case was for merging an extension into core), but it could be extended to blacklist a version of an extension with known bugs or security flaws.


Why can't I access option groups? Drupal 7
Civicrm 4.74

Receiving this error:

API permission check failed for Case/getcount call; insufficient permission: require Array

CiviCRM_API3_Exception: "API permission check failed for Case/getcount call; insufficient permission: require Array"

/var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Case/BAO/Case.php(1914): civicrm_api3("Case", "getcount", (Array:1))
/var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Page/Basic.php(294): CRM_Case_BAO_Case::caseCount(NULL, FALSE)
/var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Page/Basic.php(251): CRM_Core_Page_Basic->action(Object(CRM_Core_BAO_OptionGroup), 10, (Array:7), (Array:4), 1)
/var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Admin/Page/Options.php(232): CRM_Core_Page_Basic->browse()
/var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Page/Basic.php(172): CRM_Admin_Page_Options->browse(NULL, NULL)
/var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Admin/Page/Options.php(224): CRM_Core_Page_Basic->run()
/var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Invoke.php(312): CRM_Admin_Page_Options->run((Array:3), NULL)
/var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:13))
/var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:3))
/var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/drupal/civicrm.module(454): CRM_Core_Invoke::invoke((Array:3))
[internal function](): civicrm_invoke("admin", "options")
/var/www/vhosts/example.com/httpdocs/includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:2))
/var/www/vhosts/example.com/httpdocs/index.php(21): menu_execute_active_handler()
{main}
 Sorry but we are not able to provide this at the moment.
API permission check failed for Case/getcount call; insufficient permission: require Array
Return to home page.

OK, I ended up getting into a rabbit hole and spending more time than expected here!

There's a short workaround for you, if you're not trying to edit CiviCase-related option groups:  Comment out CRM/Core/Page/Basic.php line 294, which reads:

$caseCount = CRM_Case_BAO_Case::caseCount(NULL, FALSE);

For the in-depth fix, I've opened a new bug on issues.civicrm.org here.


Can CiviCRM set up an event registration on a separate server? Once upon a time, I seem to recall that it was possible to use pretty much any CiviCRM form and export the HTML to an external server. The idea is/was that you could have CiviCRM running on a non-advertised server and the signup or event forms on your regular Website. Is this still possible? If so, how? If not, are the only options an iframe or some other workaround?

One of my customers would like to have a server that doesn't offer the entire contact database (for security reasons) but allows for event sales or mailing list registrations which are then processed by the private CiviCRM server. There's a Webform module for CiviCRM but I believe it needs CiviCRM to be on the same machine.

Thoughts? Ideas? Suggestions?

CiviCRM profiles still have HTML snippets, which you can post on another website. They can be used for Mailing subscription forms, but if I'm right not for event subscription.

Other options I am thinking about would be:

2 sites, 1 CiviCRM
http://wiki.civicrm.org/confluence/display/CRMDOC/Multi+Site+Installation
So you are using CiviCRM with 2nd site, and only form submission via site 1
Creating your own form on the front end site and connect with CiviCRM via the CiviCRM API


Why Could My Payment Page Not Be Accepting Payment? We have a webform set up to enable an individual to update an organisations details and then pay for the organisations annual membership. We are having an issue however where a user is reporting the following error.

  I've tried to make payment for the [organisation] membership, but it tells me after putting my payment details in that it needs an email address to complete the transaction. There's no-where on this page to put that in!! There was on the previous page, and that part was completed.

The webform is set out as a two pages; updating details and membership payment, so I have truncated the screenshots to remove the non-relevant organisation updates:

This is the top of the webform linking the user to the organisation, in this case the Station Administrator user does have a permissioned relationship over the Station organisation

This is the bottom of the webform with the payment page

I have the organisation contribute webform set up identically as an individual membership we also run, so I can not see that there are any issues there(?) and I have used the individual payment page (directly through the contribute link though, not a webform) so that side of it worked for me.

Set-up wise, we are using D7.36 Civi4.4.14 and Stripe as our payment processor.

I would appreciate any thoughts you have, because I have tried everything to get this working and it does not want to be co-operative.

Edited 12 May 2015

I have been persevering with this taking @Coleman 's thoughts forwards. We have since had another report of payment failing (my previous member chose to pay using another method) and this is what I can glean from the CiviCRM:

When I masquerade as the user and go to the webform I can see the notice that their organisations membership has expired, so the relationships are being seen. I have also checked that the user is permissioned
When I go to the CiviContribute page directly while in masquerade there is nothing obvious that the Contribute page is recognising the link between the user and the organisation
When I go into our Stripe dashboard there is no record of any decline or failure; indeed the last successful transaction was my own which was around a month ago

I have also taken out the on behalf of organisation option that was in place as it was just loading a Reserved Profile that did not appear to be connecting to any existing information.

This is all getting very confusing now...

The final solution came from @Coleman and our developer resolved this by implementing a 1.9.1 branch of Stripe from GitHub alongside the dev Webform-civicrm ...

I would tick Colemans comments as the solution, but it won't let me.


Is there a way to expose a CiviReport on a Wordpress page? Reports are not one of the component options available when using a shortcode in wordpress. What is the recommended way to expose a civireport on a wordpress page?

If you run your report and copy all the info after wp-admin/admin.php and paste that after your page URL it will drop the report in. The data you from the report url begins with a "?" and looks similar to this.

?page=CiviCRM&q=civicrm%2Freport%2Finstance%2F50&reset=1&force=1

So you URL to show the report on the WordPress page will look like this.

https://<<site URL>>/<<page slug>>/?page=CiviCRM&q=civicrm%2Freport%2Finstance%2F50&reset=1&force=1

Keep in mind you may need to adjust permissions depending on what user roles should be able to view this page.

Hope this helps.


civix generate:module org.civicrm.angularex error lteI have installed a civicrm buildkit with vagrantbox and vagrant up correctly on windows, ubuntu server run and at d7-master.dev I am listening drupal civicrm all done ok.

as I try to generate module using civix extension builder such as:

in cmd:

civix generate:module org.civicrm.angularex

I got this error: [RuntimeException] Failed to determine INI file path.

I tried everything what I knew and what see by google nothing happens.such as :

php --ini

works but not resolve this error.

Please Help me.

You just need to set the appropriate environment variable:

close your current cmd shell/terminal;
press Win + R, type setx CV_CONFIG "%userprofile%\.cv.json" and press Enter;
reopen the shell, goto your project's directory and test with civix civicrm:ping -vvv.

I gave further explanations about the reason in this answer.


Tracking completed transactions on CiviCRM in Google Analytics We have a Drupal site using CiviCRM and I would like to track how many times users go to our membership, subscription, and donation pages and then complete those respective transactions. In setting up a Google Analytics conversion goal, we successfully set up one for when someone lands on the pages, but apparently did not set it up correctly for the completion.
We set up three goals, with each counting how many people landed on a thank-you page (civicrm/contribute/transact?_qf_ThankYou_display=true) after coming from either the membership, subscription, or donation CiviContribute page respectively, as such:

But we're getting the exact same number for each goal, suggesting it's just counting how many times someone ends on the Thank-you page regardless of where they come from. As you can see from the third screenshot below, we are getting 135 for the Thank-you pages (Goal 4, 5, or 6 Completions), regardless of it being a Join, Subscribe, or Donate page that got them there. That number is close to what I'm seeing in Civi, though not exactly.

Any advice on how to fix that would be helpful.

It sounds like you're looking for the webtracking extension.


MapQuest Issue - Direct Tile Access No Longer Supported? When I use the map link within a contact details to get a map view of their address, the mapping starts to load but the map image tiles all display the following message:   "as of July 11 2016, direct tile access has been discontinued. etc. etc.".  So I went to the MapQuest site, created a free account, got an API key but don't seem to be able to insert it anywhere in civicrm?  FYI, I'm using openStreet Maps as the provider and Google for Geocoding, therefore no APIkey required (right?).  Should I be able to enter the API key from MapQuest in somewhere?

You can use OpenStreetMap tiles if you replace the tile pointer in this file:

.../templates/CRM/Contact/Form/Task/Map/OpenStreetMaps.tpl

Change this...

    map.addLayer(new OpenLayers.Layer.OSM("MapQuest OSM", [
        "https://otile1-s.mqcdn.com/tiles/1.0.0/map/${z}/${x}/${y}.jpg",
        "https://otile2-s.mqcdn.com/tiles/1.0.0/map/${z}/${x}/${y}.jpg",
        "https://otile3-s.mqcdn.com/tiles/1.0.0/map/${z}/${x}/${y}.jpg",
        "https://otile4-s.mqcdn.com/tiles/1.0.0/map/${z}/${x}/${y}.jpg",
    ], {
        attribution: "
Tiles Courtesy of MapQuest. Data &copy; OpenStreetMap contributors.
"
    }));

To this ...

    map.addLayer(new OpenLayers.Layer.OSM("openstreetmap", [
        "https://a.tile.openstreetmap.org/${z}/${x}/${y}.png",
        "https://b.tile.openstreetmap.org/${z}/${x}/${y}.png",
        "https://c.tile.openstreetmap.org/${z}/${x}/${y}.png"
    ], {
        attribution: "
Map Courtesy of OpenStreetMap
"
    }));

You do want to use https!


Missing Activities tab when viewing contacts When viewing a contact, there is no "Activities" tab in the list of tabs. Is this a configurable setting somewhere?

In other words, is there a way to add this tab to the Contact page?

Running CiviCRM 4.6.17

this is configurable at this path civicrm/admin/setting/preferences/display?reset=1 which is found from Administer > Customise > Display Preferences.

The top section is called Viewing Contacts and has a checkbox for eg Activities


Blank CiviCRM Dashboard and Admin Pages On Drupal 7 From a Fresh install of CiviCRM on drupal 7 I logged out of the system and logged In again into drupal, on Accessing the CiviCRM module on drupal it leads me to a blank page http://localhost/drupal/?q=civicrm/dashboard and also  http://localhost/drupal/?q=civicrm/admin.

did you check if all permissions are OK and there is a civicrm_settings.php on /sites/default? Is there any message in the Drupal log (reports/recent log messages)?


Reports will no longer generate pdfs:Shows HTTP 500 error Recently we have been getting an error when attempting to generate pdfs. The only change of note has been that our server just upgraded to FreeBSD 10. When the process is run I get a HTTP 500 error. I have looked at the error logs and am unsure that it is showing the error. Listed below is the error that is repeated in the log. This is a Civi (4.7.29) install via wordpress (4.9.4). Any help is appreciated.

#1 /wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(833): CRM_Core_Error::fatal("We can't load the requested web page. This page requires cookies to be enable...")
#2 /wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(828): CRM_Core_Controller->invalidKeyCommon()
#3 /wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(312): CRM_Core_Controller->invalidKey()
#4 /wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(204): CRM_Core_Controller->key("CRM_Report_Form_Contact_Summary", TRUE, FALSE)
#5 /wp-content/plugins/civicrm/civicrm/CRM/Core/Controller/Simple.php(66): CRM_Core_Controller->__construct(NULL, TRUE, NULL, "CRM_Report_Form_Contact_Summary", FALSE, FALSE)
#6 /wp-content/plugins/civicrm/civicrm/CRM/Utils/Wrapper.php(84): CRM_Core_Controller_Simple->__construct("CRM_Report_Form_Contact_Summary", NULL, NULL, FALSE, FALSE, FALSE, FALSE)
#7 /wp-content/plugins/civicrm/civicrm/CRM/Report/Page/Instance.php(89): CRM_Utils_Wrapper->run("CRM_Report_Form_Contact_Summary", NULL, NULL)
#8 /wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(309): CRM_Report_Page_Instance->run((Array:4), NULL)
#9 /wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:14))
#10 /wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:4))
#11 /wp-content/plugins/civicrm/civicrm.php(1216): CRM_Core_Invoke::invoke((Array:4))
#12 [internal function](): CiviCRM_For_WordPress->invoke("")
#13 /wp-includes/class-wp-hook.php(286): call_user_func_array((Array:2), (Array:1))
#14 /wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters("", (Array:1))
#15 /wp-includes/plugin.php(453): WP_Hook->do_action((Array:1))
#16 /wp-admin/admin.php(224): do_action("toplevel_page_CiviCRM")
#17 {main}

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

After updating to the latest CiviCRM it seems the problem was corrected.


Remove Default Profile Fields from Drop Downs Ok, when creating new profiles within CiviCRM for events or contribution pages, some of my customers are using fields that do not coincide with the information that the payment processor recognizes, so the "My Billing Address is the Same" doesn't carry over all of the information.

Is there a way to remove some of the "default/standard" Individual/Contact profile fields available in CiviCRM with Drupal?

CiviCRM Version: 4.6.4
Drupal 7

Let me know if you need any further clarification.

I really appreciate any help on this one! :)

Thank You!!

Typically the "billing address" you collect for credit cards should only contain the fields actually needed by the credit card processor, as that's all it is used for. The home address can collect additional fields, and the user would need to enter that additional info as it won't be collected for the credit card.


Return-Path vs. unsubscribe and X-CiviMail-Bounce Is there any reason that Civi would set unsubscribe and X-CiviMail-Bounce properly, but set return-path to reply-to instead? See the (modified) headers below.

We changed mail servers not too long ago, and since then our bounces are suddenly going to our reply-to address rather than our bounce address. Host says this is being done by the client (ie civi), rather than the mailserver, but the timing is odd since it worked fine prior to change in mail server.

I don't think we made other configuration changes that would account for this.

Any help in debugging this would be much appreciated.

Civi 4.2.6 Drupal 7.16 (yes we are planning to upgrade)

Headers

Delivered-To: [someaddress@somewhere.com]
Received: by [mailserverip] with SMTP id xxxx;
        Thu, 18 Jun 2015 06:29:50 -0700 (PDT)
X-Received: by [receiving server] with SMTP id yyyyy;
        Thu, 18 Jun 2015 06:29:50 -0700 (PDT)
**Return-Path: <info@ourorganization.org>**
Received: from [ourmailserver] ([our mail server ip])
        by [receivingmailserver] with ESMTPS id [receiving mail servicer id]
        for[someaddress@somewhere.com]
        (version=TLSv1.2 cipher=xxxxx bits=128/128);
        Thu, 18 Jun 2015 06:29:50 -0700 (PDT)
Received-SPF: pass (xxxxx) client-ip=xx.xx.xx.xxx;
Authentication-Results: xxx;
       spf=pass (xxxxxxxxxxxx) smtp.mail=xxx
Received: from [xx.xxx.xx.xxx] (helo=[ourwebserver])
    by [ourmailserver] with esmtpa (Exim 4.72)
    (envelope-from <info@ourorganization.org>)
    id 1Z5Zt7-0003cp-JQ
    for info@ourorganization.org; Thu, 18 Jun 2015 13:29:49 +0000
Message-Id: <E1Z5Zt7-0003cp-JQ@mailserver>
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="=_abd6aac4c1ae6db13534624f06413403"
Reply-To: "US" <info@ourorganization.org>
From: "NY-BEST" <info@ourorganization.org>
Subject: Next Week! Conference
**List-Unsubscribe: <mailto:ourbounce+u.2505.397854.8d11b042631c3439@ourserver.com>**
To: Admin User <info@ny-best.org>
Precedence: bulk
**X-CiviMail-Bounce: ourbounce+u.2505.397854.8d11b042631c3439@ourserver.com**
Date: Thu, 18 Jun 2015 09:30:08 -0400

Turns out it was a problem with exim, which was apparently changing the headers civi was sending.

After working with our host they were able to adjust exim.conf to make it work.  Here's what they did which may or may not be completely correct, and may or may not solve others' problems, but it' a start

At the very top of exim.conf add

local_from_check=false
untrusted_set_sender = true
local_sender_retain = true

Here's the reference: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-main_configuration.html

"If local_from_check is set false, the From: header check is disabled, and no Sender: header is ever added. If, in addition, you want to retain Sender: header lines supplied by untrusted users, you must also set local_sender_retain to be true.

These options affect only the header lines in the message. The envelope sender is still forced to be the login id at the qualify domain unless untrusted_set_sender permits the user to supply an envelope sender."


How to locate household for event participant We organize a yearly week where children come to our community center to play and have fun. All children are entered and linked to their household, which is also where we put all contact-information for the parents such as phone numbers and e-mail address.
We would like to send an e-mail to the parents of last year's participants, inviting them to sign up their children for this year's event but I can't figure out how to do that with the available search options.
Is this something that I can only fix with a custom search?

Have you used the "relationship" section of the Advanced Search in conjunction with the "event" section to find the related households of participating individuals?


Case dashlets - what do they show and how can I edit them? The CiviCase component includes two default "dashlets" that the user can place on their CiviCRM dashboard: 'My cases' and 'All cases'. It looks like these dashlets are showing only cases with upcoming scheduled activities. The documentation indicates that an upcoming window of 14 days is used for the main Case Dashboard displays, so I'm guessing that the same parameter applies for these dashlets.

How can I edit the configuration of these dashlets? I can't find any UI for this task, and so far I've not been able to identify any of the pre-existing report templates that can generate anything that looks like these dashlets.

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.


Create contact by external form fails (using contact form in wordpress with plugins, civi runs on drupal) I've followed this blog post to create a setup for my visitors to subscribe from a wordpress website to a newsletter in CiviCRM. CiviCRM setup is working (I have tested via API Explorer, it works as expected). I have installed Contact Form 7 and it's civicrm supporting plugins to a Wordpress (as described in the post).

I've set the plugin with keys (API and Site) that I've tested. I created a form, filled it and it sent a request to my site and returned a 403 error:
"POST /civicrm/sites/all/modules/civicrm/extern/rest.php?json=1&entity=FormProcessor&action=create_subscriber HTTP/1.1" 403

The keys are working but I can't check if they're sent correctly. To see what is being sent in the POST request, I've looked to my browser console, but there was no POST request to my civi installation.

I ran out of ideas to check. What can I be missing?

Have you tried the extension for remote forms?
I use it and it has a very nice and clean look (you can customize the css as well if you'd like)
It's not like cf so you can't add random fields but for a basic profile it would work great. https://github.com/progressivetech/net.ourpowerbase.remoteform


Case Dashboard- Cases with upcoming activities and Cases with recently performed activities lists show empty In the case dashboard (D7, Civi 5.8.2)

The lists of cases with recently performed or upcoming activities are showing no results

Even though I know there are cases that meet the criteria.

Additionally the find cases results list is not showing any links under Most Recent or Next Scheduled

I think this is a local issue. I had a problem with the site yesterday and restored to overnight backup.

Looks like no data is lost, but these activities aren't showing

UPDATE
My colleague has found 2 SQL views upcoming and most recent activities. Which were not rebuilt during the back up process.

Waiting for confirmation from client all is as expected. Will post more details as an answer later.

It looks like Case creates 2 SQL views

civicrm_view_case_activity_upcoming
civicrm_view_case_activity_recent

And in case dashboard/ find case results- these views are called on to provide upcoming and recent activity data.

When the database was restored from backup. These views had been emptied. And upcoming/ most recent activity data was showing as empty on the dashboards.

A colleague found some related SQL commands in
public_html/sites/all/modules/civicrm/CRM/Case/BAO/Case.php
function createCaseViewsQuery line 3057

And by running the related SQL Query was able to repopulate the views. These now automatically repopulate each time an activity is added.


How to Migrate Memberships Our organization currently has several membership levels and has since 2014. We are moving to a single membership level and sustaining contributions instead. Is there a way, short of an Update SQL Script to move anybody with Membership A to Membership B?

A 'way' would be to export all Membership data together with Internal ID, then manipulate the data as you want, and then delete all existing member data and then doing an Import. It may feel 'safer' than in mysql since you will be able to make whatever tweaks might be required for those 'odd case' members.


How do I override the default date range of JQuery date widget? CiviCRM 4.7.3 Currently hard coded to show 10 years in the past, and 9 years in the future.

I would like to override this and set the year range from 1965 to the current date, as described in the docs:-

http://api.jqueryui.com/datepicker/#option-yearRange

Have you tried adjusting the settings at Administer > Customize Data and Screens > Date Preferences.  to achieve what you want?


Price Set won't let me turn off auto-pay on contributions I'm using Drupal 7.43 and CiviCRM 4.7.4., I'm trying to set up a contribution page that will let users pay a one time initiation fee, and then pay their first month dues, with the option to auto-renew the dues.

I created a financial type 'Initiation', and created a membership type for the group with auto-renew optional.  I created a price set, see the attached screen shot, where I have one field with radio buttons that has 4 initiation options, each leaves the membership type blank, sets the financial type to initiation, and sets the term to 0.  I then created another radio button field with membership options, all tied to the correct membership type.

I then created a contribution page, where I used the membership tab to connect to the price set.  However, when I got to the contribution page, it has an auto-renew option for both the initiation, and the membership.

Is this a bug?  Or am I just doing something wrong?

enter image description here

Unfortunately CiviCRM doesn't cuurently have support without custom programming for doing a one time payment at the same time as setting up recurring payments.

A very simple custom CiviCRM extension built using civix could implement a postProcess hook that filters for the correct contribution page, and then creates a one time contrution from the first priceset field and a recurring contribution for the second.

Most of CiviCRM partners should be able to do this for you or refer to one who can.


System Cron not working I am using Joomla30 as the CMS on a hosted website, so I am unable to access the terminal.  I have instead tried your suggested alternative of easycron using a URL to start cron.php (I have confirmed that the url is correct for that file).  I have used the POST method and inserted the required parameters.  This doesn't work and I get a message "Internal Server Error".  The process took 1.5 seconds to return, so it can't be the maximum time limit.
The civicrm version is 5.20.0
The service provider provides CWP as the control panel, and their offering on cron is hopeless.
Please can you help me?
Regards,

Bill

Use the log viewer extension (you can install it from the extensions tab if the permissions are setup right, or see here: https://civicrm.org/extensions/civicrm-log-viewer).

It should show you what the error is and point you to what needs fixing.

The fact that it went for the 1.5 seconds suggests it's an issue with a specific one of your jobs, so you could go to your list of system jobs (Administer -> System Settings -> Scheduled Jobs) and review the logs of those that are running. Looking at the dates of when they were last run might provide some other clues. You can also manually run them to see if that provides additional clues.

If you're lucky, perhaps you just have a job enabled that shouldn't be enabled.

If you're not lucky, you might have a system configuration problem (e.g. php version, or required php module missing, etc.).


Chamber of Commerce with multiple levels and sublevels of membership I am in the process of evaluating CiviCRM for a Chamber of Commerce site that I am working on.

This specific Chamber has 4 levels of membership, each with 4 levels within it,  So:
Classic with 1 to 5 employees = $175
Classic with 6 to 10 employees = $225
Classic with 11 to 20 employees = $275
Classic with 21+ employees = $325

And then Bronze, Silver and Gold with the same divisions.

Can this be accomplished with CiviCRM?

Yes - this is fairly straightforward.  In fact, unless there are different benefits to membership, I'd only create a single membership type with different price set levels.  If there are different membership benefits, I'd consider multiple membership types.


Change quick search ACL from "Access CiviCRM" to "Edit all Contacts" CiviCRM 4.6 - client requirements - how to go about changing which ACL the Menu (including Quick Search) is tied to?

The Menu appears to be tied to Access CiviCRM - but we'd like to change this to "Edit all Contacts".

Ideally, we'd just like to hide the Quick Search - "Access CiviCRM" appears to grant all access to contacts, even if "view" and "edit" all contacts is not expressly assigned.

Time for a custom extension! I'd
hook_civicrm_navigationMenu this bad boy - just hiding it in the JS won't help you from a security perspective.


Permissions help with using action.forward token in an email I want to add a forward to a friend at the bottom of an email.  When recipient clicks they see the "enter up to 5 email address" page however if they are a non-authenticated user they get a  Undefined property error and a not authorized error.  The email is sent correctly.
Is there a way to send them to a public page and does anyone know what the  Undefined property error is.  Thanks

Civi 5.2.1 . on Drupal 7

Make sure you have 'access CiviMail subscribe/unsubscribe pages' permission set for anonymous user.


We don't use the listed content managers. Can I still use CiviCRM for contacts? We use SilverStripe as our content manager for our web page.  Can I still use CiviCRM for contact management only?  We currently have excel spreadsheets, Outlook, and Mail Chimp, and need to consolidate.

What you can do is set up a new subdomain https://secure.yourdomainname.org -
Then run a very minimal Drupal (or Wordpress) + CiviCRM on that secure.yourdomainname.org - this will provide you with all the benefits CiviCRM can offer and help you to consolidate things for your organization - without the need for your staff to learn how to use Drupal for content editing etc.

If in future you want more integration between your website and CiviCRM (esp in Drupal there are lots of integration options [e.g. views and my personal favourite: webform_civcrm module] that extend what CiviCRM can do for you) - then you can consider moving your SilverStripe website to Drupal!


CiviCRM Membership data to external Database I'm new to Joomla, CiviCRM and PHP, but looking to help with a small project.  I'm looking to grab the members data from CiviCRM and transfer (or update if users already exist) into a different database of an application (that is stand alone code/not in joomla) for users that are members of both. After the migration of existing users is done, then going forward this process would be done when a new user registers as a member in the CiviCRM. A couple questions:

Should I write PHP/SQL to go directly against the CiviCRM Contact table or utilize the CiviCRM API?
Where do I write the actual code to connect to the CiviCRM database, write SQL to grab data, etc.? Is it a Joomla extension, a function when the user clicks Submit in the member registration form in CiviCRM? I'm still trying to figure out the Joomla platform and how coding works in it.
Anything else I should consider?

Thanks so much!

You should always use the API and only if there is no other route grab the SQL table. You do not need to connect to any CiviCRM database when using the API.
You can find more information on the API in the Developer Guide: https://docs.civicrm.org/dev/en/latest/api/

Do I understand correctly that you want to send data to your other application when a membership is created in CiviCRM? If this is the case you should develop a CiviCRM extension using the post hook. You can find more information on developing an extension in the Developer Guide: https://docs.civicrm.org/dev/en/latest/extensions/ and also on the post hook: https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_post/.

The post hook will allow you to retrieve all the membership data from the $objectRef object when you catch an $objectName Membership and $op create (or probably edit as well when a membership changes?).

Alternatively you can pull data from CiviCRM using the API if synchronizing every hour/day is enough?


Make mailing labels from a list of contributions? If I do a search on contacts, the actions menu has an option to generate mailing labels:

However, if I search on recent contributions, the actions does not allow mailing labels (although it does allow generation of Thank-you Letters for Contributions):

Is there a way to add the Mailing Labels action to the contribution actions list?

You can get the same result by doing an advanced search for your contribution criteria and choosing 'display as contacts'? That will allow you to print out mailing labels as an action for the records that your recent contributions are attributed to.

Addition to the comment above:

As @petednz said you can only print mailing labels for contacts, currently. Below is a resource that may help towards developing custom actions if you want to attempt to cut out that extra step, although it may be a bit tricky because I believe most mailing label-type information is stored in the related contact table rather than in the contribution record itself.

http://wiki.civicrm.org/confluence/display/CRMDOC/How+to+Create+Your+Own+Action


What is the best way to change the intro on a Contribution page based on URL? I have a contribution page that uses values passed via URL to track specific information about the source of the contribution.

www.domain.org/civicrm/contribute/transact?reset=1&id=8&campaign=sponsorship&appeal=11&fund=child&amount=35.00

The appeal variable in the URL contains the nid (node id) for Drupal content. I would like to display image, first_name, and description of the child, pulled from this node.

Would a profile be used here or use the code extension created for tracking the source?

One way (if I understand correctly what you are after) would be to create a view that displays the node (or node's fields -- image, first_name, description) as you want it using a Block display for the view. Set up a contextual argument for the node's nid which provides a default value using PHP code and pull the appeal variable from the URL, something like this:

check_plain($_GET['appeal');

Then simply display this block at the top of the content region in your default theme for the civicrm/contribute/transact path.


How do I install the "Birthday by Month" extension in CiviCRM 4.7.31 I am a newbie and here's my first question - how do I install the Birthday by Month extension in my CiviCRM? It is not showing up in my list of available extensions. I am on CiviCRM 4.7.31

So that means it's not officially tagged as compatible with 4.7.x - and/or not reviewed (requirement for automated distribution);


Is there a way to prevent USPS address standardization from making addresses all caps in PDF letters? We recently linked our CiviCRM database to the USPS address verification system, which saves me time verifying addresses and looking up the Zip+4 codes. However, Civi now makes the addresses all caps, which is a real pain when printing PDF letters which include the name and address of the contact in the letter. I find myself copying the address out to a text editor, converting it to initial caps, then pasting it into my Civi letter. Do you know of a way to automate this in Civi?

The problem is that the standard is to have addresses all-caps, without punctuation, and with various standard abbreviations.  Some clients have asked us if we could "fix" them in bulk to be mixed case, but I point out that the standardization will simply restore the all-caps the next time someone saves the address.

Two options:

You can use Smarty to modify your addresses.  You'll first need to enable Smarty processing of mail templates.  Then you'll need to assign your token(s) to a variable and then output the variable with proper capitalization:

{capture assign=address}{contact.street_address}{/capture}{capture assign=city}{contact.city}{/capture}
{$address|capitalize:true:true}
{$city|capitalize:true:true}, {contact.state_province} {contact.postal_code}

This will work, though have fun training your coworkers on how to use Smarty.  Also, words with internal capital letters ("MacArthur Blvd") will come out wrong ("Macarthur Blvd").

You still will be missing periods on your abbreviations no matter what, however.
You can use a different address standardization tool.  Most are paid, though at least one client has had luck with SmartyStreets giving them a free account because they're a charitable nonprofit.

With SmartyStreets, you can use the extension that my coworker Tyrell built to auto-suggest standard addresses as you type.  We haven't confirmed it works perfectly for 4.6 yet (it definitely supports 4.4 and 4.5, though), but I don't know of any problem spots.  If you encounter problems, please let us know.


Check Processing - How does your organization do it? There are quite a few checks that come into our office even though we have credit cards as an option. My question to other organizations would be "How do you handle a check once your organization receives it?" I am just looking for feedback on the best workflow with civicrm.

Currently my organization has an invoice that is generated and emailed to the person after they submit the contribution page with the pay later option. That person sends a check for the amount due with the invoice and then a staff member goes to that persons contact record and updates the pending payment to completed.

Additionally during the end of the fiscal year we have a lot of payments coming through so we use the import payments page and upload csv files to add payments to users records using their external id. This however creates a new payment and does not update the pending pay later check on that users record.

I would love to hear recommendations and feedback on how other organizations process checks? Is there an easier way?

On a day-to-day basis, you can save yourself a few clicks by using Contributions > Find Contributions. Also, instead of Editing the contribution and updating the status, you would be better off using "Record Payment" by clicking on the black arrow to the left of the contribution amount:

On a similar note, when you have multiple contributions to update, streamline the payment recording process by selecting the relevant records from your search and then using the "Update pending contribution status" action:

This action opens up a data entry screen that will allow you to enter the same payment details when using the "Record Payment".


Unsubscribe links have missing slash This one has me perplexed since I haven't seen the missing link issue cause any other problems. In the Civimail unsubscribe links, there's a missing slash right after the domain URL. For example, assume a domain of mycivisite.dom. When the ubsubscribe link is generated in the emails, it looks like this:

http://mycivisite.domcivicrm/mailing/optout/yaddayadda/etc

As you can see, there's no slash between mycivisite.dom and civicrm. Where am I not looking?

-- Marcel

I would check civicrm.settings.php for the CIVICRM_UF_BASEURL to ensure it has a trailing slash.

If you update your question with your CMS and the CiviCRM version, there might be more specific advice folks can give.


How can I import e-mails to CiviCRM? I would like to be able to select and import one or more e-mails from my external inbox, into the Activities of a Case, creating a new activity. Is this possible and if yes, how? Who is familiar with this and how is it done?

Are you using MS Outlook or Gmail? We've written a couple of extensions/plugins which allow the functionality you've described.

A couple of posts will give you some background to the project

https://vedaconsulting.co.uk/outlookforcivicrm-release
https://vedaconsulting.co.uk/outlookforcivicrm-civicase

We've also recently done some work allowing you to sync CiviCRM Groups to mailing lists within your outlook client - blog post to come.

The CiviCRM extension and the outlook plugin can be found in our git repo along with installation instructions.

https://github.com/veda-consulting/uk.co.vedaconsulting.outlookapi

Thanks Erik and Pete for the nudges!


Very strange thing when trying to import contacts I am trying to import contacts into our database from a CSV file. I cannot reach the first step of the import process because I never get the input field to enter the filename of the CVS file. I just have a field telling me 2 possibilities (SQL and CSV) but this field is not editable and there is no Explorer Windows opening.
Strange because it works fine for Import Activities and there I have the Windows Explorer coming to enter the CVS filename.
I use CiviCRM 5.21.0 under WP with a laptop under Chrome, Windows 10... Same problem under Edge or under another workstation.
Any help will be much appreciated, thanks

Solved by editing the wp_config.php file by adding

ini_set('display_errors','Off');

ini_set('error_reporting', E_ALL );

after the define section.

See also this question


Issue importing multiple contributions for same contact I am trying to import multiple contributions for a contact.  I am using the following fields for the import:  contact ID, total amount, date received, and financial type.

Civi will only import the first row, and after that it says the contact ID is not valid.  I don't understand, I know I have to use the same contact ID for each row because all contributions are from the same contact.

Can anyone help me?

I suspect it’s an issue with your CSV file/format. Resave the file as CSV and try again.


How do I prepare for Developer Training in Denver? I am signed up for the developer training in Denver.  What do I need to bring to the training? Is there anything I should study before the training?

I'm going to be starting here at the developer wiki - http://wiki.civicrm.org/confluence/display/CRMDOC/Develop

and continuing here -
http://wiki.civicrm.org/confluence/display/CRMDOC/GitHub+for+CiviCRM

and I might just buy the book here, though it may be out of date- http://www.amazon.com/Using-CiviCRM-Joseph-Murray/dp/1849512264


Feature request: Relate memberships to Groups and have separate access Overview

I have a number of groups. Each group has one or more memberships. With ACL I can discern between the access to the different groups and their contacts. However, when access is granted, the accessor can change all memberships, not only the ones which are related to the group.

Example use-case

Have group Rotterdam and Amsterdam and have
separate admins for them.
Add a contact and add them to groups Rotterdam and
Amsterdam.
Add a membership.

It is now unclear where the membership belongs
   to and who is allowed to change it.

Proposed behaviour

Click on memberships.
Add membership.
Be able to choose and relate the membership from a field populated with the group a contact already belongs to. If left blank (no group selected),fall back to the current behaviour, for compatibility with existing instances.
Apply ACL to have group admins see and change only their own memberships, depicted by the relationship between the membership and the group.

I am afraid to say that this is not possible via UI configuration. You will need to setup ACL via civicrm hook(hook_civicrm_aclWhereClause) to grant access for a contact to specific group.


Paypal IPN URL is giving error Failure: Missing Parameter Hi we are using Drupal and civicrm 4.7.14.  Our client is having issues with renewing membership payments that go through on paypal (website payment standard - ID = PayPal_Standard) but are showing as Pending (incomplete) status in civicrm,
I looked at this article https://wiki.civicrm.org/confluence/display/CRMDOC/PayPal+Website+Payments+Standard+and+Recurring+Contributions
and noticed that the IPN and return URL was not set up in paypal.
But after setting up as per the guidance ( URL http://www.herdsa.org.au/civicrm/payment/ipn/2) and return URL www.hersda.org.au we received the following emails from Paypal
Please check your server that handles PayPal Instant Payment Notification (IPN) messages. Messages sent to the following URL(s) are not being received:

http://www.herdsa.org.au

If you do not recognize this URL, you may be using a service provider that is using IPN on your behalf. Please contact your service provider with the above information.

Once you or your service provider fix this problem, you or your service provider can resend the failed messages from the IPN History page. If this problem continues, PayPal may disable the IPN feature for your account.

Thank you for your prompt attention to this issue.

Sincerely,

PayPal

Please check your server that handles PayPal Instant Payment Notification (IPN) messages. Messages sent to the following URL(s) are not being received:

http://www.herdsa.org.au/civicrm/payment/ipn/2

If you do not recognize this URL, you may be using a service provider that is using IPN on your behalf. Please contact your service provider with the above information.

Once you or your service provider fix this problem, you or your service provider can resend the failed messages from the IPN History page. If this problem continues, PayPal may disable the IPN feature for your account.

Thank you for your prompt attention to this issue.

Sincerely,

PayPal

When we checked the URL it says http://www.herdsa.org.au/civicrm/payment/ipn/2 says:

Failure: Missing Parameter

module

Any help on this would be greatly appreciated.
Thank you

The "payment processor ID" is an integer, not a string - this may be your issue.  Go to Administer menu » System Settings » Payment Processor.  Next to the PayPal Standard processor you're working on, click the Edit link.  You should get a new page with a URL that looks like this:

http://dmaster.localhost/civicrm/admin/paymentProcessor?action=update&id=5&reset=1

Note the parameter near the end &id=5.  Whatever number is showing there (instead of "5") is your payment processor ID.  Change the "2" at the end of the pingback URL to match your payment processor ID.


I don't have batch entry of contributions - why? I don't seem to have the "batch entry" feature in our Civi database.  When I go to the Contributions drop down where it should appear, it's not there.  Does this mean I'm running a downlevel version of Civi and if so, how do I find out what version I have?  Thank you.

you can find the version of CiviCRM at the bottom of any CiviCRM page

it will say
Powered by CiviCRM 4.6.5. CiviCRM is openly available under the GNU AGPL License.

Please try to install the latest version of Civicrm which has the feature


Validating emails of new CiviCRM accounts? We are offering CiviCRM to Indivisible working groups and we have a concern that the unauthenticated registrations are going to be a problem. We're pretty sure that the ability to create an account without responding to an opt-in email will get targeted by trolls, since this movement is focused on very contentious political issues.

Our platform is cPanel/WHM, Wordpress, and CiviCRM. We're pretty familiar with Wordpress and want it for the public dialog features it offers. We would not consider a switch to Drupal. We own the cloud provider we use, we're familiar with DNS, email, Linux, MySQL administration, PHP development, etc.

We have tried Wordpress registration that triggers a Civi Contact creation and this does work, but it's terribly clumsy. The only benefit is that this does require email opt-in.

We are told that the right way to do things would be something like this:

accept sign ups, collect some additional custom data, and include a radio button choice - such as male/female/other.
Use a cron job to sweep all males, females, and others into a group that requires email opt-in.

We've got a CiviTeacher subscription, we've gone through a bunch of the material, but it isn't at all clear how we'd automate this. Do we need some sort of cron job to sweep the new registrations into a group?

Your question is rather complex, so this answer only addresses the registration issue. It might be better to start a new question for the other issues you face.

You can use BuddyPress for user registration - in conjunction with BP XProfile WordPress User Sync and CiviCRM WordPress Profile Sync. The registration form will have "First Name" and "Last Name" fields which will be synced to both WordPress and CiviCRM.

I'd recommend using the GitHub version of BP XProfile WordPress User Sync because there are limitations in BuddyPress which make auto-updating problematic. You'll find the relevant info on the plugin's page.

In order to capture additional data, you can use BuddyPress xProfile fields for this. There are hooks in both plugins which will allow you to sync the content of a BuddyPress field to the appropriate CiviCRM field.


Notification if a member cancels their membership? Is there a way to have Civicrm notify us, via email or any other way, everytime a member cancels their membership/auto renewal?

thank you for the help.

As petednz suggested the CiviRules extension should be able to help you with this. Are your memberships cancelled from a profile? Or in the CiviCRM user interface? Then it will certainly help you. You should test first, I do not know if people used it for cancelling memberships yet.

The CiviRules extension is here: https://civicrm.org/extensions/civirules
Documentation is here: https://docs.civicrm.org/civirules/en/latest/


What should drush cvapi NotificationLog.retry sequential=1 system_log_id=XXX do? Trying to re-run/retry some 'stuck'/"pending" notifications in the system log using:

drush cvapi NotificationLog.retry sequential=1 system_log_id=XXX

but that just produces an array with the JSON data in the log entry.

drush cvapi notification_log.retry id=748 used to do the trick.

Any ideas? Thanks.

that notification_retry api isn't core - its an extension :-)


How to search for individuals with duplicate partners We have a data import error where a large number of individuals have two partners, instead of just the one they should have. This causes errors with another system we use that is linked to civicrm. I need to delete the duplicate relationships. Thanks for your help!

One possibility is to export the Relationship civireport (under Reports - Contact Reports) and then use the power of Excel to analyze it, e.g. pivot on contact_a and relationship-a-b and have it sort by count descending, then anything with 2 or more is a duplicate.


How do I generate a custom invoice ID I need a customized invoice generation. So I thought that would be pretty straightforward: I use the civicrm_post hook on Contribution when the invoice ID is updated. Unfortunately the contribution post hook is not called when the invoice_id is updated. Any suggestion on how I tackle this now for this specific instance (and yes, I will also add a PR for a core change to call the post hook when the invoice id is updated in the contribution)?

I have temporarily solved it by making a change to the core CRM_Contribute_Form_Task_Invoice to use my function for invoice generation if the class I use can be found. Temporary fix for the customer with their current version.

What I am planning on doing as a core PR is taking out the invoiceId generation in CRM_Contribute_Form_Task_Invoice and replace it with an API call: Invoice Generate. That means anyone who wants to customize it can use the apiWrapper hook to do so. Does that make sense?


How to change CiviCRM Home to a different page (not Dashboard)? For some use-cases the CiviCRM Dashboard is not a helpful home base. Many users find it disorienting if the available dashlets are not useful to them.

So my question is simple: How can the mysite.org/civicrm be set to a different default page?

For example, I would like mysite.org/civicrm to default instead to the page shown at mysite.org/civicrm/contact/search?reset=1 so that all menu links that point to "CiviCRM Home" would end up at /civicrm/contact/search?reset=1

Since this path is hard-coded into CiviCRM, the best way to override it is probably a redirect. You could achieve this:

Using the either the redirect or path redirect module for drupal.
Using a plugin for Wordpress such as redirection.
Using Apache's mod-rewrite.

Note that there are two paths you'd need to redirect from: /civicrm and /civicrm/dashboard as Civi treats the former as an alias of the latter and links do not consistently go to one or the other.


Extended Security Release confusion. Which version? The information available about the Extended Security Release - https://civicrm.org/esr - states that "The latest release of ESR is version 5.7". However I can see via the system status page on a few of my sites that 5.13.6 appears to be available, but only as part of the Extended Security Release.
Can both of these bits of information be true?

Based on some posts in chat it sounds like both 5.7 and 5.13 are current ESR, with 5.7 supported for another month or so. The webpage seems out of date a little.


Can I use autocomplete to add users in a webform (they might be existing contacts)? I want to provide a screen for users to add some information about contacts (including custom info). Some of the contacts will be existing contacts, but some will be new. An autocomplete box would be ideal, similar to that used for creating a new contribution.  It doesn't appear that this is possible for profiles.  Can it be done with Webform-CiviCRM?  I am using Drupal.

Yes, it can be done with webforms.
Select a 2nd contact in the CiviCRM tab, check Existing Contact and add any other fields that you want to expose on the form (including the custom info). Click Save Settings.

Go to the Webform tab and click on the field that was created for the Existing Contact. There you can set the autocomplete option for the Form Widget (in the Display area):

Take note of the permissions setting in the Filters area as well so you don't end up exposing a lot of personal information unintentionally.


Problem with imported case activities not appearing in the case record Identical issue to: https://forum.civicrm.org/index.php?topic=32904.msg140249#msg140249 which was never solved. Manually inserted a case with all of the tables mentioned in the post, yet it doesn't appear under job search in CiviCRM. They show in the database, but the GUI is blank.

Was missing:
INSERT INTO civicrm_case_activity (
                            case_id,
                            activity_id
                        )
                        VALUES(
                            CIVICRM_CASE_ID,
                            CIVICRM_ACTIVITY_ID
                        );


how to create a report based on date subscription to a group? I need to have a report that shows members according to their date of being part of a chosen group. I can select by group but not by date of being in this group.

Is this possible?

(I have a special process for membership that includes a control step to fully validate the membership. We have to check some documents so there can be a delay between "civicrm membership" and our membership.)

thanks for your ideas

G

Under custom searches there is a search you can use for date range of subscription to a group. You could then create a smart group from the results if needed. Its called "Search Group Subscription by Date Range"


Retrieve Contacts with Tags in API4 I am creating some custom directory screens to display a table of contacts with associated email addresses and any tags (just a simplified directory for non-admin staff to view/sort basic CRM data).  I am using the API version 4 and can't figure out the correct way to grab both the contact AND related tag data.

When using the API4 query builder, only the "tags" table (Join to Tag) is present, and adding "tags.name" to the query does not retrieve anything:

$contacts = \Civi\Api4\Contact::get()
  ->setSelect([
    'id',
    'first_name',
    'last_name',
    'job_title',
    'display_name',
    'tags.name',
  ])
  ->addWhere('id', '=', 865)
  ->setLimit(25)
  ->execute();

yields (though this user definitely has a tag):

[
  {
    "id": "865",
    "first_name": "Sean",
    "last_name": "Kirkpatrick",
    "job_title": null,
    "display_name": "Sean Kirkpatrick",
    "tags": []
  }
]

This seems to be pulling info just from the table civicrm_tag instead of both civicrm_tag and civicrm_entity_tag.  In SQL, I can get the data I want with this query:

SELECT b.id, b.display_name, c.name
FROM civicrm_entity_tag a
  join civicrm_contact b on a.entity_id = b.id
  join civicrm_tag c on a.tag_id = c.id

In API3, getting this data is fairly simple:

$result = civicrm_api3('Contact', 'get', [
  'sequential' => 1,
  'return' => ["id", "first_name", "last_name", "tag"],
]);

yields:

{
    "is_error": 0,
    "version": 3,
    "count": 25,
    "values": [
        {
            "contact_id": "1",
            "first_name": "",
            "last_name": "",
            "contact_is_deleted": "0",
            "tags": "",
            "id": "1"
        },
        {
            "contact_id": "2",
            "first_name": "Sean",
            "last_name": "Kirkpatrick",
            "contact_is_deleted": "0",
            "tags": "Individual Artist",
            "id": "2"
        },
        {
            "contact_id": "3",
            "first_name": "Test",
            "last_name": "Subject",
            "contact_is_deleted": "0",
            "tags": "Volunteer,Individual Artist,Newsletter",
            "id": "3"
        },...

Any ideas on what I'm doing wrong with API4?  I'd rather not have a random v3 call among all of the other v4 calls, but maybe that doesn't matter.

It might not be implemented completely yet. This bug report is slightly different (join from tag to contact) but suggests it's maybe not complete: https://github.com/civicrm/org.civicrm.api4/issues/128


Error: Cron Not Running For several months we have been seeing the error "Cron Not Running". I have repeatedly configured crontab for the root user, and currently have the following:

0 * * * * wget -O - -q -t 1 https://<redacted>/cron.php?cron_key=<redacted>
0 * * * * drush -r /var/www/html/drupal -l https://<redacted> civicrm-api -u <redacted> job.execute

I have followed the Managing Scheduled Jobs documentation each time, but still cannot figure out what I am doing wrong.

What might I check to make sure Cron is configured correctly?

I may have solved this with the following steps.

create a drush alias for the site
configure crontab using the drush alias

Drush alias (~/.drush/example.aliases.drushrc.php)

<?php

    $aliases['example.com'] = array (
        'uri' => 'example.com',
        'root' => '/path/to/drupal',
    );

?>

Crontab

0 * * * * drush -u 1 @example.com civicrm-api job.execute auth=0 --out=json


"Cron not running" (but it is), trying to use wp-cli in crontab, with WordPress Running CiviCRM 4.7 on WordPress 4.7.3, hosted on a shared Linux server at 1and1.com.

CiviCRM System Status screen says "Cron not running" even though it is.

Trying to use wp-cli in crontab

wp help at the command line brings up the list of wp-cli commands.

Ran wp --info and got

PHP binary: /usr/bin/php5.5-cli
PHP version:    5.5.38
php.ini used:   /usr/lib/php5.5/php.ini
WP-CLI root dir:    /usr/share/php/wp-cli
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 1.0.0

So tried this in crontab (sensitive values changed):

*/2 * * * * /usr/share/php/wp-cli --user=cronuser --url=http://mydomain.org --path=/myserver/homepages/34/d1111111/htdocs/mysite/ civicrm api job.execute auth=0

Didn't seem to work, so I tried this from the command line:

/usr/share/php/wp-cli --user=cronuser --url=http://mydomain.org --path=/myserver/homepages/34/d1111111/htdocs/ysite/ civicrm api job.execute auth=0

And got:

/usr/share/php/wp-cli: Is a directory

There is a wp-content/plugins/civicrm/wp-cli directory. I tried using the full path to that instead of /usr/share/php/wp-cli but the same results.

Any suggestions would be welcome!

whereis wp showed wp: /usr/bin/wp, so I tried that in crontab and the problem appears to be solved!

System Status no longer says cron is not running and the "Last Run" column on Scheduled Jobs listing shows that the jobs have run.

successful crontab entry:

*/15 * * * * /usr/bin/wp --user=cronuser --url=http://mydomain.org --path=/myserver/homepages/34/d1111111/htdocs/mysite/ civicrm api job.execute auth=0


Only one registration per contact per event Civicrm 5.*, any platform

I will keep looking in documentation, but if someone can give me an answer as to why a unique contact cannot register > 1 time per event, I would appreciate it - I can imagine it may be due to DB Schema issues. I am not talking about registering multiple participants using 1 email address but allowing a contact to register two or more times. I do know it would mess up some of my reports!
thanks

You can also set up a Price Set option so one person can buy multiple tickets while only entering their own details once.


Upgrade from 4.6.10 to 4.6.16 states DB already upgraded to 4.6.10 Using WP 4.5.2 - We followed the steps to upgrade and when we ran step "4. Run the Upgrade script" we get the following error - Can not do this Database is already upgraded to 4.6.10.
Everything seems to work ok... but it still shows the version at 4.6.10.  Does this mean I have the 4.6.16 code but the DB is still at 4.6.10?   How do I get this completed?  I feel like I'm stuck in the middle somewhere?

Make sure your old codebase has been sufficiently removed (not just renamed) so that there is no chance it is still referencing old files


How to install a security update I need to upload the recent security update to CiviCrm 4.6.15, but I do not know how to or where to go to do same.  I tried under extensions update but it did not work.

The Wiki has good instructions for each CMS:

Upgrading CiviCRM for Drupal 7
Upgrading CiviCRM for Drupal 6
Upgrading CiviCRM for WordPress
Upgrading CiviCRM for Joomla

If you are using Drupal/drush, you may also be interested in this thread.


Upgrade to 4.7 breaks custom php After upgrading to 4.7.2 from 4.6.11 I no longer can load any of my custom_php reports or searches. The custom folder location is not inserted into the include path

  Fatal error: require_once(): Failed opening required
  'CRM/Report/Form/Member/NWTAByUnit.php'
  (include_path='.:/home/mysite/public_html/test/sites/all/modules/civicrm:/home/mysite/public_html/test/sites/all/modules/civicrm/packages:.:/home/mysite/public_html/test/sites/all/modules/civicrm:/home/mysite/public_html/test/sites/all/modules/civicrm/packages:/home/mysite/public_html/test/sites/all/modules/civicrm/vendor/phpseclib/phpseclib/phpseclib:.:/usr/lib/php:/usr/local/lib/php:/usr/local/php56/lib/php')
  in
  /home/mysite/public_html/test/sites/all/modules/civicrm/CRM/Core/Controller.php
  on line 451

The location is set at /home/mysite/public_html/test/sites/all/modules/files/civicrm/custom_php

Running Drupal 7.41 and PHP 5.6. Everything else in the upgrade seemed to work fine. All custom data is available and the extensions directory is working correctly.

I've tried to set the path both via the settings files and the web interface. The web interface does accept the path as valid and sets it correctly.

This does appear to be a legitimate issue, so I've created a bug in the tracker here: https://issues.civicrm.org/jira/browse/CRM-18079

Generally it's better not to use this folder for maintainability reasons - it is better to use an extension - but since it is an advertised piece of functionality, it should work as intended!

Thanks for reporting this.


How much symfony do I need to learn if I am going to be a CiviCRM core hacker? I'm bit of a CiviCRM noob, but I'd like to help out and fit with the current patterns. I keep encountering bits of Symfony in core code and it seems well respected... and pretty cool.

So far I have identified these in the core:

Dependency Injection containers
Event Dispatcher magic

and I'm sure there is more.

The cool build kit tools seem based on the console component too.

So the question is:

How much symphony magic, and which bits, are worth understanding?

If that question is too open: Are there bits that have been rejected for another approach?

You must be digging pretty deep if you're running into Symfony. Its introduction into the stack is fairly new. CiviCRM has been around for over ten years, so some of the technologies are pretty hip and new (like Symfony) and some of the technologies, like Smarty or PEAR DB... well, not so much.

I think I've run into Symfony in some code around events (like... programming events, not CiviEvents) and maybe in some of the new command line tools. If your primary concern is fixing bugs, you may never even see it, as many of the bugs tend to live in older code.

Bottom line: It's a technology the core team would like to adopt, but adoption is happening slowly. I wouldn't say that Symfony experience is a prerequisite for developing CiviCRM any more than AngularJS experience is.


How to remove "Report URL" from emailed PDF reports header? I would like to remove the link from a report email header. Is it easy to achieve? thanks

It seems to be hardcoded (https://github.com/civicrm/civicrm-core/blob/master/CRM/Report/Form.php#L3405), but you could use hook_civicrm_alterMailParams and do something like (untested - you might have to adjust the regex):

if ($params['groupName'] == 'Report Email Sender') {
  $params['html'] = preg_replace('/^Report URL.*$/', '', $params['html']);
}

Another option which is maybe simpler is just completely replace the html in the hook, if you don't really need the other text either:

if ($params['groupName'] == 'Report Email Sender') {
  $params['html'] = 'Insert your own html';
}


Civi dashboard and menus won't display after install I'm attempting to get an instance of Civi up and running on a WordPress site. The install says it goes fine, but when I try to enter the dashboard, I get this:

I did a test install of WP and civi on a different site using the same host and got no problems. I checked the PHP settings against each other and they are the same.

The System Status: Error link takes me no where, nor does the Configure Your Dashboard link. By which I mean the URLs they give are just

http://mydomain.website/civitest2/wp-admin/admin.php?page=CiviCRM#
http://mydomain.website/civitest2/wp-admin/admin.php?page=CiviCRM&q=civicrm/a/#/status

When I click on them, the page just loads for a while and I'm taken to this screen:

Update:

I've tried visiting civi features by inputing the URLs directly, for example ?page=CiviCRM&q=civicrm%2Fadmin%2Fconfigtask&reset=1 to reach the configuration checklist. I suppose the problem then is that the CiviCRM Dashboard and Toolbar do not show up when I try to access Civi. Another interesting thing is that Civi's CSS does not render when I'm in the backend. The image below is my contact group manager:

Update 2: As requested I checked he JS Console and hoo boy are there a lot of errors! 64 in all. Mainly 404 errors. For instance, jquery.min.js fails to load because the server responded with 404. It's the same story for most of them. Nearly all of the errors are 404s, but there are a few that read Uncaught TypeError which I'll reproduce here:

Uncaught TypeError: Cannot read property '_defaults' of undefined
    at admin.php:8
    at admin.php:102
Uncaught TypeError: $ is not a function
    at admin.php:7
    at admin.php:146
Uncaught TypeError: CRM.$ is not a function
    at admin.php:517

For all the 404 errors can navigate to that in my file in FTP and look at it, but cannot access them through my browser, which is something I can do on installs that work. For example /wp-content/plugins/civicrm/civicrm/bower_components/font-awesome/css/font-awesome.min.css is present in my files, but I can't navigate to it in browser.

Looking at the permissions to get to that file, every directory is 755 and the resource itself is 644.

Update

I checked settings.civicrm.config and found the global variable $civicrm_root was set correctly to /home/USER/public_html/civitest2/wp-content/plugins/civicrm/civicrm/. I went to the Resource URLs settings page and replaced the CiviCRM Resource URL which was defaulted to [civicrm.root]/ with http://mydomain.website/civitest2/wp-content/plugins/civicrm/civicrm/. On refresh, the menu and dashboard were there.

This could have been discovered faster had I bothered to read the URLs more intently and see that it was duplicating my domain root.

From what you describe, there are some javascript issues in your page, possibly because the URL of some required resources is misconfigured.

I'd inspect the URLs related to errors like the 404 for jquery.min.js you report, and compare those URLs with the actual locations on disk of the same files.

This can happen many ways -

CiviCRM was incompletely uploaded, or
CiviCRM is configured to request files at an incorrect path (see note below), or
CRM-17633: WordPress in its own directory breaks CiviCRM, or
the file is somehow named jQuErY.mIn.Js, or
permissions don't allow you to access some resources (as JohnFF suggested), or
some .htaccess or nginx or apache config prevents access, or
... something ...

"CiviCRM is configured to request files at an incorrect path"

As of 4.7, Civi needs configuration in two places to get things working right! To check this, verify both the CIVICRM_BASEURL setting in civicrm.settings.php and the resource URLs in CiviCRM UI at Administer ➡ System Settings ➡ Resource URLs (wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fsetting%2Furl&reset=1).

If the files are at the correct URL but inaccessible, your webserver error logs should show information on why the webserver doesn't want to serve that file to your browser.

Hope that helps :)


Submit Button Hidden on Reports for adding contact to group On CiviCRM 4.6.7 on Drupal 7, under the report settings, there is an option to add the report results to a group. There is no button present for submitting it.

Upon reviewing the code I see this line

 <input style="display: none;"
 name="_qf_ContributionDetail_submit_group" value="" type="submit"
 id="_qf_ContributionDetail_submit_group" class="crm-form-submit">

The css has an element style of display: none;

I have overwritten this in my custom CSS style to make it display:block with a width, but the button has no text.

What's going on?

The submit button is hidden because the user does not need to click it. When selecting a group you will be instantly presented with a confirm dialog:

If this is not working for you, you might be experienceing javascript errors on your website. Try this troubleshooting guide.


Attach a file to a donation I'd like to be able to attach receipts, notes, and other documentation to a contribution. Is this possible?

In a word, yes.  You'll have to implement this as custom field sets, which is easy.  That's menu option Administer/Customize Data and Screens/Custom fields.  You can have a custom type of 'file' as a custom field, which then allows you to attach a file.  You can have as many of these fields as you require, and you can set the custom field set as applying to contributions only.


How can I make a custom report that displays info for three contacts based on relationships? I've used Civix to make a duplicate of the default Relationship report, and I'd like to extend it to show basic information for a third contact. So we have Contact A and can specify criteria about the relationship with Contact B, and now I'd also like to specify criteria about the relationship with Contact C, if there is such a contact.

Civix helped generate a custom report extension and when I edit the PHP file, I can figure out how to duplicate some lines to produce the interface for the new columns and filters for Contact C.

The trouble I am having is in figuring how to properly name the duplicated array keys and variables so that I don't get "Unknown column" or similar SQL errors when I try to run it.

The goal is to be able to end up with a simple list based on a primary contact, showing (for example) their spouse's name and their child's name (given a relationship of "Spouse of" and "Child of"). If they have no spouse/child relationships then those columns would be blank.

Rather than hardcode SQL I would like to use the interface to allow selections of relationships for flexibility (and in case anyone else would have a use for it) but I am having a little difficulty as it is my first solid attempt to make a custom report with Civix.

At the moment these particular lines of the extension seem to be causing ** Unknown column 'relationship_type_c_civireport.label_a_c' in 'field list'] and DB Error: no such field errors. If anyone has a pointer, I would appreciate it!

When starting on reporting I did a lot of debugging in my report and in the parent class to find out what was happening.

Your specific error: I strongly suspect 'relationship_type_c_civireport.label' should be 'relationship_type_id_c....' but I am not sure.

Check if there is a postProcess function in your class. If there is, it should call the parent buildQuery function to build the Query, you can check here how the query is build step by step.

Also, the select part of the query is build in the select function from $this->_columns. If you debug the values of $this->_columns you should be able to find your problem. Happy hunting! And keep going, it is hard work at first but you will get there.


How many levels of security can I set for a data base of 12000 people with their confidential data? I am planning to set up a database of 12000 members. The database will include considerable amount of personal and confidential data.
How many levels of access can I set up - each level graded to allow access up to specified level of information?

Levels of access is tricky. Generally it is best to think of it in a id, ego, superego type of access. I would recommend at least 3 from most restrictive to least. See/edit own data, See other's data, See/Edit other's data.

If, for example you were to create a fieldset called 'super_secret_stuff' I would recommend the following approach. By default remove the privilege  'CiviCRM: access custom data' from all non-admin users. Then, only give the requisite groups access to 'super_secret_stuff' using the ACL Dashboard(q=civicrm/admin/access) within CiviCRM. This is where it gets tricky.

Generally speaking, if users have access to a specific set of custom data, and can see (and edit of course) other user's profiles then they will be able to see the 'super secret stuff' for those users. To restrict this, you can uncheck the privilege 'CiviCRM: view all contacts' and 'CiviCRM: edit all contacts' in the ACL Dashboard.

Of course, disallowing all users from seeing each other's basic information can be onerous if that is supposed to be an aspect of your system. In order to do this you need to start going behind the scenes. Probably the easiest way to do this is to use the hook_civicrm_aclGroup. Using this hook you can specifically grant access to tables that you want your users to be able to see across the database (i.e. basic contact info but not 'super_secret_stuff'). Look at the examples there.

Another hook you could use is the hook_civicrm_buildForm
where you check to see if the form being looked at is 'super_secret_stuff' and if so if the userID of the profile == current user id.

In the buildform example use

function dbhooks_civicrm_buildForm($formName, &$form) {
    if ($formName == 'your custom form_name' ) {
        if ($session->get('userID') !== $form->_contactId){
            CRM_Core_Error::fatal(ts('You do not have permission to access this page, user:' . $session->get('userID')));
        }
}


Set drupal taxonomy terms in the civicrm custom option fields I have created a civicrm custom dropdown field in Drupal 7.  I have a excel spreadsheet contains some data in three columns. To which i need to import into civicrm and then the first column should be display in the custom dropdown field.

So, i have two opinions at this stage

1) I can create a custom table for Civicrm and then import the values from spreadsheet. OR

2) I can create taxonomies terms having 3 fields in Drupal.

After, that it should show it's values in the civicrm's custom dropdown field.

But i couldn't able to find out the correct way to implement any of the approaches. Please suggest me the steps to implement either of those approaches or any new approach which will be quite easy to implement.

You should describe more these 3 columns as it's not clear what type they are and how you need to use them, but I would create them as either options on a custom field or as tags

tags have 2 "usable" columns (the name and a description), optionvalues have 4 (label, value, name, description)

you can import them from the command line using the api or use an extension.


Bookkeeping in 5 Minutes a month With all the integrations out there, there's no reason bookkeeping should take more than five minutes a month, without a bookkeeper.

Does anyone have a system for this that doesn't require lot's of manual work, and still imports all the important information into Quickbooks?

I have some ideas, but want to hear from you first.

thanks in advance

I agree with what you said at the start of your paper, "QB looks at money from the perspective of the business (the primary concern is where the money is coming from, going to, profit and loss, health of business, successful/failing programs).  The people who gave the money are only incidentally important.  Civi (or any CRM) is primarily dealing with people."
Because of this...We do not export our donor data to QuickBooks. We do not see the need to record who gave the money in both places. QB only holds the deposit information--when, how much and what campaign/fund the deposit is split into.
In Civi we have Financial Type to mark our Master categories:
Donations (Tax deductible),
Tuition (Not tax deductible),
Event Fees (Not Tax deductible),
This is useful for reports where you want to see all tuition payments for x time period
Line items are our fund accounts:
General Fund,
Capital Campaign,
Scholarship,
Event ABC,
This allows us to drill down into more detail as needed
In QBs
We use:
Customer = Fund accounting, this allows us to show income and expenses tied to our fund accounting. We can demonstrate to donors how much came in and how those funds were spent according to their designation.
Class = Functional Expense tracking, with each expense we apply it to Program, Management and Fundraising. At the end of the year when we do our 990, everything is already labeled. No need to estimate.
Department = Budget categories that different staff oversee.
This allows us to overcome QBs inability to truely handle fund accounting.
YES, as you pointed out we have to use a special report to split the deposits into the different funds/campaign before entering it into QB. We have developed a Drupal View that helps our Accounts Receivables more easily create the QB deposit entries from CiviCRM.
For my feedback: I am fine with your idea as an extension, it looks well thought out for your case use. I would make the argument that your paper starts off with the correct premise but then turns from that and treats QBs as a CRM--something it is not.
Thanks for taking the time to think through and write out your ideas on improving Civi!


Import Contribution - last step no longer goes to 'Summary / Error' report We recently updated to CiviCRM 5.23.1

In the prior version when running it would run through the 4 documented stages
 1. Upload Data
 2. Match fields
 3. Preview
 4. Summary

But in 5.23.1  the summary stage no longer displays

As Summary is still staged as Step 4 - this looks like a bug - is this the case, and is there a fix to it?

How large is your import? It seems to happen on larger imports and this has occurred on and off in Civi for some time in my experience. Something is causing it to hang.

You can still get to the summary page by replacing Preview with Summary in the URL. That will show you any records that could not be imported, etc. You can also look at MySQL and check that the import is done if the temporary table (civicrm_import_job...) is no longer there. If the table is still there, search status = NEW to find records not imported.

Yes, this is a workaround but it will get you on your way for the time-being.


Mass deletion of bad addresses I have several hundred individual records that have bad mailing address and have tagged them in CiviCRM. How can I delete these from the system in bulk? I have tried Civi's upload process by leaving the address blank and using the overwrite duplicate setting, hoping this would blank out their address, but that has no effect.

Thank you.

If you completly want to delete the addresses, you could also delete them from the database with a query like DELETE FROM civicrm_address WHERE location_type_id = xx AND contact_id IN (SELECT entity_id FROM civicrm_entity_tag WHERE entity_table = 'civicrm_contact' AND tag_id = yy)

Where xx stands for the id of the location type you want to delete
and yy is the id of the tag.


Change order of custom profile fields on Drupal register page I have created a custom profile in CiviCRM (Administer > Custom Data and Screens > Profiles) designated to be displayed on the Drupal registration page (see second screenshot), for users creating a new account. Initially, the CiviCRM profile was listed after the Drupal core elements: username, password, etc. But now the custom CiviCRM profile is displayed first.

How can I rearrange the order? I looked in Drupal blocks and do not see anything regarding these and I've tried assigning an order of "50" to no avail.

CiviCRM 4.7.27, Drupal 7

In the screenshot below, you can see that the "Tell us more" and darker text section is the CiviCRM custom profile and what follows it are the Drupal core elements that I want to be at the top.

You need to use a hook_form_alter function in Drupal to accomplish this. In doing so, you can modify the weight of the items to appear below the existing form items.

function yourmod_form_alter(&$form, &$form_state, $formID) {
  if (($formID == 'user_register_form')) {
    $form['civicrm-profile-register']['#weight'] = somevalue;
  }
}


Allow Website URL field without "http://" string Is there a way to allow a user to input urls into the website field of a contact without adding http:// or https:// to the string?

I can't find a way to change settings for this field.

A number of my users want to manually enter web addresses or sub-domains and they get rejected by the validation.

Alternatively, is there some pre-process hook or extension that can handle insert the correct protocal as needed?

Unfortunately, there is no setting for this. You would indeed need to create an extension that pre-fills the field in teh way you need it. If you have not done so yet, you may have a look at the CiviCRM Developer Guide and/or get in contact with other developers: https://chat.civicrm.org/civicrm/channels/dev-newcomers


User Profile Self Update I want a user to come to my website and fill out the contact form depending on whether they're individual volunteer or an organization. Once they submit that form, it should create a username/password for the user so that they can visit the site and update their profile or preferences like interested in helping homeless, kids, seniors depending on whether they're individual or organization.

How do I create that form? Where do I begin? What components do I need to enable for this work?

Any help will be highly appreciated.

You have two options for this.

One is to use CiviCRM profiles.  There's an instructional video and a section in the profiles documentation on using profiles as a form.

You can also use Webform-CiviCRM integration (if on Drupal) or Caldera Forms with CiviCRM integration (if on WordPress).  These will give you more flexibility on the look and feel, and are generally more powerful - but from what you describe, you can use either.